-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
.*: Add support for tracing with Lightstep #1678
Conversation
b10a383
to
dc5b4ee
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice! LGTM, small nits only (:
|
||
// Collector is the host, port, and plaintext option to use | ||
// for the collector. | ||
Collector lightstep.Endpoint `yaml:"collector"` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
reusing config 👍 nice!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
😄
Signed-off-by: Antonio Santos <[email protected]>
Signed-off-by: Antonio Santos <[email protected]>
Signed-off-by: Antonio Santos <[email protected]>
Co-Authored-By: Bartlomiej Plotka <[email protected]> Signed-off-by: Antonio Santos <[email protected]>
Co-Authored-By: Povilas Versockas <[email protected]> Signed-off-by: Antonio Santos <[email protected]>
8cd8a07
to
78bdee0
Compare
Please hold off on merging this one for now: I'm not sure it's related, but I'm experiencing issues when trying to kill the program with |
This is unrelated to this PR. I paired with a coworker on it today and he submitted a new PR fixing the issue. |
Nice one, thanks. My changed was added as well: lightstep/lightstep-tracer-go#228 |
Sure, but they haven't released a new version yet as far as I can tell. |
Do they have any release cadence? |
From what I can see in the git tags, no. I've asked them in lightstep/lightstep-tracer-go#228 (comment) |
A heads up that I'm still waiting for Lightstep to release a new version that includes @bwplotka's changes. Alternatively, we could merge this as it is and update it once the updated library is out. |
@antonio seems like it was released. Care to update this PR so that we could add support for Lightstep tracing in Thanos? (: |
Signed-off-by: Antonio Santos <[email protected]>
lightstep/lightstep-tracer-go#228 introduced a new method to create a Tracer that returns an error when it does not succeed, instead of nil Signed-off-by: Antonio Santos <[email protected]>
Done! |
Signed-off-by: Antonio Santos <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome! Thanks for the good work.
* Add support for tracing with Lightstep Signed-off-by: Antonio Santos <[email protected]> * Remove type cast Signed-off-by: Antonio Santos <[email protected]> * Add documentation for the exported methods and types Signed-off-by: Antonio Santos <[email protected]> * Apply suggestions from @bwplotka Co-Authored-By: Bartlomiej Plotka <[email protected]> Signed-off-by: Antonio Santos <[email protected]> * Inline variable Co-Authored-By: Povilas Versockas <[email protected]> Signed-off-by: Antonio Santos <[email protected]> * Update lightstep library and add proper error handling lightstep/lightstep-tracer-go#228 introduced a new method to create a Tracer that returns an error when it does not succeed, instead of nil Signed-off-by: Antonio Santos <[email protected]> * Remove unused import Signed-off-by: Antonio Santos <[email protected]> Signed-off-by: Aleksey Sin <[email protected]>
* Add support for tracing with Lightstep Signed-off-by: Antonio Santos <[email protected]> * Remove type cast Signed-off-by: Antonio Santos <[email protected]> * Add documentation for the exported methods and types Signed-off-by: Antonio Santos <[email protected]> * Apply suggestions from @bwplotka Co-Authored-By: Bartlomiej Plotka <[email protected]> Signed-off-by: Antonio Santos <[email protected]> * Inline variable Co-Authored-By: Povilas Versockas <[email protected]> Signed-off-by: Antonio Santos <[email protected]> * Update lightstep library and add proper error handling lightstep/lightstep-tracer-go#228 introduced a new method to create a Tracer that returns an error when it does not succeed, instead of nil Signed-off-by: Antonio Santos <[email protected]> * Remove unused import Signed-off-by: Antonio Santos <[email protected]>
This patch adds support to use Lightstep as a tracing provider.
The implementation follows the Lightstep client library documentation, but does not set an event handler to log events as it was incredibly noisy and not really useful, making it impossible to follow what was going on in the logs. The output was similar to lines below, with a new line every 2-3 seconds.
Lightstep allows setting up many more options when instantiating the tracer, but I decided to keep it simple for now and only make it possible to set the access token (required) and the address of the collector.
Changes
Verification
I've tested it against our on-prem installation.