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

[chain] Add OTEL tracing functionality + Jaeger #2434

Open
zivkovicmilos opened this issue Jun 25, 2024 · 10 comments
Open

[chain] Add OTEL tracing functionality + Jaeger #2434

zivkovicmilos opened this issue Jun 25, 2024 · 10 comments

Comments

@zivkovicmilos
Copy link
Member

zivkovicmilos commented Jun 25, 2024

Description

This task concerns setting up otel tracing functionality (off by default) for the gnoland chain binary.
We should have tracing in:

  • VM execution flows
  • Transaction processing workflows
  • JSON-RPC layer
  • Mempool processing layer
  • ...

We should set up a workflow that gathers tracing metrics on each master push, during a supernova run, or during the execution of the testing suite.

Additionally, we should be able to utilize Jaeger (suggestions welcome) for viewing the tracing results.

cc @ajnavarro @mvertes

@mazzy89
Copy link
Contributor

mazzy89 commented Jun 25, 2024

So excited to see observability to the next levels.

@sw360cab
Copy link
Contributor

OTEL and Jaeger appear overlapping to me.

Basically we would use Jaeger only for viewing traces?

@ajnavarro
Copy link
Contributor

@sw360cab AFAIK jaeger is only the visualization tool right now, instead of being the entire framework for tracing. The client for tracing is OTEL now.

@sw360cab
Copy link
Contributor

Part of #2618

@sw360cab
Copy link
Contributor

Blocked by @gfanton working on pure tracing in Gno.land

@hthieu1110
Copy link
Contributor

FYI: I'm integrating with Tempo instead of Jaeger, wdyt ? (it's more lightweight and simpler than Jaeger if we don't need strictly specific functionalities from Jaeger) @zivkovicmilos

@hthieu1110
Copy link
Contributor

hthieu1110 commented Feb 28, 2025

@zivkovicmilos I've setup the tracing system using otel/tempo and configure a grafana dashboard for tracing.
Now I'm trying to integrate the flows mentioned above.

VM execution flows
Transaction processing workflows
JSON-RPC layer
Mempool processing layer

Could you please clarify a bit more about what should we trace for each of those flows ? thanks

@sw360cab
Copy link
Contributor

FYI: I'm integrating with Tempo instead of Jaeger, wdyt ? (it's more lightweight and simpler than Jaeger if we don't need strictly specific functionalities from Jaeger) @zivkovicmilos

Due to the fact that they should be both (Jaeger and Grafana Tempo) aligned with OTEL, I don't have a preference.
The OPS part in the monorepo is just a POC. What we are trying to demonstrate is that our codebase is aligned with OTEL tracing functionality.

The way anyone will use the feature is not tied to any other technology. In this POC I would rather show how much flexible OTEL could be, so that Tempo and Jaeger could be interchangeable.

@hthieu1110
Copy link
Contributor

@sw360cab I see. Thanks :)

@hthieu1110
Copy link
Contributor

hthieu1110 commented Mar 5, 2025

@sw360cab @zivkovicmilos I've integrated OTEL tracing for Consensus flow in #3815

Could you pls take a look to see if it's ok that way ? Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

No branches or pull requests

6 participants