spring-projects / spring-projects/spring-data-mongodb
Deprecate Micrometer Tracing code in favor of tracing in MongoDB driver
Nobody has claimed this yet.
- #5079 by @christophstrobl — closed without merging
- Dominant language
- Java
- Stars
- 1.7k
- Forks
- 1.1k
- PR merge metrics
- No merged PRs in 30d
Description
We should deprecated our Micrometer Tracing implementation in favor of MongoDB's OpenTelemetry implementation in the driver. MongoObservationCommandListener.
Observation through MongoObservationCommandListener creates distributed tracing spans including context propagation and it creates long-task timers (e.g. spring.data.mongodb.command.active) that are sent to observability systems (e.g. Prometheus) using a set of tags.
Having an implementation on the Spring Data level while Spring Boot configures a different metrics implementation (see #4926) is unfortunate and that can be solved by having metrics and tracing directly within the driver.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by examining MongoObservationCommandListener and the MongoObservation implementation referenced in the issue, then review the closed pull request #5079 for prior work. Determine which Micrometer Tracing implementation should be deprecated in favor of the MongoDB driver's OpenTelemetry support, and verify that the Spring Data implementation no longer provides the conflicting tracing and metrics behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, mongodb
- Domain
- databases, observability
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100