Add OpenTelemetry instrumentation to API/Agent gRPC interface #342
Replies: 2 comments 1 reply
-
|
I think the general approach should be to isolate the client-server interaction between the Cluster API and the Cluster Agent as a starting point. There is a gRPC Otel library with examples here: https://github.com/open-telemetry/opentelemetry-go-contrib/tree/main/instrumentation/google.golang.org/grpc/otelgrpc/example. SigNoz can be deployed either via Docker or Helm as shown here: https://github.com/SigNoz/signoz?tab=readme-ov-file#deploy-using-dockerself-hosted I'll give this a shot sometime this week. |
Beta Was this translation helpful? Give feedback.
-
|
It may be worth investigating ClickStack, which came out after starting this discussion, as an alternative to SigNoz. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Overview
To make debugging in development and production easier we would like start instrumenting our internal code with OpenTelemetry data. To start with, we will add instrumentation to the Cluster API/Cluster Agent gRPC interface and use that as a model for the future. As part of this project we will also write up how to set up SigNoz locally to visualize the otel data and post it to the GitHub wiki.
Motivation
In the process of debugging #330 we realized that the distributed nature of the request made it difficult to debug so we want to take a step towards making these types of issues easier to debug by instrumenting our code with OpenTelementry data. Rather than instrumenting all of the code all at once we want to add it in once place to serve as a proof-of-concept and as a reference implementation for the future.
Goals
Non-Goals
We don't want to instrument everything everywhere all at once.
Design Overview
logging.levelconfig flag to detect "debug" mode:https://github.com/kubetail-org/kubetail/blob/main/modules/shared/config/config.go#L113
Open Questions
No response
Future Work
No response
Beta Was this translation helpful? Give feedback.
All reactions