Skip to content

feat(opentelemetry-node): add user agent header in all exporters & honour env vars for TLS in HTTP export#1104

Merged
david-luna merged 10 commits intomainfrom
dluna-otlp-exporter-certificate
Oct 28, 2025
Merged

feat(opentelemetry-node): add user agent header in all exporters & honour env vars for TLS in HTTP export#1104
david-luna merged 10 commits intomainfrom
dluna-otlp-exporter-certificate

Conversation

@david-luna
Copy link
Member

@david-luna david-luna commented Oct 21, 2025

This PR updates the core packages which include a couple of fixes

It also restores the upstream GCP resource detector from upstream contrib repository since the fixes prevent internal spans to be exported to the collector.

Closes: #961
Closes: #1017

Summary of changes:

0.206.0 -> 0.207.0 @opentelemetry/exporter-logs-otlp-grpc (range-bump)
0.206.0 -> 0.207.0 @opentelemetry/exporter-logs-otlp-http (range-bump)
0.206.0 -> 0.207.0 @opentelemetry/exporter-logs-otlp-proto (range-bump)
0.206.0 -> 0.207.0 @opentelemetry/exporter-metrics-otlp-grpc (range-bump)
0.206.0 -> 0.207.0 @opentelemetry/exporter-metrics-otlp-http (range-bump)
0.206.0 -> 0.207.0 @opentelemetry/exporter-metrics-otlp-proto (range-bump)
0.206.0 -> 0.207.0 @opentelemetry/instrumentation-grpc (range-bump)
0.206.0 -> 0.207.0 @opentelemetry/instrumentation-http (range-bump)
0.206.0 -> 0.207.0 @opentelemetry/sdk-logs (range-bump)
0.206.0 -> 0.207.0 @opentelemetry/sdk-node (range-bump)
2.1.0 -> 2.2.0 @opentelemetry/core
2.1.0 -> 2.2.0 @opentelemetry/resources
2.1.0 -> 2.2.0 @opentelemetry/sdk-metrics
0.4.0 -> 0.5.0 @opentelemetry/instrumentation-openai (range-bump)
0.7.9 -> 0.7.10 @opentelemetry/resource-detector-container
0.14.0 -> 0.15.0 @opentelemetry/resource-detector-azure (range-bump)
0.16.0 -> 0.17.0 @opentelemetry/instrumentation-kafkajs (range-bump)
0.17.0 -> 0.18.0 @opentelemetry/instrumentation-undici (range-bump)
0.17.0 -> 0.18.0 @opentelemetry/winston-transport (range-bump)
0.20.0 -> 0.21.0 @opentelemetry/instrumentation-runtime-node (range-bump)
0.22.0 -> 0.23.0 @opentelemetry/instrumentation-cucumber (range-bump)
0.24.0 -> 0.25.0 @opentelemetry/instrumentation-dataloader (range-bump)
0.25.0 -> 0.26.0 @opentelemetry/instrumentation-tedious (range-bump)
0.26.0 -> 0.27.0 @opentelemetry/instrumentation-fs (range-bump)
0.31.9 -> 0.31.10 @opentelemetry/resource-detector-alibaba-cloud
0.32.0 -> 0.33.0 @opentelemetry/instrumentation-oracledb (range-bump)
0.50.0 -> 0.51.0 @opentelemetry/instrumentation-connect (range-bump)
0.50.0 -> 0.51.0 @opentelemetry/instrumentation-dns (range-bump)
0.50.0 -> 0.51.0 @opentelemetry/instrumentation-generic-pool (range-bump)
0.50.0 -> 0.51.0 @opentelemetry/instrumentation-memcached (range-bump)
0.50.0 -> 0.51.0 @opentelemetry/instrumentation-net (range-bump)
0.51.0 -> 0.52.0 @opentelemetry/instrumentation-fastify (range-bump)
0.51.0 -> 0.52.0 @opentelemetry/instrumentation-knex (range-bump)
0.51.0 -> 0.52.0 @opentelemetry/instrumentation-lru-memoizer (range-bump)
0.51.0 -> 0.52.0 @opentelemetry/instrumentation-router (range-bump)
0.51.0 -> 0.52.0 @opentelemetry/instrumentation-winston (range-bump)
0.52.0 -> 0.53.0 @opentelemetry/instrumentation-bunyan (range-bump)
0.52.0 -> 0.53.0 @opentelemetry/instrumentation-cassandra-driver (range-bump)
0.52.0 -> 0.53.0 @opentelemetry/instrumentation-mysql (range-bump)
0.52.0 -> 0.53.0 @opentelemetry/instrumentation-restify (range-bump)
0.53.0 -> 0.54.0 @opentelemetry/instrumentation-amqplib (range-bump)
0.53.0 -> 0.54.0 @opentelemetry/instrumentation-hapi (range-bump)
0.53.0 -> 0.54.0 @opentelemetry/instrumentation-mongoose (range-bump)
0.53.0 -> 0.54.0 @opentelemetry/instrumentation-mysql2 (range-bump)
0.53.0 -> 0.54.0 @opentelemetry/instrumentation-nestjs-core (range-bump)
0.53.0 -> 0.54.0 @opentelemetry/instrumentation-pino (range-bump)
0.53.0 -> 0.54.0 @opentelemetry/instrumentation-socket.io (range-bump)
0.54.0 -> 0.55.0 @opentelemetry/instrumentation-graphql (range-bump)
0.55.0 -> 0.56.0 @opentelemetry/instrumentation-express (range-bump)
0.55.0 -> 0.56.0 @opentelemetry/instrumentation-koa (range-bump)
0.55.0 -> 0.56.0 @opentelemetry/instrumentation-redis (range-bump)
0.59.0 -> 0.60.0 @opentelemetry/instrumentation-mongodb (range-bump)
0.59.0 -> 0.60.0 @opentelemetry/instrumentation-pg (range-bump)
0.62.0 -> 0.63.0 @opentelemetry/instrumentation-aws-sdk (range-bump)
2.6.0 -> 2.7.0 @opentelemetry/resource-detector-aws
Summary of changes:

    0.206.0 -> 0.207.0 @opentelemetry/exporter-logs-otlp-grpc (range-bump)
    0.206.0 -> 0.207.0 @opentelemetry/exporter-logs-otlp-http (range-bump)
    0.206.0 -> 0.207.0 @opentelemetry/exporter-logs-otlp-proto (range-bump)
    0.206.0 -> 0.207.0 @opentelemetry/exporter-metrics-otlp-grpc (range-bump)
    0.206.0 -> 0.207.0 @opentelemetry/exporter-metrics-otlp-http (range-bump)
    0.206.0 -> 0.207.0 @opentelemetry/exporter-metrics-otlp-proto (range-bump)
    0.206.0 -> 0.207.0 @opentelemetry/instrumentation-grpc (range-bump)
    0.206.0 -> 0.207.0 @opentelemetry/instrumentation-http (range-bump)
    0.206.0 -> 0.207.0 @opentelemetry/sdk-logs (range-bump)
    0.206.0 -> 0.207.0 @opentelemetry/sdk-node (range-bump)
    2.1.0 -> 2.2.0 @opentelemetry/core
    2.1.0 -> 2.2.0 @opentelemetry/resources
    2.1.0 -> 2.2.0 @opentelemetry/sdk-metrics
@david-luna
Copy link
Member Author

user-agent tests are failing. Actually is a good thing because now we ca use the new exporter options to set the user-agent headers properly in GRPC and HTTP exporters. I'll update this PR with the necessary changes

@david-luna
Copy link
Member Author

last version of @opentelemetry/instrumentation-ioredis (v0.55.0) breaks the tests. But it hasn't change much since the previous release (commits).

I'll debug this in a separate branch.

@david-luna david-luna requested a review from trentm October 23, 2025 22:28
@david-luna david-luna changed the title chore(deps): update deps matching "@opentelemetry/*" Oct 24, 2025
@david-luna
Copy link
Member Author

@trentm Although I can merge now I think this needs another review from you. Thanks


// Setting the User-Agent for exporters created by EDOT Node.js.
//
// Eventually the upstream exporters will support an option for this
Copy link
Member Author

@david-luna david-luna Oct 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note for reviewer: this is something to discuss. By keeping the patch we will have the UA header even if exporters are provided by the user. Removing the patch means we need to resolve exporters (like the upstream SDK already does) and set the UA when instantiating them. There will be no EDOT reference in the UA header is exporters are provided by the user.

@trentm
Copy link
Member

trentm commented Oct 27, 2025

Thanks!

Co-authored-by: Trent Mick <trent.mick@elastic.co>
@david-luna david-luna merged commit c34f563 into main Oct 28, 2025
13 checks passed
@david-luna david-luna deleted the dluna-otlp-exporter-certificate branch October 28, 2025 15:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants