-
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 <antonio@santosvelasco.com>
Signed-off-by: Antonio Santos <antonio@santosvelasco.com>
Signed-off-by: Antonio Santos <antonio@santosvelasco.com>
Co-Authored-By: Bartlomiej Plotka <bwplotka@gmail.com> Signed-off-by: Antonio Santos <antonio@santosvelasco.com>
Co-Authored-By: Povilas Versockas <p.versockas@gmail.com> Signed-off-by: Antonio Santos <antonio@santosvelasco.com>
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 <antonio@santosvelasco.com>
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 <antonio@santosvelasco.com>
Done! |
Signed-off-by: Antonio Santos <antonio@santosvelasco.com>
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 <antonio@santosvelasco.com> * Remove type cast Signed-off-by: Antonio Santos <antonio@santosvelasco.com> * Add documentation for the exported methods and types Signed-off-by: Antonio Santos <antonio@santosvelasco.com> * Apply suggestions from @bwplotka Co-Authored-By: Bartlomiej Plotka <bwplotka@gmail.com> Signed-off-by: Antonio Santos <antonio@santosvelasco.com> * Inline variable Co-Authored-By: Povilas Versockas <p.versockas@gmail.com> Signed-off-by: Antonio Santos <antonio@santosvelasco.com> * 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 <antonio@santosvelasco.com> * Remove unused import Signed-off-by: Antonio Santos <antonio@santosvelasco.com> Signed-off-by: Aleksey Sin <asin@ozon.ru>
* Add support for tracing with Lightstep Signed-off-by: Antonio Santos <antonio@santosvelasco.com> * Remove type cast Signed-off-by: Antonio Santos <antonio@santosvelasco.com> * Add documentation for the exported methods and types Signed-off-by: Antonio Santos <antonio@santosvelasco.com> * Apply suggestions from @bwplotka Co-Authored-By: Bartlomiej Plotka <bwplotka@gmail.com> Signed-off-by: Antonio Santos <antonio@santosvelasco.com> * Inline variable Co-Authored-By: Povilas Versockas <p.versockas@gmail.com> Signed-off-by: Antonio Santos <antonio@santosvelasco.com> * 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 <antonio@santosvelasco.com> * Remove unused import Signed-off-by: Antonio Santos <antonio@santosvelasco.com>
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.