Skip to content
This repository has been archived by the owner on May 23, 2024. It is now read-only.

Improving client observability using logs #501

Closed
vprithvi opened this issue Apr 20, 2020 · 0 comments
Closed

Improving client observability using logs #501

vprithvi opened this issue Apr 20, 2020 · 0 comments

Comments

@vprithvi
Copy link
Contributor

Requirement - what kind of business use case are you trying to solve?

It is difficult to get information about the following by looking at logs

  1. Tracer configuration
  2. Initial sampler configuration and sampler updates
  3. Reporting configuration and logging all details of spans reported. While there is a logSpans option, it only reports a minimal traceID: spanID: flags for spans queued.
  4. Interactions with Spans. (e.g. logging accesses of setters/etc)

Proposal - what do you suggest to solve the problem or improve the existing situation?

Provided that items 1, 2 and 3 are not in the hot path of application request, I propose adding debug log statements. The evaluation of whether a log statement is a debug statement would add minimal overhead. Users may control these logs by controlling the log level of the logger used.

This would require modifying the jaeger-client-go/log/logger to add a Debug level.

For item 4, because this is in the hot path of application, I suggest adding a wrapper called LoggingTracer which provides LoggingSpans, both of which log parameters and delegate calls to actual Tracer and Span implementations. Because this would be primarily used to understand instrumentation, the initial version is only available programatically.

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

No branches or pull requests

2 participants