open-telemetry / open-telemetry/opentelemetry-python

Prometheus exporter handles instrumentation scope and prevents collisions

Open
#3,072 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

exporters feature-request help wanted prometheus
Dominant language
Python
Stars
2.6k
Forks
1k
Avg merge
4d 15h
Merged PRs (30d)
19

Description

Now that https://github.com/open-telemetry/opentelemetry-specification/pull/2703 is released, we can update the prometheus exporter to make use of OpenTelemetry scope, particularly for reducing collisions between metrics with the same name.

Describe the solution you'd like

There are a few components:

Note that the exporter SHOULD do the above by default, but may allow disabling the behavior.

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 locating the Prometheus exporter in the opentelemetry-python repository and read the linked OpenTelemetry compatibility sections on instrumentation scope and metric metadata. Verify how instrumentation scope is currently represented, then implement the requested scope attributes, otel_scope_info metric, and collision prevention. Done means all three behaviors follow the specification by default, with any disabling option documented and tested.

Written by the indexing model from the issue text.

Assessment

Tech stack
prometheus, python
Domain
observability
Issue type
Feature
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.