Skip to content
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

gRPC logging/tracing middleware #85

Closed
q3k opened this issue Nov 15, 2021 · 6 comments
Closed

gRPC logging/tracing middleware #85

q3k opened this issue Nov 15, 2021 · 6 comments
Assignees
Labels
c/dev-ux c/ux End-user (cluster operator or user) experience enhancements enhancement New feature or request refactor Tech debt cleanup
Milestone

Comments

@q3k
Copy link
Contributor

q3k commented Nov 15, 2021

We currently have no way to log anything in the Curator's gRPC handlers. This isn't great.

We should use the opportunity to introduce this properly, eg. integrate with some tracing system, or at least make it possible to easily integrate with such a tracing system later.

Some design decisions to be made:

  • Do we make supervisor.Logger(ctx) just work? How supervisor-agnostic do we want to make this? We likely want to use logtree interfaces, but maybe not refer to the supervisor package unless necessary? Is the clean separation worth having to do supervisor.Logger in runnables vs. somethingelse.Logger in RPCs?
  • Where do we actually log things from requests? Somewhere within the logtree of the supervisor runnable, or to a totally separate set of buffers?
@q3k q3k added this to the Cluster MVP milestone Nov 15, 2021
@q3k q3k self-assigned this Nov 15, 2021
@q3k q3k added c/dev-ux c/ux End-user (cluster operator or user) experience enhancements enhancement New feature or request refactor Tech debt cleanup labels Nov 16, 2021
@q3k q3k removed their assignment Jan 4, 2022
@q3k
Copy link
Contributor Author

q3k commented Jan 4, 2022

(Not working on this right now)

@q3k q3k self-assigned this Jan 31, 2022
@q3k
Copy link
Contributor Author

q3k commented Jan 31, 2022

Working on a design for this now.

@q3k
Copy link
Contributor Author

q3k commented Feb 15, 2022

Work in progress merging some prerequisites:

https://review.monogon.dev/c/monogon/+/536

https://review.monogon.dev/c/monogon/+/538

@q3k
Copy link
Contributor Author

q3k commented Feb 15, 2022

The design will start off with a thing wrapper that implements an OpenTelemetry-like Trace/Span API directly backed by logtree, only supporting emitting events.

Then we fully implement OpenTelemetry support with proper local/remote spans and emitting spans to collectors, tying spans into other components, etc.

@q3k
Copy link
Contributor Author

q3k commented Feb 18, 2022

Changes implementing tracing/logging out now:

https://review.monogon.dev/c/monogon/+/541

https://review.monogon.dev/c/monogon/+/542

@q3k
Copy link
Contributor Author

q3k commented Feb 22, 2022

Done. Filing a follow up non-MVP issue about 'full' tracing.

#106

@q3k q3k closed this as completed Feb 22, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c/dev-ux c/ux End-user (cluster operator or user) experience enhancements enhancement New feature or request refactor Tech debt cleanup
Projects
None yet
Development

No branches or pull requests

1 participant