Closed jonatan-ivanov closed 1 year ago
@velo @kdavisk6 We are making some major changes when it comes to tracing and observability for Spring 6. In order to maintain functionality, we would like to propose the change described above. We could provide the contribution. Please let us know what you think.
Apologies, I think this is a very good idea. Feel free to submit any proposals.
Thanks :) . We'll do.
I've submitted a draft PR that we can discuss - https://github.com/OpenFeign/feign/pull/1760
The PR is merged so this can be closed, right?
Yes!
Micrometer introduces a new set of APIs in its next minor version (
1.10.0
). From the high level perspective this API is somewhat similar to aTimer
in the sense that it measures elapsed time and you can start/stop your measurements.The advantage of making measurements using the Observation API over the
Timer
is that you can attach arbitrary handlers (listeners) who can react to events during your observations, e.g.: an observation was started/stopped and error happened, etc. This makes possible not only recording metrics (delegating to a Timer) but also creating Spans (distributed tracing), attaching logs (audit, trace, perf, etc.) or doing any arbitrary thing that you want.Basically you instrument your code once and you can get multiple things out of this instrumentation, you don't need multiple instrumentations.
We have a migration guide that can give more information and also examples for migrating from a Timer-based instrumentation to the Observation API.
What do you think?