Skip to content

Commit

Permalink
Merge branch 'main' into xray-propagator
Browse files Browse the repository at this point in the history
  • Loading branch information
pichlermarc committed May 3, 2024
2 parents 18a5fd4 + b518e16 commit 602da42
Show file tree
Hide file tree
Showing 191 changed files with 24,977 additions and 28,228 deletions.
5 changes: 3 additions & 2 deletions .github/workflows/unit-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ jobs:
- "16"
- "18"
- "20"
- "22"
runs-on: ubuntu-latest
env:
NPM_CONFIG_UNSAFE_PERM: true
Expand All @@ -31,7 +32,7 @@ jobs:
node-version: ${{ matrix.node_version }}

- run: npm install -g npm@latest
if: ${{ matrix.node_version == '18' || matrix.node_version == '20' }}
if: ${{ matrix.node_version == '18' || matrix.node_version == '20' || matrix.node_version == '22' }}

# npm@10.0.0 drops support for Node.js v14 and v16
- run: npm install -g npm@"<10.0.0"
Expand All @@ -46,7 +47,7 @@ jobs:
- name: Unit tests
run: |
# TODO(legendecas): webpack https://stackoverflow.com/questions/69692842/error-message-error0308010cdigital-envelope-routinesunsupported
if [ "${{ matrix.node_version }}" = "18" ] || [ "${{ matrix.node_version }}" == "20" ]; then
if [ "${{ matrix.node_version }}" = "18" ] || [ "${{ matrix.node_version }}" == "20" ] || [ "${{ matrix.node_version }}" == "22" ]; then
export NODE_OPTIONS=--openssl-legacy-provider
fi
npm run test
Expand Down
6 changes: 3 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[submodule "experimental/packages/otlp-grpc-exporter-base/protos"]
path = experimental/packages/otlp-grpc-exporter-base/protos
url = https://github.com/open-telemetry/opentelemetry-proto.git
[submodule "experimental/packages/otlp-proto-exporter-base/protos"]
path = experimental/packages/otlp-proto-exporter-base/protos
url = https://github.com/open-telemetry/opentelemetry-proto.git
[submodule "experimental/packages/otlp-transformer/protos"]
path = experimental/packages/otlp-transformer/protos
url = https://github.com/open-telemetry/opentelemetry-proto.git
30 changes: 19 additions & 11 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,23 @@ For experimental package changes, see the [experimental CHANGELOG](experimental/

### :boom: Breaking Change

* feat(instrumentation): add patch and unpatch diag log messages [#4641](https://github.com/open-telemetry/opentelemetry-js/pull/4641)
* Instrumentations should not log patch and unpatch messages to diag channel.
* feat!(instrumentation): remove moduleExports generic type from instrumentation registration [#4598](https://github.com/open-telemetry/opentelemetry-js/pull/4598) @blumamir
* breaking for instrumentation authors that depend on
* `InstrumentationBase`
* `InstrumentationNodeModuleDefinition`
* `InstrumentationNodeModuleFile`
### :rocket: (Enhancement)

* feat(instrumentation): generic config type in instrumentation base [#4659](https://github.com/open-telemetry/opentelemetry-js/pull/4659) @blumamir
* feat: support node 22 [#4666](https://github.com/open-telemetry/opentelemetry-js/pull/4666) @dyladan

### :bug: (Bug Fix)

* fix(core): align inconsistent behavior of `getEnv()` and `getEnvWithoutDefaults()` when a `process` polyfill is used [#4648](https://github.com/open-telemetry/opentelemetry-js/pull/4648) @pichlermarc
* `getEnvWithoutDefaults()` would use `process.env` if it was defined when running in a browser, while `getEnv()` would always use `_globalThis`. Now both use `_globalThis` when running in a browser.
* fix(resources): prevent circular import (resource -> detector -> resource -> ...) [#4653](https://github.com/open-telemetry/opentelemetry-js/pull/4653) @pichlermarc
* fixes a circular import warning which would appear in rollup when bundling `@opentelemetry/resources`

### :books: (Refine Doc)

### :house: (Internal)

## 1.24.0

### :rocket: (Enhancement)

Expand All @@ -27,10 +37,8 @@ For experimental package changes, see the [experimental CHANGELOG](experimental/

* fix(sdk-trace-web): fix invalid timings in span events [#4486](https://github.com/open-telemetry/opentelemetry-js/pull/4486) @Abinet18
* fix(resources): ensure BrowserDetector does not think Node.js v21 is a browser [#4561](https://github.com/open-telemetry/opentelemetry-js/issues/4561) @trentm

### :books: (Refine Doc)

### :house: (Internal)
* fix(core): align inconsistent behavior of `getEnv()` and `getEnvWithoutDefaults()` when a `process` polyfill is used [#4648](https://github.com/open-telemetry/opentelemetry-js/pull/4648) @pichlermarc
* `getEnvWithoutDefaults()` would use `process.env` if it was defined when running in a browser, while `getEnv()` would always use `_globalThis`. Now both use `_globalThis` when running in a browser.

## 1.23.0

Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,7 @@ If you are a library author looking to build OpenTelemetry into your library, pl

| Platform Version | Supported |
|---------------------|-----------------------------------------------|
| Node.JS `v22` | :heavy_check_mark: |
| Node.JS `v20` | :heavy_check_mark: |
| Node.JS `v18` | :heavy_check_mark: |
| Node.JS `v16` | :heavy_check_mark: |
Expand Down
2 changes: 2 additions & 0 deletions api/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ All notable changes to this project will be documented in this file.

### :rocket: (Enhancement)

* feat: support node 22 [#4666](https://github.com/open-telemetry/opentelemetry-js/pull/4666) @dyladan

### :bug: (Bug Fix)

### :books: (Refine Doc)
Expand Down
2 changes: 1 addition & 1 deletion api/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@
"karma-mocha": "2.0.1",
"karma-mocha-webworker": "1.3.0",
"karma-spec-reporter": "0.0.36",
"karma-webpack": "4.0.2",
"karma-webpack": "5.0.1",
"lerna": "6.6.2",
"memfs": "3.5.3",
"mocha": "10.2.0",
Expand Down
11 changes: 8 additions & 3 deletions api/test/common/internal/version.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,18 @@
import * as assert from 'assert';
import { VERSION } from '../../../src/version';

describe('version', () => {
it('should have generated VERSION.ts', () => {
describe('version', function () {
it('should have generated VERSION.ts', function () {
// Skip in case we're not running in Node.js
if (global.process?.versions?.node === undefined) {
this.skip();
}

const pjson = require('../../../package.json');
assert.strictEqual(pjson.version, VERSION);
});

it('prerelease tag versions are banned', () => {
it('prerelease tag versions are banned', function () {
// see https://github.com/open-telemetry/opentelemetry-js-api/issues/74
assert.ok(VERSION.match(/^\d+\.\d+\.\d+$/));
});
Expand Down
16 changes: 8 additions & 8 deletions examples/esm-http-ts/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "esm-http-ts",
"private": true,
"version": "0.50.0",
"version": "0.51.0",
"description": "Example of HTTP integration with OpenTelemetry using ESM and TypeScript",
"main": "build/index.js",
"type": "module",
Expand Down Expand Up @@ -31,12 +31,12 @@
"homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/examples/",
"dependencies": {
"@opentelemetry/api": "1.8.0",
"@opentelemetry/exporter-trace-otlp-proto": "0.50.0",
"@opentelemetry/instrumentation": "0.50.0",
"@opentelemetry/instrumentation-http": "0.50.0",
"@opentelemetry/resources": "1.23.0",
"@opentelemetry/sdk-trace-base": "1.23.0",
"@opentelemetry/sdk-trace-node": "1.23.0",
"@opentelemetry/semantic-conventions": "1.23.0"
"@opentelemetry/exporter-trace-otlp-proto": "0.51.0",
"@opentelemetry/instrumentation": "0.51.0",
"@opentelemetry/instrumentation-http": "0.51.0",
"@opentelemetry/resources": "1.24.0",
"@opentelemetry/sdk-trace-base": "1.24.0",
"@opentelemetry/sdk-trace-node": "1.24.0",
"@opentelemetry/semantic-conventions": "1.24.0"
}
}
18 changes: 9 additions & 9 deletions examples/http/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "http-example",
"private": true,
"version": "0.50.0",
"version": "0.51.0",
"description": "Example of HTTP integration with OpenTelemetry",
"main": "index.js",
"scripts": {
Expand Down Expand Up @@ -29,14 +29,14 @@
},
"dependencies": {
"@opentelemetry/api": "^1.3.0",
"@opentelemetry/exporter-jaeger": "1.23.0",
"@opentelemetry/exporter-zipkin": "1.23.0",
"@opentelemetry/instrumentation": "0.50.0",
"@opentelemetry/instrumentation-http": "0.50.0",
"@opentelemetry/resources": "1.23.0",
"@opentelemetry/sdk-trace-base": "1.23.0",
"@opentelemetry/sdk-trace-node": "1.23.0",
"@opentelemetry/semantic-conventions": "1.23.0"
"@opentelemetry/exporter-jaeger": "1.24.0",
"@opentelemetry/exporter-zipkin": "1.24.0",
"@opentelemetry/instrumentation": "0.51.0",
"@opentelemetry/instrumentation-http": "0.51.0",
"@opentelemetry/resources": "1.24.0",
"@opentelemetry/sdk-trace-base": "1.24.0",
"@opentelemetry/sdk-trace-node": "1.24.0",
"@opentelemetry/semantic-conventions": "1.24.0"
},
"homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/examples/http",
"devDependencies": {
Expand Down
18 changes: 9 additions & 9 deletions examples/https/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "https-example",
"private": true,
"version": "0.50.0",
"version": "0.51.0",
"description": "Example of HTTPs integration with OpenTelemetry",
"main": "build/src/index.js",
"types": "build/src/index.d.ts",
Expand Down Expand Up @@ -33,14 +33,14 @@
},
"dependencies": {
"@opentelemetry/api": "^1.0.0",
"@opentelemetry/exporter-jaeger": "1.23.0",
"@opentelemetry/exporter-zipkin": "1.23.0",
"@opentelemetry/instrumentation": "0.50.0",
"@opentelemetry/instrumentation-http": "0.50.0",
"@opentelemetry/resources": "1.23.0",
"@opentelemetry/sdk-trace-base": "1.23.0",
"@opentelemetry/sdk-trace-node": "1.23.0",
"@opentelemetry/semantic-conventions": "1.23.0"
"@opentelemetry/exporter-jaeger": "1.24.0",
"@opentelemetry/exporter-zipkin": "1.24.0",
"@opentelemetry/instrumentation": "0.51.0",
"@opentelemetry/instrumentation-http": "0.51.0",
"@opentelemetry/resources": "1.24.0",
"@opentelemetry/sdk-trace-base": "1.24.0",
"@opentelemetry/sdk-trace-node": "1.24.0",
"@opentelemetry/semantic-conventions": "1.24.0"
},
"homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/examples/https",
"devDependencies": {
Expand Down
30 changes: 15 additions & 15 deletions examples/opentelemetry-web/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "web-opentelemetry-example",
"private": true,
"version": "0.50.0",
"version": "0.51.0",
"description": "Example of using @opentelemetry/sdk-trace-web and @opentelemetry/sdk-metrics in browser",
"main": "index.js",
"scripts": {
Expand Down Expand Up @@ -44,20 +44,20 @@
},
"dependencies": {
"@opentelemetry/api": "^1.3.0",
"@opentelemetry/context-zone": "1.23.0",
"@opentelemetry/core": "1.23.0",
"@opentelemetry/exporter-metrics-otlp-http": "0.50.0",
"@opentelemetry/exporter-trace-otlp-http": "0.50.0",
"@opentelemetry/exporter-trace-otlp-proto": "0.50.0",
"@opentelemetry/exporter-zipkin": "1.23.0",
"@opentelemetry/instrumentation": "0.50.0",
"@opentelemetry/instrumentation-fetch": "0.50.0",
"@opentelemetry/instrumentation-xml-http-request": "0.50.0",
"@opentelemetry/propagator-b3": "1.23.0",
"@opentelemetry/sdk-metrics": "1.23.0",
"@opentelemetry/sdk-trace-base": "1.23.0",
"@opentelemetry/sdk-trace-web": "1.23.0",
"@opentelemetry/semantic-conventions": "1.23.0"
"@opentelemetry/context-zone": "1.24.0",
"@opentelemetry/core": "1.24.0",
"@opentelemetry/exporter-metrics-otlp-http": "0.51.0",
"@opentelemetry/exporter-trace-otlp-http": "0.51.0",
"@opentelemetry/exporter-trace-otlp-proto": "0.51.0",
"@opentelemetry/exporter-zipkin": "1.24.0",
"@opentelemetry/instrumentation": "0.51.0",
"@opentelemetry/instrumentation-fetch": "0.51.0",
"@opentelemetry/instrumentation-xml-http-request": "0.51.0",
"@opentelemetry/propagator-b3": "1.24.0",
"@opentelemetry/sdk-metrics": "1.24.0",
"@opentelemetry/sdk-trace-base": "1.24.0",
"@opentelemetry/sdk-trace-web": "1.24.0",
"@opentelemetry/semantic-conventions": "1.24.0"
},
"homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/examples/tracer-web"
}
24 changes: 12 additions & 12 deletions examples/otlp-exporter-node/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "example-otlp-exporter-node",
"private": true,
"version": "0.50.0",
"version": "0.51.0",
"description": "Example of using @opentelemetry/collector-exporter in Node.js",
"main": "index.js",
"scripts": {
Expand Down Expand Up @@ -29,17 +29,17 @@
},
"dependencies": {
"@opentelemetry/api": "^1.3.0",
"@opentelemetry/core": "1.23.0",
"@opentelemetry/exporter-metrics-otlp-grpc": "0.50.0",
"@opentelemetry/exporter-metrics-otlp-http": "0.50.0",
"@opentelemetry/exporter-metrics-otlp-proto": "0.50.0",
"@opentelemetry/exporter-trace-otlp-grpc": "0.50.0",
"@opentelemetry/exporter-trace-otlp-http": "0.50.0",
"@opentelemetry/exporter-trace-otlp-proto": "0.50.0",
"@opentelemetry/resources": "1.23.0",
"@opentelemetry/sdk-metrics": "1.23.0",
"@opentelemetry/sdk-trace-base": "1.23.0",
"@opentelemetry/semantic-conventions": "1.23.0"
"@opentelemetry/core": "1.24.0",
"@opentelemetry/exporter-metrics-otlp-grpc": "0.51.0",
"@opentelemetry/exporter-metrics-otlp-http": "0.51.0",
"@opentelemetry/exporter-metrics-otlp-proto": "0.51.0",
"@opentelemetry/exporter-trace-otlp-grpc": "0.51.0",
"@opentelemetry/exporter-trace-otlp-http": "0.51.0",
"@opentelemetry/exporter-trace-otlp-proto": "0.51.0",
"@opentelemetry/resources": "1.24.0",
"@opentelemetry/sdk-metrics": "1.24.0",
"@opentelemetry/sdk-trace-base": "1.24.0",
"@opentelemetry/semantic-conventions": "1.24.0"
},
"homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/examples/otlp-exporter-node"
}
37 changes: 31 additions & 6 deletions experimental/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,44 @@ All notable changes to experimental packages in this project will be documented

### :boom: Breaking Change

* feat(exporter-*-otlp-*)!: move serialization for Node.js exporters to `@opentelemetry/otlp-transformer` [#4542](https://github.com/open-telemetry/opentelemetry-js/pull/4542) @pichlermarc
* Breaking changes:
* (user-facing) `convert()` now returns an empty object and will be removed in a follow-up
* (internal) OTLPExporterNodeBase now has additional constructor parameters that are required
* (internal) OTLPExporterNodeBase now has an additional `ResponseType` type parameter

### :rocket: (Enhancement)

* feat: support node 22 [#4666](https://github.com/open-telemetry/opentelemetry-js/pull/4666) @dyladan
* feat(propagator-aws-xray-lambda): add AWS Xray Lambda propagator [4554](https://github.com/open-telemetry/opentelemetry-js/pull/4554)

### :bug: (Bug Fix)

### :books: (Refine Doc)

### :house: (Internal)

## 0.51.0

### :boom: Breaking Change

* feat(sdk-node)!: remove long deprecated methods in favor of constructor options [#4606](https://github.com/open-telemetry/opentelemetry-js/pull/4606) @pichlermarc
* `NodeSDK.configureTracerProvider()`, please use constructor options instead
* `NodeSDK.configureMeterProvider()`, please use constructor options instead
* `NodeSDK.configureLoggerProvider()`, please use constructor options instead
* `NodeSDK.addResource()`, please use constructor options instead
* `NodeSDK.detectResources()`, this is not necessary anymore, resources are now auto-detected on `NodeSDK.start()` if the constructor option `autoDetectResources` is unset, `undefined` or `true`.
* feat(instrumentation): add patch and unpatch diag log messages [#4641](https://github.com/open-telemetry/opentelemetry-js/pull/4641)
* Instrumentations should not log patch and unpatch messages to diag channel.
* feat!(instrumentation): remove moduleExports generic type from instrumentation registration [#4598](https://github.com/open-telemetry/opentelemetry-js/pull/4598) @blumamir
* breaking for instrumentation authors that depend on
* `InstrumentationBase`
* `InstrumentationNodeModuleDefinition`
* `InstrumentationNodeModuleFile`

### :rocket: (Enhancement)

* feat(sdk-logs): log resource attributes in ConsoleLogRecordExporter [#4646](https://github.com/open-telemetry/opentelemetry-js/pull/4646) @harelmo-lumigo
* refactor(instrumentation-grpc): move to use SEMATTRS [#4633](https://github.com/open-telemetry/opentelemetry-js/pull/4633)
* feat(otlp-transformer): consolidate scope/resource creation in transformer [#4600](https://github.com/open-telemetry/opentelemetry-js/pull/4600)
* feat(sdk-logs): print message when attributes are dropped due to attribute count limit [#4614](https://github.com/open-telemetry/opentelemetry-js/pull/4614) @HyunnoH
Expand All @@ -26,12 +55,8 @@ All notable changes to experimental packages in this project will be documented

### :bug: (Bug Fix)

* fix(otlp-grpc-exporter-base): avoid TypeError on exporter shutdown [#4612](https://github.com/open-telemetry/opentelemetry-js/pull/4612)
* fix(instrumentation): Don't use `require` to load `package.json` files

### :books: (Refine Doc)

### :house: (Internal)
* fix(otlp-grpc-exporter-base): avoid TypeError on exporter shutdown [#4612](https://github.com/open-telemetry/opentelemetry-js/pull/4612) @pichlermarc
* fix(instrumentation): Don't use `require` to load `package.json` files [#4593](https://github.com/open-telemetry/opentelemetry-js/pull/4593) @timfish

## 0.50.0

Expand Down
6 changes: 3 additions & 3 deletions experimental/backwards-compatibility/node14/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "backcompat-node14",
"version": "0.50.0",
"version": "0.51.0",
"private": true,
"description": "Backwards compatibility app for node 14 types and the OpenTelemetry Node.js SDK",
"main": "index.js",
Expand All @@ -9,8 +9,8 @@
"peer-api-check": "node ../../../scripts/peer-api-check.js"
},
"dependencies": {
"@opentelemetry/sdk-node": "0.50.0",
"@opentelemetry/sdk-trace-base": "1.23.0"
"@opentelemetry/sdk-node": "0.51.0",
"@opentelemetry/sdk-trace-base": "1.24.0"
},
"devDependencies": {
"@types/node": "14.18.25",
Expand Down
Loading

0 comments on commit 602da42

Please sign in to comment.