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

Prometheus receiver: Move job and instance labels into resource attributes #2499

Closed
scheler opened this issue Feb 16, 2021 · 2 comments · Fixed by #2979
Closed

Prometheus receiver: Move job and instance labels into resource attributes #2499

scheler opened this issue Feb 16, 2021 · 2 comments · Fixed by #2979
Labels

Comments

@scheler
Copy link

scheler commented Feb 16, 2021

Is your feature request related to a problem? Please describe.
Prometheus adds the labels job and instance to identify the target scraped - this maps to the Resource in opentelemetry against which the metrics are associated with. Looks like the Resource is currently empty, we could populate these two labels as attributes under Resource.

Describe the solution you'd like
Move (or copy) the two labels job and instance as attributes under Resource.

Describe alternatives you've considered
None

Additional context
None

@jrcamp jrcamp added the priority:p2 Medium label Mar 10, 2021
tigrannajaryan pushed a commit that referenced this issue Apr 16, 2021
…2897)

In Prometheus, `job` and `instance` are the two auto generated labels, however they are both dropped by prometheus receiver. Although these information is still available in `service.name` and `host`:`port`, it breaks the data contract for most Prometheus users (who use `job` and `instance` to consume metrics in their own system).
This PR adds `job` and `instance` as well-known labels in prometheus receiver to fix the issue.

**Link to tracking Issue:** 
#575
#2499
#2363
open-telemetry/prometheus-interoperability-spec#7
@odeke-em
Copy link
Member

@bjrara resolved this in PR #2897, but didn't use Fixes #2499 in the commit message so it didn't auto-close this issue. Please help close this issue @alolita @tigrannajaryan @rakyll.

@rakyll
Copy link
Contributor

rakyll commented Apr 20, 2021

Duplicate of open-telemetry/prometheus-interoperability-spec#37.

#2897 is not solving this issue.

bogdandrutu pushed a commit that referenced this issue Apr 22, 2021
…orter (#2979)

This is a follow up to #2897.

Fixes #575
Fixes #2499
Fixes #2363
Fixes open-telemetry/prometheus-interoperability-spec#37
Fixes open-telemetry/prometheus-interoperability-spec#39
Fixes open-telemetry/prometheus-interoperability-spec#44

Passing compliance tests:

$ go test --tags=compliance -run "TestRemoteWrite/otelcollector/Job.+" -v ./
=== RUN TestRemoteWrite
=== RUN TestRemoteWrite/otelcollector
=== RUN TestRemoteWrite/otelcollector/JobLabel
=== PAUSE TestRemoteWrite/otelcollector/JobLabel
=== CONT TestRemoteWrite/otelcollector/JobLabel
--- PASS: TestRemoteWrite (10.02s)
--- PASS: TestRemoteWrite/otelcollector (0.00s)
--- PASS: TestRemoteWrite/otelcollector/JobLabel (10.02s)
PASS
ok github.com/prometheus/compliance/remote_write 10.382s
$ go test --tags=compliance -run "TestRemoteWrite/otelcollector/Instance.+" -v ./
=== RUN TestRemoteWrite
=== RUN TestRemoteWrite/otelcollector
=== RUN TestRemoteWrite/otelcollector/InstanceLabel
=== PAUSE TestRemoteWrite/otelcollector/InstanceLabel
=== CONT TestRemoteWrite/otelcollector/InstanceLabel
--- PASS: TestRemoteWrite (10.01s)
--- PASS: TestRemoteWrite/otelcollector (0.00s)
--- PASS: TestRemoteWrite/otelcollector/InstanceLabel (10.01s)
PASS
ok github.com/prometheus/compliance/remote_write 10.291s
$ go test --tags=compliance -run "TestRemoteWrite/otelcollector/RepeatedLabels.+" -v ./
=== RUN TestRemoteWrite
=== RUN TestRemoteWrite/otelcollector
--- PASS: TestRemoteWrite (0.00s)
--- PASS: TestRemoteWrite/otelcollector (0.00s)
testing: warning: no tests to run
PASS
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
5 participants