-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
[receiver/prometheusremotewrite] Add HTTP server to handler PRW requests #35535
[receiver/prometheusremotewrite] Add HTTP server to handler PRW requests #35535
Conversation
Questions:
receivers:
prometheusremotewrite:
exporters:
debug:
verbosity: detailed
service:
pipelines:
metrics:
receivers: [prometheusremotewrite]
exporters: [debug] After running it I'm getting this error:
I had the impression that after merging the new component I could build the collector with it already. Do I need to do something else to be able to test this receiver? |
You can temporarily add it to here while you are testing: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/cmd/otelcontribcol/components.go. But just don't push That is part of the "Last PR" in the process of adding new components (https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#adding-new-components) |
And Yes, please add changelogs for each PR. |
fff855a
to
5a8d1f2
Compare
5a8d1f2
to
5b0f81e
Compare
5b0f81e
to
6c1cfd4
Compare
Signed-off-by: Arthur Silva Sens <[email protected]>
6c1cfd4
to
7b5d4d9
Compare
…sts (open-telemetry#35535) Part of open-telemetry#33782 **Description:** This PR adds an HTTP server to the `prometheusremotewritereceiver` component. To keep PRs small for easier reviews, the handler doesn't do anything at the moment. Signed-off-by: Arthur Silva Sens <[email protected]>
**Description:** This PR builds on top of #35535, adding Content-Type negotiation for Remote-Write requests (still doesn't handle the data). Signed-off-by: Arthur Silva Sens <[email protected]>
…35624) #### Description This PR builds on top of #35535 and #35565. We're now making sure we're able to unmarshal a remote write request, while also exercising the decompression that is made by OTel's confighttp. Signed-off-by: Arthur Silva Sens <[email protected]>
…pen-telemetry#35624) This PR builds on top of open-telemetry#35535 and open-telemetry#35565. We're now making sure we're able to unmarshal a remote write request, while also exercising the decompression that is made by OTel's confighttp. Signed-off-by: Arthur Silva Sens <[email protected]>
…emetry#35565) **Description:** This PR builds on top of open-telemetry#35535, adding Content-Type negotiation for Remote-Write requests (still doesn't handle the data). Signed-off-by: Arthur Silva Sens <[email protected]>
#### Description This PR builds on top of #35535, #35565 and #35624. Here we're parsing labels into resource/metric attributes. It's still not great because resource attributes (with exception to `service.namespace`, `service.name` and `service.name.id`) are encoded into a special metric called `target_info`. Metrics related to specific target infos may arrive in separate write requests, so it may be impossible to build the full OTLP metric in a stateless way. In this PR I'm ignoring this problem 😛, and transforming `job` and `instance` labels into resource attributes, while all other labels become scope attributes. Please focus on the latest commit when reviewing this PR :) 1c9ff80 --------- Signed-off-by: Arthur Silva Sens <[email protected]>
…emetry#35565) **Description:** This PR builds on top of open-telemetry#35535, adding Content-Type negotiation for Remote-Write requests (still doesn't handle the data). Signed-off-by: Arthur Silva Sens <[email protected]>
…pen-telemetry#35624) #### Description This PR builds on top of open-telemetry#35535 and open-telemetry#35565. We're now making sure we're able to unmarshal a remote write request, while also exercising the decompression that is made by OTel's confighttp. Signed-off-by: Arthur Silva Sens <[email protected]>
#### Description This PR builds on top of open-telemetry#35535, open-telemetry#35565 and open-telemetry#35624. Here we're parsing labels into resource/metric attributes. It's still not great because resource attributes (with exception to `service.namespace`, `service.name` and `service.name.id`) are encoded into a special metric called `target_info`. Metrics related to specific target infos may arrive in separate write requests, so it may be impossible to build the full OTLP metric in a stateless way. In this PR I'm ignoring this problem 😛, and transforming `job` and `instance` labels into resource attributes, while all other labels become scope attributes. Please focus on the latest commit when reviewing this PR :) 1c9ff80 --------- Signed-off-by: Arthur Silva Sens <[email protected]>
#### Description This PR builds on top of open-telemetry#35535, open-telemetry#35565 and open-telemetry#35624. Here we're parsing labels into resource/metric attributes. It's still not great because resource attributes (with exception to `service.namespace`, `service.name` and `service.name.id`) are encoded into a special metric called `target_info`. Metrics related to specific target infos may arrive in separate write requests, so it may be impossible to build the full OTLP metric in a stateless way. In this PR I'm ignoring this problem 😛, and transforming `job` and `instance` labels into resource attributes, while all other labels become scope attributes. Please focus on the latest commit when reviewing this PR :) 1c9ff80 --------- Signed-off-by: Arthur Silva Sens <[email protected]>
Part of #33782
Description:
This PR adds an HTTP server to the
prometheusremotewritereceiver
component. To keep PRs small for easier reviews, the handler doesn't do anything at the moment.