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

Support for Grafana ClickHouse Datasource with OpenTelemetry servicegraph connector #1071

Open
Wudadada opened this issue Nov 28, 2024 · 4 comments
Labels
datasource/ClickHouse type/bug Something isn't working

Comments

@Wudadada
Copy link

Hi team, are there any plans to support service topology generation, similar to how the Tempo plugin generates service topology from metrics produced by OpenTelemetry Collector Contrib’s servicegraph?

Service topology helps visualize service dependencies and interactions, making it easier to monitor performance and identify issues.

grafana/tempo's service graph: https://github.com/grafana/tempo/tree/main/modules/generator/processor/servicegraphs
opentelemetry-collector-contrib's service graph connector: https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/connector/servicegraphconnector

@Wudadada Wudadada added datasource/ClickHouse type/bug Something isn't working labels Nov 28, 2024
@SpencerTorres
Copy link
Collaborator

I would need to see how the service graph data gets stored. It would be nice to have it supported, but this may be more of an otel related question than Grafana. Once the data is in ClickHouse then we can consider linking it all together. The generation process itself is usually part of a different binary, and not something we can add to the plugin as-is.

@Wudadada
Copy link
Author

Wudadada commented Jan 8, 2025

Hey, @SpencerTorres , I’m sorry I didn’t describe it clearly. What I meant is that the OpenTelemetry servicegraph connector translates traces into several metrics, then clickhouse exporter stores these metrics in clickhouse, and Grafana’s plugin uses these metrics to generate a service topology graph. Therefore, I believe plugin support from Grafana is still required.

@SpencerTorres
Copy link
Collaborator

Oh nice that is convenient. If you have time could you provide some sample queries? They don't even need to run, I'm just curious what they would roughly look like in terms of filtering by metric type/name. I recall trying to force data to appear in the graph panel, but it requires a special format too. If you know what the final variable names/types would need to be to render data in that panel, perhaps we could add a pre-made metrics query type for it

@Wudadada
Copy link
Author

Wudadada commented Jan 9, 2025

Oh nice that is convenient. If you have time could you provide some sample queries? They don't even need to run, I'm just curious what they would roughly look like in terms of filtering by metric type/name. I recall trying to force data to appear in the graph panel, but it requires a special format too. If you know what the final variable names/types would need to be to render data in that panel, perhaps we could add a pre-made metrics query type for it

Here’s what I know so far:
1. The servicegraph connector translates trace data into specific metrics. You can refer to its official documentation for more details:
https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/connector/servicegraphconnector
Image

2.	The generated metrics are sent to Prometheus. Grafana’s Tempo plugin queries these metrics from Prometheus and uses the node graph panel to generate the service topology graph. You can find detailed configuration instructions at:

•	https://grafana.com/docs/grafana/next/datasources/tempo/configure-tempo-data-source/#service-graph
•	https://grafana.com/docs/tempo/latest/metrics-generator/service_graphs/custom-service-graphs/

Image

As for the logic behind generating the topology graph and other technical details, I will try to spend some time reviewing the source code. However, due to limited availability, I may not be able to provide immediate answers. I hope this information helps.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
datasource/ClickHouse type/bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants