-
Notifications
You must be signed in to change notification settings - Fork 261
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
feat(*): Implement the skeleton of an OTEL observability system #2348
Conversation
2e34a38
to
118df50
Compare
It would probably be fine to do most of the e2e testing in spinkube since most users of telemetry will be there in the medium term. For Spin itself I would probably just test that things don't entirely blow up when telemetry is 1) disabled, 2) enabled without debug traces, 3) enabled with debug traces. |
I would suggest landing this asap after basic "things don't blow up" tests are in place. We'll want to iterate on user feedback. |
I'll obviously test those cases in Spin locally. But, I'm wondering if we have any sort of e2e testing mechanism in Spin that I could use to automate the verification of it not blowing up. |
@calebschoepp We have integration tests that you might be able to cargo cult to fit your needs. |
Yeah you could even run jaeger as a testing-framework service and smoke test the actual span delivery. |
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.
Looks great!
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.
90% of my comments are nits or sylistic fretting, and are non-blockers. The one thing I'm concerned about is the error/exit behaviour in main. If I've misread that (which is entirely likely!), let me know and I'll change to an approve!
Thank you for labouring through this. It's a huge plumbing task, but super useful.
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.
Yay!
2f36d86
to
2667164
Compare
2667164
to
6367220
Compare
Signed-off-by: Caleb Schoepp <caleb.schoepp@fermyon.com>
6367220
to
47a2658
Compare
Summary
This PR introduces OTEL observability into Spin — specifically tracing. Using the nomenclature of #2293 I have added some trigger observability while also cleaning up a bit of the runtime observability. This PR DOES NOT provide full tracing across the entirety of the Spin codebase. That would make for a huge PR so I opted to only trace a few parts and full tracing can be added in a followup PR.
The goal of this PR is to land in a place we're happy with the DX around observability leaving room for us to improve it in future PRs.
Testing