spring-projects / spring-projects/spring-data-mongodb

Deprecate Micrometer Tracing code in favor of tracing in MongoDB driver

Open
#5,009 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

  • #5079 by @christophstrobl — closed without merging
type: task
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.