-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Opentracing support for k8s / OpenShift infrastructures in Che #10288
Comments
I agree to the separation between logs and traces. |
agree, so for correlation between logs & traces it would be required to put the |
trace_id was added to the logging epic #10290 as an optional custom param that can be added to the log's record. |
If there's anything you need regarding Jaeger, let me know. |
will close in favor of #10298 |
Introduction
Opentracing is vendor-neutral APIs and instrumentation for distributed tracing which allows to switch tracer implementation with O(n) complexity (e.g. switching between jaeger & zipkin is just a mater of updating the tracer config & no need to update opentracing related code).
Motivation
When opentracing support would be added to Che this would allow to collect metrics like request duration / error rate easily. This would be particularly useful for multi-user use case and would be also handy for single-user in order to identify potential bottle-necks in the system.
Demo
A short demo with collecting metrics between che-starter and che-server using zipkin as a tracer - https://youtu.be/4tWeH8JqQQk
Tasks
Q/A
Is Tracing is the same as logging ?

No. Tracing is mostly focused on metrics like
request duration
/error rate
in the microservice environment with possibility to identify bottle-necks across the system.Should tracing (instrumentation) be
always
separate from logging ?Every case is a case, but in general it is common to separate
tracing
fromlogging
.Correlation between logs and traces happens by passingtrace_id
to every log entry. On the other hand, frameworks like Spring Cloud provide a possibility to record log entries within the relevant tracing spans. To put it in a nutshell, it depends on the application. If performance is critical adding all logs to tracing spans would appear to be costly operations, but if it is just a small service where performance is not an issue, it makes sense to store logging with spans. For Che case opentracing makes the most sense for multi-user user-case so it would be better to fallback on the approach with separating logs & traces and add logs to the tracing spans only if this data would be useful for investigation of metrics likerequest duration
/error rate
.The text was updated successfully, but these errors were encountered: