Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Prometheus metrics support to the decoder #15

Closed
2 tasks
dvdplm opened this issue Feb 10, 2024 · 4 comments
Closed
2 tasks

Add Prometheus metrics support to the decoder #15

dvdplm opened this issue Feb 10, 2024 · 4 comments
Labels
crate: trace_decoder Anything related to the trace_decoder crate. good first issue Good for newcomers

Comments

@dvdplm
Copy link
Contributor

dvdplm commented Feb 10, 2024

In the wake of plonky2 Issue #1513, add metrics support to the decoder as well.

  • Investigate an initial set of metrics we want to track
  • Add prometheus support, including configuration and sane defaults
@BGluth
Copy link
Contributor

BGluth commented Feb 10, 2024

Yeah Prometheus metrics would be very nice to have (and probably low-effort to setup).

@Nashtare Nashtare transferred this issue from 0xPolygonZero/proof-protocol-decoder Feb 13, 2024
@Nashtare Nashtare added the crate: trace_decoder Anything related to the trace_decoder crate. label Feb 13, 2024
@pgebheim pgebheim added this to the Cleanups and Misc. milestone Mar 11, 2024
@Nashtare Nashtare modified the milestones: Misc., Performance Tuning Jul 12, 2024
@Nashtare Nashtare added the good first issue Good for newcomers label Sep 1, 2024
@0xaatif
Copy link
Contributor

0xaatif commented Sep 11, 2024

I think "decoder" in the title refers to evm_arithmetization, NOT e.g trace_decoder.

I understand we're interested in the following metrics, broken down by block, or by transaction within evm_arithmetization:

  • witnesses_proved
  • cpu_halts
  • cpu_trace_pads
  • trace_lengths

So I'm a bit skeptical of using Prometheus for the above, which I think shines with measurements like CPU % or throughput, perhaps broken down by a closed set - is this a hard requirement from ops?

Reading the prometheus docs:

When does it fit?

Prometheus works well for recording any purely numeric time series. It fits both machine-centric monitoring as well as monitoring of highly dynamic service-oriented architectures. In a world of microservices, its support for multi-dimensional data collection and querying is a particular strength.

And looking at the API for the prometheus instrumentation crate, we can

  • register a metric.
  • Metrics include, most relevant to the wording I've listed above, a CounterVec.

My preference is we go more "Observability 2.0", and canonical log what we need using tracing's structured logging.

@muursh
Copy link
Contributor

muursh commented Sep 12, 2024

Prometheus is a hard req.

@atanmarko
Copy link
Member

Replaced by #797, where further discussions will follow.

@github-project-automation github-project-automation bot moved this from Backlog to Done in Zero EVM Nov 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
crate: trace_decoder Anything related to the trace_decoder crate. good first issue Good for newcomers
Projects
Status: Done
Development

No branches or pull requests

7 participants