Update `next` branch (#4294)
* chore: track package-lock.json (#4238) * chore: track package-lock.json * Pin to old versions for node 14 * Use version range * Remove unused cached directories * Temporarily disable other tests * Temporarily enable only api test * Enable only some packages * Test only api packages * Test trace exporters * Fix line ordering * Test all packages except otlp exporters * Add trace http exporter * Add trace proto exporter * Test all but grpc exporters * chore: use npm workspaces and degrade lerna to v6 * chore: get rid of lerna bootstrap * chore: use npx * chore: allow install scripts to setup buf * chore: fix w3c-integration-test cache key * chore: fix cache key * chore: disable resource compat test * chore: fix node_modules assumptions * chore: fix hoisted karma issue * chore: fix markdown linter complaints * chore: lock @grpc/grpc-js to v1.8.21 * Break caches * chore: remove cache * chore: fixup inline commands --------- Co-authored-by: Daniel Dyla <dyladan@users.noreply.github.com> * docs: fixed link to benchmark results (#4233) Co-authored-by: Chengzhong Wu <legendecas@gmail.com> * chore(deps): update all patch versions (#4215) * fix: otlp json encoding (#4220) Co-authored-by: Marc Pichler <marc.pichler@dynatrace.com> * fix: remove duplicate export star from version.ts (#4225) Co-authored-by: Marc Pichler <marc.pichler@dynatrace.com> * docs: fix sdk-node config instructions (#4249) Co-authored-by: Marc Pichler <marc.pichler@dynatrace.com> * feat(api): publish api esnext target (#4231) * chore: release API 1.7.0/Core 1.18.0/Experimental 0.45.0 (#4254) * fix(sdk-metrics): hand-roll MetricAdvice type as older API versions do not include it (#4260) * chore: prepare release 1.18.1/0.45.1 (#4261) * chore: no need for 'packages' in "lerna.json" (#4264) * Benchmark tests for trace OTLP transform and BatchSpanProcessor (#4218) Co-authored-by: Marc Pichler <marc.pichler@dynatrace.com> * chore: type reference on zone.js (#4257) Co-authored-by: Marc Pichler <marc.pichler@dynatrace.com> * docs: add docker-compose to run prometheus for the experimental example (#4268) Co-authored-by: Marc Pichler <marc.pichler@dynatrace.com> * fix(sdk-logs): avoid map attribute set when count limit exceeded (#4195) Co-authored-by: Marc Pichler <marc.pichler@dynatrace.com> * chore(deps): update dependency chromedriver to v119 [security] (#4280) * chore(deps): update actions/setup-node action to v4 (#4236) * fix(sdk-trace-base): processor onStart called with a span having empty attributes (#4277) Co-authored-by: artahmetaj <artahmetaj@yahoo.com> * Update fetch instrumentation to be runtime agnostic (#4063) Co-authored-by: Marc Pichler <marc.pichler@dynatrace.com> --------- Co-authored-by: Chengzhong Wu <legendecas@gmail.com> Co-authored-by: Martin Kuba <martin@martinkuba.com> Co-authored-by: Mend Renovate <bot@renovateapp.com> Co-authored-by: Siim Kallas <siimkallas@gmail.com> Co-authored-by: Marc Pichler <marc.pichler@dynatrace.com> Co-authored-by: David Luna <david.luna@elastic.co> Co-authored-by: Dinko Osrecki <dinko.osrecki@emarsys.com> Co-authored-by: Trent Mick <trentm@gmail.com> Co-authored-by: François <32224751+Lp-Francois@users.noreply.github.com> Co-authored-by: Hyun Oh <hyunnoh01@gmail.com> Co-authored-by: André Cruz <andremiguelcruz@msn.com> Co-authored-by: artahmetaj <artahmetaj@yahoo.com> Co-authored-by: drewcorlin1 <82601620+drewcorlin1@users.noreply.github.com>
This commit is contained in:
parent
1c7d7a3542
commit
0f8aa7924f
|
@ -19,33 +19,17 @@ jobs:
|
|||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- uses: actions/setup-node@v3
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: ${{ matrix.node_version }}
|
||||
|
||||
- run: npm install -g npm@latest
|
||||
|
||||
- name: restore lerna
|
||||
id: cache
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
node_modules
|
||||
package-lock.json
|
||||
packages/*/node_modules
|
||||
packages/*/package-lock.json
|
||||
experimental/packages/*/node_modules
|
||||
experimental/packages/*/package-lock.json
|
||||
key: node-tests-${{ runner.os }}-${{ matrix.node_version }}-${{ hashFiles('package.json', 'packages/*/package.json', 'experimental/packages/*/package.json') }}-04292022
|
||||
|
||||
- name: Bootstrap
|
||||
run: |
|
||||
npm install --ignore-scripts
|
||||
npx lerna bootstrap --no-ci --hoist --nohoist='zone.js' --ignore @opentelemetry/selenium-tests
|
||||
run: npm ci
|
||||
|
||||
- name: Build 🔧
|
||||
run: |
|
||||
npm run compile
|
||||
run: npm run compile
|
||||
|
||||
- name: Benchmark tests
|
||||
run: |
|
||||
|
|
|
@ -11,35 +11,13 @@ jobs:
|
|||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/setup-node@v3
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '18'
|
||||
|
||||
- name: restore lock files
|
||||
uses: actions/cache@master # must use unreleased master to cache multiple paths
|
||||
id: cache
|
||||
with:
|
||||
# must be done before bootstrap to not include node_modules files in the cache paths
|
||||
path: |
|
||||
package-lock.json
|
||||
packages/*/package-lock.json
|
||||
backwards-compatibility/*/package-lock.json
|
||||
metapackages/*/package-lock.json
|
||||
packages/*/package-lock.json
|
||||
integration-tests/*/package-lock.json
|
||||
key: ${{ runner.os }}-unit_test-${{ matrix.node_version }}-${{ hashFiles('**/package.json') }}
|
||||
- name: Install and Build (cache miss) 🔧
|
||||
if: steps.cache.outputs.cache-hit != 'true'
|
||||
- name: Install and Build 🔧
|
||||
run: |
|
||||
npm install --ignore-scripts
|
||||
npx lerna bootstrap --no-ci --hoist --nohoist='zone.js'
|
||||
npm run compile
|
||||
|
||||
- name: Install and Build (cache hit) 🔧
|
||||
if: steps.cache.outputs.cache-hit == 'true'
|
||||
run: |
|
||||
npm ci --ignore-scripts
|
||||
npx lerna bootstrap --hoist --nohoist='zone.js'
|
||||
npm ci
|
||||
npm run compile
|
||||
|
||||
- name: Build Docs
|
||||
|
|
|
@ -12,7 +12,7 @@ jobs:
|
|||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/setup-node@v3
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '16'
|
||||
|
||||
|
@ -34,24 +34,8 @@ jobs:
|
|||
args: "./**/*.md"
|
||||
ignore: './CHANGELOG.md ./experimental/packages/opentelemetry-exporter-metrics-otlp-grpc/protos ./experimental/packages/opentelemetry-exporter-metrics-otlp-proto/protos ./packages/exporter-trace-otlp-grpc/protos ./packages/exporter-trace-otlp-proto/protos'
|
||||
|
||||
- name: restore lerna
|
||||
id: cache
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
node_modules
|
||||
package-lock.json
|
||||
packages/*/node_modules
|
||||
packages/*/package-lock.json
|
||||
experimental/packages/*/node_modules
|
||||
experimental/packages/*/package-lock.json
|
||||
key: lint-${{ runner.os }}-${{ matrix.node_version }}-${{ hashFiles('package.json', 'packages/*/package.json', 'experimental/packages/*/package.json') }}-04142022
|
||||
|
||||
# On a cache miss, install dependencies
|
||||
- name: Bootstrap
|
||||
run: |
|
||||
npm install --ignore-scripts
|
||||
npx lerna bootstrap --no-ci --hoist --nohoist='zone.js'
|
||||
run: npm ci
|
||||
|
||||
- name: Lint
|
||||
run: |
|
||||
|
|
|
@ -17,7 +17,7 @@ jobs:
|
|||
uses: actions/checkout@v4
|
||||
|
||||
- name: Install lerna
|
||||
run: npm install -g lerna
|
||||
run: npm install -g lerna@6.6.2
|
||||
|
||||
- name: Install semver
|
||||
run: npm install semver
|
||||
|
|
|
@ -22,7 +22,7 @@ jobs:
|
|||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/setup-node@v3
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: ${{ matrix.node_version }}
|
||||
|
||||
|
@ -33,31 +33,11 @@ jobs:
|
|||
- run: npm install -g npm@"<10.0.0"
|
||||
if: ${{ matrix.node_version == '14' || matrix.node_version == '16' }}
|
||||
|
||||
- name: restore lerna
|
||||
id: cache
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
node_modules
|
||||
package-lock.json
|
||||
packages/*/node_modules
|
||||
packages/*/package-lock.json
|
||||
experimental/packages/*/node_modules
|
||||
experimental/packages/*/package-lock.json
|
||||
key: node-tests-${{ runner.os }}-${{ matrix.node_version }}-${{ hashFiles('package.json', 'packages/*/package.json', 'experimental/packages/*/package.json') }}-04292022
|
||||
|
||||
# temporary fix for https://github.com/nrwl/nx/issues/19022
|
||||
- run: npm install --save-dev nx@16.7.4 @nx/devkit@16.7.4
|
||||
if: ${{ matrix.node_version == '14' }}
|
||||
|
||||
- name: Bootstrap
|
||||
run: |
|
||||
npm install --ignore-scripts
|
||||
npx lerna bootstrap --no-ci --hoist --nohoist='zone.js' --ignore @opentelemetry/selenium-tests
|
||||
run: npm ci
|
||||
|
||||
- name: Build 🔧
|
||||
run: |
|
||||
npm run compile
|
||||
run: npm run compile
|
||||
|
||||
- name: Unit tests
|
||||
run: |
|
||||
|
@ -77,29 +57,14 @@ jobs:
|
|||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/setup-node@v3
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '18'
|
||||
|
||||
- run: npm install -g npm@latest
|
||||
|
||||
- name: restore lerna
|
||||
id: cache
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
node_modules
|
||||
package-lock.json
|
||||
packages/*/node_modules
|
||||
packages/*/package-lock.json
|
||||
experimental/packages/*/node_modules
|
||||
experimental/packages/*/package-lock.json
|
||||
key: node-windows-tests-${{ runner.os }}-${{ hashFiles('package.json', 'packages/*/package.json', 'experimental/packages/*/package.json') }}
|
||||
|
||||
- name: Bootstrap
|
||||
run: |
|
||||
npm install --ignore-scripts
|
||||
npx lerna bootstrap --no-ci --hoist --nohoist='zone.js' --ignore @opentelemetry/selenium-tests
|
||||
run: npm ci
|
||||
|
||||
- name: Build 🔧
|
||||
run: |
|
||||
|
@ -118,31 +83,15 @@ jobs:
|
|||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/setup-node@v3
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 16
|
||||
|
||||
- name: restore lerna
|
||||
id: cache
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
node_modules
|
||||
package-lock.json
|
||||
packages/*/node_modules
|
||||
packages/*/package-lock.json
|
||||
experimental/packages/*/node_modules
|
||||
experimental/packages/*/package-lock.json
|
||||
key: browser-tests-${{ runner.os }}-${{ hashFiles('package.json', 'packages/*/package.json', 'experimental/packages/*/package.json') }}-04292022
|
||||
|
||||
- name: Bootstrap
|
||||
run: |
|
||||
npm install --ignore-scripts
|
||||
npx lerna bootstrap --no-ci --hoist --nohoist='zone.js' --ignore @opentelemetry/selenium-tests
|
||||
run: npm ci
|
||||
|
||||
- name: Build 🔧
|
||||
run: |
|
||||
npm run compile
|
||||
run: npm run compile
|
||||
|
||||
- name: Unit tests
|
||||
run: npm run test:browser
|
||||
|
@ -155,31 +104,15 @@ jobs:
|
|||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4.0.0
|
||||
- uses: actions/setup-node@v3
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 16
|
||||
|
||||
- name: restore lerna
|
||||
id: cache
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
node_modules
|
||||
package-lock.json
|
||||
packages/*/node_modules
|
||||
packages/*/package-lock.json
|
||||
experimental/packages/*/node_modules
|
||||
experimental/packages/*/package-lock.json
|
||||
key: webworker-tests-${{ runner.os }}-${{ hashFiles('package.json', 'packages/*/package.json', 'experimental/packages/*/package.json') }}-04292022
|
||||
|
||||
- name: Bootstrap
|
||||
run: |
|
||||
npm install --ignore-scripts
|
||||
npx lerna bootstrap --no-ci --hoist --nohoist='zone.js'
|
||||
run: npm ci
|
||||
|
||||
- name: Build 🔧
|
||||
run: |
|
||||
npm run compile
|
||||
run: npm run compile
|
||||
|
||||
- name: Unit tests
|
||||
run: npm run test:webworker
|
||||
|
@ -198,7 +131,7 @@ jobs:
|
|||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/setup-node@v3
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: ${{ matrix.node_version }}
|
||||
|
||||
|
|
|
@ -14,37 +14,15 @@ jobs:
|
|||
- name: Checkout 🛎️
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/setup-node@v3
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '16'
|
||||
|
||||
- name: restore lock files
|
||||
uses: actions/cache@master # must use unreleased master to cache multiple paths
|
||||
id: cache
|
||||
with:
|
||||
# must be done before bootstrap to not include node_modules files in the cache paths
|
||||
path: |
|
||||
package-lock.json
|
||||
packages/*/package-lock.json
|
||||
metapackages/*/package-lock.json
|
||||
packages/*/package-lock.json
|
||||
integration-tests/*/package-lock.json
|
||||
key: ${{ runner.os }}-w3c_integration-${{ hashFiles('**/package.json') }}
|
||||
|
||||
- name: Install and Bootstrap (cache miss) 🔧
|
||||
if: steps.cache.outputs.cache-hit != 'true'
|
||||
run: |
|
||||
npm install --ignore-scripts
|
||||
npx lerna bootstrap --no-ci --hoist --scope=propagation-validation-server --include-dependencies
|
||||
|
||||
- name: Install and Bootstrap (cache hit) 🔧
|
||||
if: steps.cache.outputs.cache-hit == 'true'
|
||||
run: |
|
||||
npm ci --ignore-scripts
|
||||
npx lerna bootstrap --hoist --scope=propagation-validation-server --include-dependencies
|
||||
- name: Install and Bootstrap 🔧
|
||||
run: npm ci
|
||||
|
||||
- name: Generate version.ts files
|
||||
run: lerna run version
|
||||
run: npm run version:update
|
||||
|
||||
- name: Build 🔧
|
||||
run: npm run compile
|
||||
|
|
|
@ -66,7 +66,6 @@ typings/
|
|||
|
||||
# lock files
|
||||
yarn.lock
|
||||
package-lock.json
|
||||
|
||||
# docs files
|
||||
docs
|
||||
|
|
27
CHANGELOG.md
27
CHANGELOG.md
|
@ -11,14 +11,39 @@ For experimental package changes, see the [experimental CHANGELOG](experimental/
|
|||
|
||||
### :rocket: (Enhancement)
|
||||
|
||||
### :books: (Refine Doc)
|
||||
|
||||
### :house: (Internal)
|
||||
|
||||
* chore: type reference on zone.js [#4257](https://github.com/open-telemetry/opentelemetry-js/pull/4257) @legendecas
|
||||
* chore: no need for 'packages' in lerna.json [#4264](https://github.com/open-telemetry/opentelemetry-js/pull/4264) @trentm
|
||||
|
||||
### :bug: (Bug Fix)
|
||||
|
||||
* fix(sdk-trace-web): only access location if it is defined [#4063](https://github.com/open-telemetry/opentelemetry-js/pull/4063)
|
||||
* fix(sdk-trace-base): processor onStart called with a span having empty attributes
|
||||
|
||||
## 1.18.1
|
||||
|
||||
### :bug: (Bug Fix)
|
||||
|
||||
* fix(sdk-metrics): hand-roll MetricAdvice type as older API versions do not include it #4260
|
||||
|
||||
## 1.18.0
|
||||
|
||||
### :rocket: (Enhancement)
|
||||
|
||||
* feat(metrics): prototype experimental advice support [#3876](https://github.com/open-telemetry/opentelemetry-js/pull/3876) @legendecas
|
||||
|
||||
### :bug: (Bug Fix)
|
||||
|
||||
### :books: (Refine Doc)
|
||||
* fix(core): remove re-export of `version.ts` [#4225](https://github.com/open-telemetry/opentelemetry-js/pull/4225) @david-luna
|
||||
|
||||
### :house: (Internal)
|
||||
|
||||
* chore: track package-lock.json [#4238](https://github.com/open-telemetry/opentelemetry-js/pull/4238) @legendecas
|
||||
* Switched to npm workspaces to bootstrap dependencies.
|
||||
|
||||
## 1.17.1
|
||||
|
||||
### :bug: (Bug Fix)
|
||||
|
|
|
@ -161,7 +161,7 @@ Most of the commands needed for development are accessed as [npm scripts](https:
|
|||
|
||||
### Install dependencies
|
||||
|
||||
This will install all dependencies for the root project and all modules managed by `lerna`. By default, a `postinstall` script will run `lerna bootstrap` automatically after an install. This can be avoided using the `--ignore-scripts` option if desired.
|
||||
This will install all dependencies for the root project and all modules managed by `npm workspaces`.
|
||||
|
||||
```sh
|
||||
npm install
|
||||
|
|
|
@ -143,7 +143,8 @@ The below table describes which versions of each set of packages are expected to
|
|||
|
||||
| Stable Packages | Experimental Packages |
|
||||
|-----------------------------------------------------------------|-----------------------|
|
||||
| 1.17.x | 0.43.x |
|
||||
| 1.18.x | 0.45.x |
|
||||
| 1.17.x | 0.44.x |
|
||||
| 1.16.x | 0.42.x |
|
||||
| 1.15.x | 0.41.x |
|
||||
| 1.14.x | 0.40.x |
|
||||
|
|
|
@ -4,9 +4,12 @@ All notable changes to this project will be documented in this file.
|
|||
|
||||
## Unreleased
|
||||
|
||||
## 1.7.0
|
||||
|
||||
### :rocket: (Enhancement)
|
||||
|
||||
* feat(metrics): prototype experimental advice support [#3876](https://github.com/open-telemetry/opentelemetry-js/pull/3876) @legendecas
|
||||
* feat(api): publish api esnext target [#4231](https://github.com/open-telemetry/opentelemetry-js/pull/4231) @legendecas
|
||||
|
||||
## 1.6.0
|
||||
|
||||
|
|
|
@ -1,13 +1,15 @@
|
|||
{
|
||||
"name": "@opentelemetry/api",
|
||||
"version": "1.6.0",
|
||||
"version": "1.7.0",
|
||||
"description": "Public API for OpenTelemetry",
|
||||
"main": "build/src/index.js",
|
||||
"module": "build/esm/index.js",
|
||||
"esnext": "build/esnext/index.js",
|
||||
"types": "build/src/index.d.ts",
|
||||
"browser": {
|
||||
"./src/platform/index.ts": "./src/platform/browser/index.ts",
|
||||
"./build/esm/platform/index.js": "./build/esm/platform/browser/index.js",
|
||||
"./build/esnext/platform/index.js": "./build/esnext/platform/browser/index.js",
|
||||
"./build/src/platform/index.js": "./build/src/platform/browser/index.js"
|
||||
},
|
||||
"repository": "open-telemetry/opentelemetry-js",
|
||||
|
@ -51,6 +53,9 @@
|
|||
"build/esm/**/*.js",
|
||||
"build/esm/**/*.js.map",
|
||||
"build/esm/**/*.d.ts",
|
||||
"build/esnext/**/*.js",
|
||||
"build/esnext/**/*.js.map",
|
||||
"build/esnext/**/*.d.ts",
|
||||
"build/src/**/*.js",
|
||||
"build/src/**/*.js.map",
|
||||
"build/src/**/*.d.ts",
|
||||
|
@ -61,15 +66,15 @@
|
|||
"access": "public"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/mocha": "10.0.2",
|
||||
"@types/mocha": "10.0.3",
|
||||
"@types/node": "18.6.5",
|
||||
"@types/sinon": "10.0.19",
|
||||
"@types/webpack": "4.41.34",
|
||||
"@types/sinon": "10.0.20",
|
||||
"@types/webpack": "4.41.35",
|
||||
"@types/webpack-env": "1.16.3",
|
||||
"babel-plugin-istanbul": "6.1.1",
|
||||
"codecov": "3.8.3",
|
||||
"cross-var": "1.1.0",
|
||||
"dpdm": "3.13.1",
|
||||
"babel-plugin-istanbul": "6.1.1",
|
||||
"karma": "6.4.2",
|
||||
"karma-chrome-launcher": "3.1.0",
|
||||
"karma-coverage": "2.2.1",
|
||||
|
@ -77,7 +82,7 @@
|
|||
"karma-mocha-webworker": "1.3.0",
|
||||
"karma-spec-reporter": "0.0.36",
|
||||
"karma-webpack": "4.0.2",
|
||||
"lerna": "7.1.5",
|
||||
"lerna": "6.6.2",
|
||||
"memfs": "3.5.3",
|
||||
"mocha": "10.2.0",
|
||||
"nyc": "15.1.0",
|
||||
|
|
|
@ -95,7 +95,7 @@ describe('tree-shaking', () => {
|
|||
if (err) {
|
||||
return reject(err);
|
||||
}
|
||||
resolve(stats);
|
||||
resolve(stats!);
|
||||
});
|
||||
});
|
||||
assert.deepStrictEqual(stats.compilation.errors, []);
|
||||
|
|
|
@ -5,7 +5,7 @@ Benchmark tests are intended to measure performance of small units of code.
|
|||
|
||||
It is recommended that operations that have a high impact on the performance of the SDK (or potential for) are accompanied by a benchmark test. This helps end-users understand the performance trend over time, and it also helps maintainers catch performance regressions.
|
||||
|
||||
Benchmark tests are run automatically with every merge to main, and the results are available at <https://open-telemetry.github.io/opentelemetry-js/benchmark>.
|
||||
Benchmark tests are run automatically with every merge to main, and the results are available at <https://open-telemetry.github.io/opentelemetry-js/benchmarks>.
|
||||
|
||||
## Running benchmark tests
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "esm-http-ts",
|
||||
"private": true,
|
||||
"version": "0.44.0",
|
||||
"version": "0.45.1",
|
||||
"description": "Example of HTTP integration with OpenTelemetry using ESM and TypeScript",
|
||||
"main": "build/index.js",
|
||||
"type": "module",
|
||||
|
@ -30,13 +30,13 @@
|
|||
},
|
||||
"homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/examples/",
|
||||
"dependencies": {
|
||||
"@opentelemetry/api": "1.6.0",
|
||||
"@opentelemetry/exporter-trace-otlp-proto": "0.44.0",
|
||||
"@opentelemetry/instrumentation": "0.44.0",
|
||||
"@opentelemetry/instrumentation-http": "0.44.0",
|
||||
"@opentelemetry/resources": "1.17.1",
|
||||
"@opentelemetry/sdk-trace-base": "1.17.1",
|
||||
"@opentelemetry/sdk-trace-node": "1.17.1",
|
||||
"@opentelemetry/semantic-conventions": "1.17.1"
|
||||
"@opentelemetry/api": "1.7.0",
|
||||
"@opentelemetry/exporter-trace-otlp-proto": "0.45.1",
|
||||
"@opentelemetry/instrumentation": "0.45.1",
|
||||
"@opentelemetry/instrumentation-http": "0.45.1",
|
||||
"@opentelemetry/resources": "1.18.1",
|
||||
"@opentelemetry/sdk-trace-base": "1.18.1",
|
||||
"@opentelemetry/sdk-trace-node": "1.18.1",
|
||||
"@opentelemetry/semantic-conventions": "1.18.1"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "http-example",
|
||||
"private": true,
|
||||
"version": "0.44.0",
|
||||
"version": "0.45.1",
|
||||
"description": "Example of HTTP integration with OpenTelemetry",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
|
@ -29,14 +29,14 @@
|
|||
},
|
||||
"dependencies": {
|
||||
"@opentelemetry/api": "^1.3.0",
|
||||
"@opentelemetry/exporter-jaeger": "1.17.1",
|
||||
"@opentelemetry/exporter-zipkin": "1.17.1",
|
||||
"@opentelemetry/instrumentation": "0.44.0",
|
||||
"@opentelemetry/instrumentation-http": "0.44.0",
|
||||
"@opentelemetry/resources": "1.17.1",
|
||||
"@opentelemetry/sdk-trace-base": "1.17.1",
|
||||
"@opentelemetry/sdk-trace-node": "1.17.1",
|
||||
"@opentelemetry/semantic-conventions": "1.17.1"
|
||||
"@opentelemetry/exporter-jaeger": "1.18.1",
|
||||
"@opentelemetry/exporter-zipkin": "1.18.1",
|
||||
"@opentelemetry/instrumentation": "0.45.1",
|
||||
"@opentelemetry/instrumentation-http": "0.45.1",
|
||||
"@opentelemetry/resources": "1.18.1",
|
||||
"@opentelemetry/sdk-trace-base": "1.18.1",
|
||||
"@opentelemetry/sdk-trace-node": "1.18.1",
|
||||
"@opentelemetry/semantic-conventions": "1.18.1"
|
||||
},
|
||||
"homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/examples/http",
|
||||
"devDependencies": {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "https-example",
|
||||
"private": true,
|
||||
"version": "0.44.0",
|
||||
"version": "0.45.1",
|
||||
"description": "Example of HTTPs integration with OpenTelemetry",
|
||||
"main": "build/src/index.js",
|
||||
"types": "build/src/index.d.ts",
|
||||
|
@ -33,14 +33,14 @@
|
|||
},
|
||||
"dependencies": {
|
||||
"@opentelemetry/api": "^1.0.0",
|
||||
"@opentelemetry/exporter-jaeger": "1.17.1",
|
||||
"@opentelemetry/exporter-zipkin": "1.17.1",
|
||||
"@opentelemetry/instrumentation": "0.44.0",
|
||||
"@opentelemetry/instrumentation-http": "0.44.0",
|
||||
"@opentelemetry/resources": "1.17.1",
|
||||
"@opentelemetry/sdk-trace-base": "1.17.1",
|
||||
"@opentelemetry/sdk-trace-node": "1.17.1",
|
||||
"@opentelemetry/semantic-conventions": "1.17.1"
|
||||
"@opentelemetry/exporter-jaeger": "1.18.1",
|
||||
"@opentelemetry/exporter-zipkin": "1.18.1",
|
||||
"@opentelemetry/instrumentation": "0.45.1",
|
||||
"@opentelemetry/instrumentation-http": "0.45.1",
|
||||
"@opentelemetry/resources": "1.18.1",
|
||||
"@opentelemetry/sdk-trace-base": "1.18.1",
|
||||
"@opentelemetry/sdk-trace-node": "1.18.1",
|
||||
"@opentelemetry/semantic-conventions": "1.18.1"
|
||||
},
|
||||
"homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/examples/https",
|
||||
"devDependencies": {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "web-opentelemetry-example",
|
||||
"private": true,
|
||||
"version": "0.44.0",
|
||||
"version": "0.45.1",
|
||||
"description": "Example of using @opentelemetry/sdk-trace-web and @opentelemetry/sdk-metrics in browser",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
|
@ -43,20 +43,20 @@
|
|||
},
|
||||
"dependencies": {
|
||||
"@opentelemetry/api": "^1.3.0",
|
||||
"@opentelemetry/context-zone": "1.17.1",
|
||||
"@opentelemetry/core": "1.17.1",
|
||||
"@opentelemetry/exporter-metrics-otlp-http": "0.44.0",
|
||||
"@opentelemetry/exporter-trace-otlp-http": "0.44.0",
|
||||
"@opentelemetry/exporter-trace-otlp-proto": "0.44.0",
|
||||
"@opentelemetry/exporter-zipkin": "1.17.1",
|
||||
"@opentelemetry/instrumentation": "0.44.0",
|
||||
"@opentelemetry/instrumentation-fetch": "0.44.0",
|
||||
"@opentelemetry/instrumentation-xml-http-request": "0.44.0",
|
||||
"@opentelemetry/propagator-b3": "1.17.1",
|
||||
"@opentelemetry/sdk-metrics": "1.17.1",
|
||||
"@opentelemetry/sdk-trace-base": "1.17.1",
|
||||
"@opentelemetry/sdk-trace-web": "1.17.1",
|
||||
"@opentelemetry/semantic-conventions": "1.17.1"
|
||||
"@opentelemetry/context-zone": "1.18.1",
|
||||
"@opentelemetry/core": "1.18.1",
|
||||
"@opentelemetry/exporter-metrics-otlp-http": "0.45.1",
|
||||
"@opentelemetry/exporter-trace-otlp-http": "0.45.1",
|
||||
"@opentelemetry/exporter-trace-otlp-proto": "0.45.1",
|
||||
"@opentelemetry/exporter-zipkin": "1.18.1",
|
||||
"@opentelemetry/instrumentation": "0.45.1",
|
||||
"@opentelemetry/instrumentation-fetch": "0.45.1",
|
||||
"@opentelemetry/instrumentation-xml-http-request": "0.45.1",
|
||||
"@opentelemetry/propagator-b3": "1.18.1",
|
||||
"@opentelemetry/sdk-metrics": "1.18.1",
|
||||
"@opentelemetry/sdk-trace-base": "1.18.1",
|
||||
"@opentelemetry/sdk-trace-web": "1.18.1",
|
||||
"@opentelemetry/semantic-conventions": "1.18.1"
|
||||
},
|
||||
"homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/examples/tracer-web"
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "example-otlp-exporter-node",
|
||||
"private": true,
|
||||
"version": "0.44.0",
|
||||
"version": "0.45.1",
|
||||
"description": "Example of using @opentelemetry/collector-exporter in Node.js",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
|
@ -29,17 +29,17 @@
|
|||
},
|
||||
"dependencies": {
|
||||
"@opentelemetry/api": "^1.3.0",
|
||||
"@opentelemetry/core": "1.17.1",
|
||||
"@opentelemetry/exporter-metrics-otlp-grpc": "0.44.0",
|
||||
"@opentelemetry/exporter-metrics-otlp-http": "0.44.0",
|
||||
"@opentelemetry/exporter-metrics-otlp-proto": "0.44.0",
|
||||
"@opentelemetry/exporter-trace-otlp-grpc": "0.44.0",
|
||||
"@opentelemetry/exporter-trace-otlp-http": "0.44.0",
|
||||
"@opentelemetry/exporter-trace-otlp-proto": "0.44.0",
|
||||
"@opentelemetry/resources": "1.17.1",
|
||||
"@opentelemetry/sdk-metrics": "1.17.1",
|
||||
"@opentelemetry/sdk-trace-base": "1.17.1",
|
||||
"@opentelemetry/semantic-conventions": "1.17.1"
|
||||
"@opentelemetry/core": "1.18.1",
|
||||
"@opentelemetry/exporter-metrics-otlp-grpc": "0.45.1",
|
||||
"@opentelemetry/exporter-metrics-otlp-http": "0.45.1",
|
||||
"@opentelemetry/exporter-metrics-otlp-proto": "0.45.1",
|
||||
"@opentelemetry/exporter-trace-otlp-grpc": "0.45.1",
|
||||
"@opentelemetry/exporter-trace-otlp-http": "0.45.1",
|
||||
"@opentelemetry/exporter-trace-otlp-proto": "0.45.1",
|
||||
"@opentelemetry/resources": "1.18.1",
|
||||
"@opentelemetry/sdk-metrics": "1.18.1",
|
||||
"@opentelemetry/sdk-trace-base": "1.18.1",
|
||||
"@opentelemetry/semantic-conventions": "1.18.1"
|
||||
},
|
||||
"homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/examples/otlp-exporter-node"
|
||||
}
|
||||
|
|
|
@ -10,14 +10,31 @@ All notable changes to experimental packages in this project will be documented
|
|||
|
||||
### :bug: (Bug Fix)
|
||||
|
||||
* fix(sdk-node): remove the explicit dependency on @opentelemetry/exporter-jaeger that was kept on the previous release
|
||||
* '@opentelemetry/exporter-jaeger' is no longer be a dependency of this package. To continue using '@opentelemetry/exporter-jaeger', please install it manually.
|
||||
* NOTE: `@opentelemetry/exporter-jaeger` is deprecated, consider switching to one of the alternatives described [here](https://www.npmjs.com/package/@opentelemetry/exporter-jaeger)
|
||||
* fix(sdk-logs): avoid map attribute set when count limit exceeded
|
||||
* fix(instrumentation-fetch): only access navigator if it is defined [#4063](https://github.com/open-telemetry/opentelemetry-js/pull/4063)
|
||||
* allows for experimental usage of this instrumentation with non-browser runtimes
|
||||
|
||||
### :books: (Refine Doc)
|
||||
|
||||
### :house: (Internal)
|
||||
|
||||
## 0.45.1
|
||||
|
||||
### :bug: (Bug Fix)
|
||||
|
||||
* Bumps all dependencies to explicitly include Stable v1.18.1 packages
|
||||
|
||||
## 0.45.0
|
||||
|
||||
### :boom: Breaking Change
|
||||
|
||||
* fix(sdk-node)!: remove the explicit dependency on @opentelemetry/exporter-jaeger that was kept on the previous release
|
||||
* '@opentelemetry/exporter-jaeger' is no longer be a dependency of this package. To continue using '@opentelemetry/exporter-jaeger', please install it manually.
|
||||
* NOTE: `@opentelemetry/exporter-jaeger` is deprecated, consider switching to one of the alternatives described [here](https://www.npmjs.com/package/@opentelemetry/exporter-jaeger)
|
||||
* fix(otlp-transformer)!: OTLP json encoding [#4220](https://github.com/open-telemetry/opentelemetry-js/pull/4220) @seemk
|
||||
* Fixes a bug in the OTLP (http/json) exporters where timestamps were not encoded as strings, causing the export to
|
||||
be rejected by OTLP endpoints
|
||||
|
||||
## 0.44.0
|
||||
|
||||
### :boom: Breaking Change
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "backcompat-node14",
|
||||
"version": "0.44.0",
|
||||
"version": "0.45.1",
|
||||
"private": true,
|
||||
"description": "Backwards compatibility app for node 14 types and the OpenTelemetry Node.js SDK",
|
||||
"main": "index.js",
|
||||
|
@ -9,8 +9,8 @@
|
|||
"peer-api-check": "node ../../../scripts/peer-api-check.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"@opentelemetry/sdk-node": "0.44.0",
|
||||
"@opentelemetry/sdk-trace-base": "1.17.1"
|
||||
"@opentelemetry/sdk-node": "0.45.1",
|
||||
"@opentelemetry/sdk-trace-base": "1.18.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "14.18.25",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "backcompat-node16",
|
||||
"version": "0.44.0",
|
||||
"version": "0.45.1",
|
||||
"private": true,
|
||||
"description": "Backwards compatibility app for node 16 types and the OpenTelemetry Node.js SDK",
|
||||
"main": "index.js",
|
||||
|
@ -9,8 +9,8 @@
|
|||
"peer-api-check": "node ../../../scripts/peer-api-check.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"@opentelemetry/sdk-node": "0.44.0",
|
||||
"@opentelemetry/sdk-trace-base": "1.17.1"
|
||||
"@opentelemetry/sdk-node": "0.45.1",
|
||||
"@opentelemetry/sdk-trace-base": "1.18.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "16.11.52",
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
{
|
||||
"name": "logs-example",
|
||||
"version": "0.44.0",
|
||||
"version": "0.45.1",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"start": "ts-node index.ts"
|
||||
},
|
||||
"dependencies": {
|
||||
"@opentelemetry/api": "^1.6.0",
|
||||
"@opentelemetry/api-logs": "0.41.0",
|
||||
"@opentelemetry/sdk-logs": "0.41.0"
|
||||
"@opentelemetry/api": "^1.7.0",
|
||||
"@opentelemetry/api-logs": "0.45.1",
|
||||
"@opentelemetry/sdk-logs": "0.45.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "18.6.5",
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "opencensus-shim",
|
||||
"private": true,
|
||||
"version": "0.44.0",
|
||||
"version": "0.45.1",
|
||||
"description": "Example of using @opentelemetry/shim-opencensus in Node.js",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
|
@ -30,14 +30,14 @@
|
|||
"@opencensus/core": "0.1.0",
|
||||
"@opencensus/instrumentation-http": "0.1.0",
|
||||
"@opencensus/nodejs-base": "0.1.0",
|
||||
"@opentelemetry/api": "1.6.0",
|
||||
"@opentelemetry/exporter-prometheus": "0.44.0",
|
||||
"@opentelemetry/exporter-trace-otlp-grpc": "0.44.0",
|
||||
"@opentelemetry/resources": "1.17.1",
|
||||
"@opentelemetry/sdk-metrics": "1.17.1",
|
||||
"@opentelemetry/sdk-trace-node": "1.17.1",
|
||||
"@opentelemetry/semantic-conventions": "1.17.1",
|
||||
"@opentelemetry/shim-opencensus": "0.44.0"
|
||||
"@opentelemetry/api": "1.7.0",
|
||||
"@opentelemetry/exporter-prometheus": "0.45.1",
|
||||
"@opentelemetry/exporter-trace-otlp-grpc": "0.45.1",
|
||||
"@opentelemetry/resources": "1.18.1",
|
||||
"@opentelemetry/sdk-metrics": "1.18.1",
|
||||
"@opentelemetry/sdk-trace-node": "1.18.1",
|
||||
"@opentelemetry/semantic-conventions": "1.18.1",
|
||||
"@opentelemetry/shim-opencensus": "0.45.1"
|
||||
},
|
||||
"homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/examples/opencensus-shim"
|
||||
}
|
||||
|
|
|
@ -11,17 +11,28 @@ This is a simple example that demonstrates basic metrics collection and exports
|
|||
npm install
|
||||
```
|
||||
|
||||
Setup [Prometheus](https://prometheus.io/docs/prometheus/latest/getting_started/)
|
||||
|
||||
## Run the Application
|
||||
|
||||
- Run the server
|
||||
|
||||
```sh
|
||||
# from this directory
|
||||
npm run start
|
||||
```
|
||||
|
||||
If you are using the default configurations, the metrics should be available at <http://localhost:9464/metrics>
|
||||
|
||||
## Run Prometheus
|
||||
|
||||
### With docker
|
||||
|
||||
```sh
|
||||
# from this directory
|
||||
docker compose up
|
||||
```
|
||||
|
||||
### With binary
|
||||
|
||||
Setup [Prometheus](https://prometheus.io/docs/prometheus/latest/getting_started/)
|
||||
|
||||
- Replace the `prometheus.yml` provided by the Prometheus installation with the following:
|
||||
|
||||
```yaml
|
||||
|
@ -34,7 +45,6 @@ scrape_configs:
|
|||
# scheme defaults to 'http'.
|
||||
static_configs:
|
||||
- targets: ['localhost:9464']
|
||||
|
||||
```
|
||||
|
||||
- Start Prometheus
|
||||
|
@ -44,7 +54,7 @@ scrape_configs:
|
|||
prometheus --config.file=prometheus.yml
|
||||
```
|
||||
|
||||
### Prometheus UI
|
||||
## Prometheus UI
|
||||
|
||||
If you are using the default configurations, the prometheus client will be available at <http://localhost:9090>
|
||||
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
version: '3.7'
|
||||
|
||||
services:
|
||||
prometheus:
|
||||
image: prom/prometheus:v2.47.2
|
||||
extra_hosts:
|
||||
- host.docker.internal:host-gateway
|
||||
volumes:
|
||||
- "./prometheus.docker.yml:/etc/prometheus/prometheus.yml"
|
||||
ports:
|
||||
- 9090:9090
|
||||
restart: always
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "prometheus-example",
|
||||
"version": "0.44.0",
|
||||
"version": "0.45.1",
|
||||
"private": true,
|
||||
"description": "Example of using @opentelemetry/sdk-metrics and @opentelemetry/exporter-prometheus",
|
||||
"main": "index.js",
|
||||
|
@ -11,7 +11,7 @@
|
|||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@opentelemetry/api": "^1.3.0",
|
||||
"@opentelemetry/exporter-prometheus": "0.44.0",
|
||||
"@opentelemetry/sdk-metrics": "1.17.1"
|
||||
"@opentelemetry/exporter-prometheus": "0.45.1",
|
||||
"@opentelemetry/sdk-metrics": "1.18.1"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
global:
|
||||
scrape_interval: 15s # Default is every 1 minute.
|
||||
|
||||
scrape_configs:
|
||||
- job_name: 'opentelemetry'
|
||||
# metrics_path defaults to '/metrics'
|
||||
# scheme defaults to 'http'.
|
||||
static_configs:
|
||||
- targets: ['host.docker.internal:9464']
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@opentelemetry/api-events",
|
||||
"version": "0.44.0",
|
||||
"version": "0.45.1",
|
||||
"description": "Public events API for OpenTelemetry",
|
||||
"main": "build/src/index.js",
|
||||
"module": "build/esm/index.js",
|
||||
|
@ -64,7 +64,7 @@
|
|||
"@opentelemetry/api": "^1.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/mocha": "10.0.2",
|
||||
"@types/mocha": "10.0.3",
|
||||
"@types/node": "18.6.5",
|
||||
"@types/webpack-env": "1.16.3",
|
||||
"babel-plugin-istanbul": "6.1.1",
|
||||
|
@ -76,7 +76,7 @@
|
|||
"karma-mocha": "2.0.1",
|
||||
"karma-spec-reporter": "0.0.36",
|
||||
"karma-webpack": "4.0.2",
|
||||
"lerna": "7.1.5",
|
||||
"lerna": "6.6.2",
|
||||
"mocha": "10.2.0",
|
||||
"nyc": "15.1.0",
|
||||
"ts-loader": "8.4.0",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@opentelemetry/api-logs",
|
||||
"version": "0.44.0",
|
||||
"version": "0.45.1",
|
||||
"description": "Public logs API for OpenTelemetry",
|
||||
"main": "build/src/index.js",
|
||||
"module": "build/esm/index.js",
|
||||
|
@ -64,7 +64,7 @@
|
|||
"@opentelemetry/api": "^1.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/mocha": "10.0.2",
|
||||
"@types/mocha": "10.0.3",
|
||||
"@types/node": "18.6.5",
|
||||
"@types/webpack-env": "1.16.3",
|
||||
"babel-plugin-istanbul": "6.1.1",
|
||||
|
@ -76,7 +76,7 @@
|
|||
"karma-mocha": "2.0.1",
|
||||
"karma-spec-reporter": "0.0.36",
|
||||
"karma-webpack": "4.0.2",
|
||||
"lerna": "7.1.5",
|
||||
"lerna": "6.6.2",
|
||||
"mocha": "10.2.0",
|
||||
"nyc": "15.1.0",
|
||||
"ts-loader": "8.4.0",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@opentelemetry/exporter-logs-otlp-grpc",
|
||||
"version": "0.44.0",
|
||||
"version": "0.45.1",
|
||||
"description": "OpenTelemetry Collector Exporter allows user to send collected log records to the OpenTelemetry Collector",
|
||||
"main": "build/src/index.js",
|
||||
"types": "build/src/index.d.ts",
|
||||
|
@ -50,17 +50,17 @@
|
|||
"devDependencies": {
|
||||
"@babel/core": "7.22.20",
|
||||
"@grpc/proto-loader": "^0.7.10",
|
||||
"@opentelemetry/api": "1.6.0",
|
||||
"@opentelemetry/api-logs": "0.44.0",
|
||||
"@opentelemetry/otlp-exporter-base": "0.44.0",
|
||||
"@opentelemetry/resources": "1.17.1",
|
||||
"@types/mocha": "10.0.2",
|
||||
"@opentelemetry/api": "1.7.0",
|
||||
"@opentelemetry/api-logs": "0.45.1",
|
||||
"@opentelemetry/otlp-exporter-base": "0.45.1",
|
||||
"@opentelemetry/resources": "1.18.1",
|
||||
"@types/mocha": "10.0.3",
|
||||
"@types/node": "18.6.5",
|
||||
"@types/sinon": "10.0.19",
|
||||
"@types/sinon": "10.0.20",
|
||||
"codecov": "3.8.3",
|
||||
"cpx": "1.5.0",
|
||||
"cross-var": "1.1.0",
|
||||
"lerna": "7.1.5",
|
||||
"lerna": "6.6.2",
|
||||
"mocha": "10.2.0",
|
||||
"nyc": "15.1.0",
|
||||
"sinon": "15.1.2",
|
||||
|
@ -73,10 +73,10 @@
|
|||
},
|
||||
"dependencies": {
|
||||
"@grpc/grpc-js": "^1.7.1",
|
||||
"@opentelemetry/core": "1.17.1",
|
||||
"@opentelemetry/otlp-grpc-exporter-base": "0.44.0",
|
||||
"@opentelemetry/otlp-transformer": "0.44.0",
|
||||
"@opentelemetry/sdk-logs": "0.44.0"
|
||||
"@opentelemetry/core": "1.18.1",
|
||||
"@opentelemetry/otlp-grpc-exporter-base": "0.45.1",
|
||||
"@opentelemetry/otlp-transformer": "0.45.1",
|
||||
"@opentelemetry/sdk-logs": "0.45.1"
|
||||
},
|
||||
"homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/exporter-logs-otlp-grpc",
|
||||
"sideEffects": false
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@opentelemetry/exporter-logs-otlp-http",
|
||||
"version": "0.44.0",
|
||||
"version": "0.45.1",
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
|
@ -72,11 +72,11 @@
|
|||
"sideEffects": false,
|
||||
"devDependencies": {
|
||||
"@babel/core": "7.22.20",
|
||||
"@opentelemetry/api": "1.6.0",
|
||||
"@opentelemetry/resources": "1.17.1",
|
||||
"@types/mocha": "10.0.2",
|
||||
"@opentelemetry/api": "1.7.0",
|
||||
"@opentelemetry/resources": "1.18.1",
|
||||
"@types/mocha": "10.0.3",
|
||||
"@types/node": "18.6.5",
|
||||
"@types/sinon": "10.0.19",
|
||||
"@types/sinon": "10.0.20",
|
||||
"@types/webpack-env": "1.16.3",
|
||||
"babel-loader": "8.3.0",
|
||||
"babel-plugin-istanbul": "6.1.1",
|
||||
|
@ -89,7 +89,7 @@
|
|||
"karma-mocha": "2.0.1",
|
||||
"karma-spec-reporter": "0.0.36",
|
||||
"karma-webpack": "4.0.2",
|
||||
"lerna": "7.1.5",
|
||||
"lerna": "6.6.2",
|
||||
"mocha": "10.2.0",
|
||||
"nyc": "15.1.0",
|
||||
"sinon": "15.1.2",
|
||||
|
@ -104,10 +104,10 @@
|
|||
"@opentelemetry/api": "^1.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@opentelemetry/api-logs": "0.44.0",
|
||||
"@opentelemetry/core": "1.17.1",
|
||||
"@opentelemetry/otlp-exporter-base": "0.44.0",
|
||||
"@opentelemetry/otlp-transformer": "0.44.0",
|
||||
"@opentelemetry/sdk-logs": "0.44.0"
|
||||
"@opentelemetry/api-logs": "0.45.1",
|
||||
"@opentelemetry/core": "1.18.1",
|
||||
"@opentelemetry/otlp-exporter-base": "0.45.1",
|
||||
"@opentelemetry/otlp-transformer": "0.45.1",
|
||||
"@opentelemetry/sdk-logs": "0.45.1"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -48,7 +48,10 @@ export class OTLPLogExporter
|
|||
}
|
||||
|
||||
convert(logRecords: ReadableLogRecord[]): IExportLogsServiceRequest {
|
||||
return createExportLogsServiceRequest(logRecords, true);
|
||||
return createExportLogsServiceRequest(logRecords, {
|
||||
useHex: true,
|
||||
useLongBits: false,
|
||||
});
|
||||
}
|
||||
|
||||
getDefaultUrl(config: OTLPExporterConfigBase): string {
|
||||
|
|
|
@ -48,7 +48,10 @@ export class OTLPLogExporter
|
|||
}
|
||||
|
||||
convert(logRecords: ReadableLogRecord[]): IExportLogsServiceRequest {
|
||||
return createExportLogsServiceRequest(logRecords, true);
|
||||
return createExportLogsServiceRequest(logRecords, {
|
||||
useHex: true,
|
||||
useLongBits: false,
|
||||
});
|
||||
}
|
||||
|
||||
getDefaultUrl(config: OTLPExporterNodeConfigBase): string {
|
||||
|
|
|
@ -20,7 +20,6 @@ import { Resource } from '@opentelemetry/resources';
|
|||
import * as assert from 'assert';
|
||||
import { VERSION } from '@opentelemetry/core';
|
||||
import {
|
||||
hrTimeToFixed64Nanos,
|
||||
IAnyValue,
|
||||
IExportLogsServiceRequest,
|
||||
IKeyValue,
|
||||
|
@ -77,22 +76,17 @@ export function ensureExportedBodyIsCorrect(body?: IAnyValue) {
|
|||
);
|
||||
}
|
||||
|
||||
function hrTimeToFixed64(hrTime: HrTime) {
|
||||
const { low, high } = hrTimeToFixed64Nanos(hrTime);
|
||||
return { low, high };
|
||||
}
|
||||
|
||||
export function ensureExportedLogRecordIsCorrect(logRecord: ILogRecord) {
|
||||
ensureExportedBodyIsCorrect(logRecord.body);
|
||||
ensureExportedAttributesAreCorrect(logRecord.attributes);
|
||||
assert.deepStrictEqual(
|
||||
logRecord.timeUnixNano,
|
||||
hrTimeToFixed64(mockedReadableLogRecord.hrTime),
|
||||
'1680253513123241635',
|
||||
'timeUnixNano is wrong'
|
||||
);
|
||||
assert.deepStrictEqual(
|
||||
logRecord.observedTimeUnixNano,
|
||||
hrTimeToFixed64(mockedReadableLogRecord.hrTimeObserved),
|
||||
'1680253513123241635',
|
||||
'observedTimeUnixNano is wrong'
|
||||
);
|
||||
assert.strictEqual(
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@opentelemetry/exporter-logs-otlp-proto",
|
||||
"version": "0.44.0",
|
||||
"version": "0.45.1",
|
||||
"description": "An OTLP exporter to send logs using protobuf over HTTP",
|
||||
"main": "build/src/index.js",
|
||||
"module": "build/esm/index.js",
|
||||
|
@ -64,10 +64,10 @@
|
|||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "7.22.20",
|
||||
"@opentelemetry/api": "1.6.0",
|
||||
"@types/mocha": "10.0.2",
|
||||
"@opentelemetry/api": "1.7.0",
|
||||
"@types/mocha": "10.0.3",
|
||||
"@types/node": "18.6.5",
|
||||
"@types/sinon": "10.0.19",
|
||||
"@types/sinon": "10.0.20",
|
||||
"babel-plugin-istanbul": "6.1.1",
|
||||
"codecov": "3.8.3",
|
||||
"cpx": "1.5.0",
|
||||
|
@ -78,7 +78,7 @@
|
|||
"karma-mocha": "2.0.1",
|
||||
"karma-spec-reporter": "0.0.36",
|
||||
"karma-webpack": "4.0.2",
|
||||
"lerna": "7.1.5",
|
||||
"lerna": "6.6.2",
|
||||
"mocha": "10.2.0",
|
||||
"nyc": "15.1.0",
|
||||
"sinon": "15.1.2",
|
||||
|
@ -93,14 +93,14 @@
|
|||
"@opentelemetry/api": "^1.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@opentelemetry/api-logs": "0.44.0",
|
||||
"@opentelemetry/core": "1.17.1",
|
||||
"@opentelemetry/otlp-exporter-base": "0.44.0",
|
||||
"@opentelemetry/otlp-proto-exporter-base": "0.44.0",
|
||||
"@opentelemetry/otlp-transformer": "0.44.0",
|
||||
"@opentelemetry/resources": "1.17.1",
|
||||
"@opentelemetry/sdk-logs": "0.44.0",
|
||||
"@opentelemetry/sdk-trace-base": "1.17.1"
|
||||
"@opentelemetry/api-logs": "0.45.1",
|
||||
"@opentelemetry/core": "1.18.1",
|
||||
"@opentelemetry/otlp-exporter-base": "0.45.1",
|
||||
"@opentelemetry/otlp-proto-exporter-base": "0.45.1",
|
||||
"@opentelemetry/otlp-transformer": "0.45.1",
|
||||
"@opentelemetry/resources": "1.18.1",
|
||||
"@opentelemetry/sdk-logs": "0.45.1",
|
||||
"@opentelemetry/sdk-trace-base": "1.18.1"
|
||||
},
|
||||
"homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/exporter-logs-otlp-proto",
|
||||
"sideEffects": false
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@opentelemetry/exporter-trace-otlp-grpc",
|
||||
"version": "0.44.0",
|
||||
"version": "0.45.1",
|
||||
"description": "OpenTelemetry Collector Exporter allows user to send collected traces to the OpenTelemetry Collector",
|
||||
"main": "build/src/index.js",
|
||||
"types": "build/src/index.d.ts",
|
||||
|
@ -49,15 +49,15 @@
|
|||
"devDependencies": {
|
||||
"@babel/core": "7.22.20",
|
||||
"@grpc/proto-loader": "^0.7.10",
|
||||
"@opentelemetry/api": "1.6.0",
|
||||
"@opentelemetry/otlp-exporter-base": "0.44.0",
|
||||
"@types/mocha": "10.0.2",
|
||||
"@opentelemetry/api": "1.7.0",
|
||||
"@opentelemetry/otlp-exporter-base": "0.45.1",
|
||||
"@types/mocha": "10.0.3",
|
||||
"@types/node": "18.6.5",
|
||||
"@types/sinon": "10.0.19",
|
||||
"@types/sinon": "10.0.20",
|
||||
"codecov": "3.8.3",
|
||||
"cpx": "1.5.0",
|
||||
"cross-var": "1.1.0",
|
||||
"lerna": "7.1.5",
|
||||
"lerna": "6.6.2",
|
||||
"mocha": "10.2.0",
|
||||
"nyc": "15.1.0",
|
||||
"sinon": "15.1.2",
|
||||
|
@ -70,11 +70,11 @@
|
|||
},
|
||||
"dependencies": {
|
||||
"@grpc/grpc-js": "^1.7.1",
|
||||
"@opentelemetry/core": "1.17.1",
|
||||
"@opentelemetry/otlp-grpc-exporter-base": "0.44.0",
|
||||
"@opentelemetry/otlp-transformer": "0.44.0",
|
||||
"@opentelemetry/resources": "1.17.1",
|
||||
"@opentelemetry/sdk-trace-base": "1.17.1"
|
||||
"@opentelemetry/core": "1.18.1",
|
||||
"@opentelemetry/otlp-grpc-exporter-base": "0.45.1",
|
||||
"@opentelemetry/otlp-transformer": "0.45.1",
|
||||
"@opentelemetry/resources": "1.18.1",
|
||||
"@opentelemetry/sdk-trace-base": "1.18.1"
|
||||
},
|
||||
"homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/exporter-trace-otlp-grpc",
|
||||
"sideEffects": false
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@opentelemetry/exporter-trace-otlp-http",
|
||||
"version": "0.44.0",
|
||||
"version": "0.45.1",
|
||||
"description": "OpenTelemetry Collector Trace Exporter allows user to send collected traces to the OpenTelemetry Collector",
|
||||
"main": "build/src/index.js",
|
||||
"module": "build/esm/index.js",
|
||||
|
@ -64,10 +64,10 @@
|
|||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "7.22.20",
|
||||
"@opentelemetry/api": "1.6.0",
|
||||
"@types/mocha": "10.0.2",
|
||||
"@opentelemetry/api": "1.7.0",
|
||||
"@types/mocha": "10.0.3",
|
||||
"@types/node": "18.6.5",
|
||||
"@types/sinon": "10.0.19",
|
||||
"@types/sinon": "10.0.20",
|
||||
"@types/webpack-env": "1.16.3",
|
||||
"babel-loader": "8.3.0",
|
||||
"babel-plugin-istanbul": "6.1.1",
|
||||
|
@ -80,7 +80,7 @@
|
|||
"karma-mocha": "2.0.1",
|
||||
"karma-spec-reporter": "0.0.36",
|
||||
"karma-webpack": "4.0.2",
|
||||
"lerna": "7.1.5",
|
||||
"lerna": "6.6.2",
|
||||
"mocha": "10.2.0",
|
||||
"nyc": "15.1.0",
|
||||
"sinon": "15.1.2",
|
||||
|
@ -95,11 +95,11 @@
|
|||
"@opentelemetry/api": "^1.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@opentelemetry/core": "1.17.1",
|
||||
"@opentelemetry/otlp-exporter-base": "0.44.0",
|
||||
"@opentelemetry/otlp-transformer": "0.44.0",
|
||||
"@opentelemetry/resources": "1.17.1",
|
||||
"@opentelemetry/sdk-trace-base": "1.17.1"
|
||||
"@opentelemetry/core": "1.18.1",
|
||||
"@opentelemetry/otlp-exporter-base": "0.45.1",
|
||||
"@opentelemetry/otlp-transformer": "0.45.1",
|
||||
"@opentelemetry/resources": "1.18.1",
|
||||
"@opentelemetry/sdk-trace-base": "1.18.1"
|
||||
},
|
||||
"homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/exporter-trace-otlp-http",
|
||||
"sideEffects": false
|
||||
|
|
|
@ -47,7 +47,10 @@ export class OTLPTraceExporter
|
|||
);
|
||||
}
|
||||
convert(spans: ReadableSpan[]): IExportTraceServiceRequest {
|
||||
return createExportTraceServiceRequest(spans, true);
|
||||
return createExportTraceServiceRequest(spans, {
|
||||
useHex: true,
|
||||
useLongBits: false,
|
||||
});
|
||||
}
|
||||
|
||||
getDefaultUrl(config: OTLPExporterConfigBase): string {
|
||||
|
|
|
@ -53,7 +53,10 @@ export class OTLPTraceExporter
|
|||
}
|
||||
|
||||
convert(spans: ReadableSpan[]): IExportTraceServiceRequest {
|
||||
return createExportTraceServiceRequest(spans, true);
|
||||
return createExportTraceServiceRequest(spans, {
|
||||
useHex: true,
|
||||
useLongBits: false,
|
||||
});
|
||||
}
|
||||
|
||||
getDefaultUrl(config: OTLPExporterNodeConfigBase): string {
|
||||
|
|
|
@ -31,7 +31,6 @@ import {
|
|||
ILink,
|
||||
IResource,
|
||||
ISpan,
|
||||
UnsignedLong,
|
||||
} from '@opentelemetry/otlp-transformer';
|
||||
|
||||
if (typeof Buffer === 'undefined') {
|
||||
|
@ -244,59 +243,54 @@ export const multiInstrumentationLibraryTrace: ReadableSpan[] = [
|
|||
},
|
||||
];
|
||||
|
||||
function fixed64FromString(str: string) {
|
||||
const { low, high } = UnsignedLong.fromString(str);
|
||||
return { low, high };
|
||||
}
|
||||
|
||||
export function ensureEventsAreCorrect(events: IEvent[]) {
|
||||
assert.deepStrictEqual(
|
||||
events,
|
||||
[
|
||||
{
|
||||
timeUnixNano: fixed64FromString('1574120165429803070'),
|
||||
timeUnixNano: '1574120165429803070',
|
||||
name: 'fetchStart',
|
||||
attributes: [],
|
||||
droppedAttributesCount: 0,
|
||||
},
|
||||
{
|
||||
timeUnixNano: fixed64FromString('1574120165429803070'),
|
||||
timeUnixNano: '1574120165429803070',
|
||||
name: 'domainLookupStart',
|
||||
attributes: [],
|
||||
droppedAttributesCount: 0,
|
||||
},
|
||||
{
|
||||
timeUnixNano: fixed64FromString('1574120165429803070'),
|
||||
timeUnixNano: '1574120165429803070',
|
||||
name: 'domainLookupEnd',
|
||||
attributes: [],
|
||||
droppedAttributesCount: 0,
|
||||
},
|
||||
{
|
||||
timeUnixNano: fixed64FromString('1574120165429803070'),
|
||||
timeUnixNano: '1574120165429803070',
|
||||
name: 'connectStart',
|
||||
attributes: [],
|
||||
droppedAttributesCount: 0,
|
||||
},
|
||||
{
|
||||
timeUnixNano: fixed64FromString('1574120165429803070'),
|
||||
timeUnixNano: '1574120165429803070',
|
||||
name: 'connectEnd',
|
||||
attributes: [],
|
||||
droppedAttributesCount: 0,
|
||||
},
|
||||
{
|
||||
timeUnixNano: fixed64FromString('1574120165435513070'),
|
||||
timeUnixNano: '1574120165435513070',
|
||||
name: 'requestStart',
|
||||
attributes: [],
|
||||
droppedAttributesCount: 0,
|
||||
},
|
||||
{
|
||||
timeUnixNano: fixed64FromString('1574120165436923070'),
|
||||
timeUnixNano: '1574120165436923070',
|
||||
name: 'responseStart',
|
||||
attributes: [],
|
||||
droppedAttributesCount: 0,
|
||||
},
|
||||
{
|
||||
timeUnixNano: fixed64FromString('1574120165438688070'),
|
||||
timeUnixNano: '1574120165438688070',
|
||||
name: 'responseEnd',
|
||||
attributes: [],
|
||||
droppedAttributesCount: 0,
|
||||
|
@ -372,12 +366,12 @@ export function ensureSpanIsCorrect(span: ISpan, useHex = true) {
|
|||
assert.strictEqual(span.kind, ESpanKind.SPAN_KIND_INTERNAL, 'kind is wrong');
|
||||
assert.deepStrictEqual(
|
||||
span.startTimeUnixNano,
|
||||
fixed64FromString('1574120165429803070'),
|
||||
'1574120165429803070',
|
||||
'startTimeUnixNano is wrong'
|
||||
);
|
||||
assert.deepStrictEqual(
|
||||
span.endTimeUnixNano,
|
||||
fixed64FromString('1574120165438688070'),
|
||||
'1574120165438688070',
|
||||
'endTimeUnixNano is wrong'
|
||||
);
|
||||
assert.strictEqual(
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@opentelemetry/exporter-trace-otlp-proto",
|
||||
"version": "0.44.0",
|
||||
"version": "0.45.1",
|
||||
"description": "OpenTelemetry Collector Exporter allows user to send collected traces to the OpenTelemetry Collector using protobuf over HTTP",
|
||||
"main": "build/src/index.js",
|
||||
"module": "build/esm/index.js",
|
||||
|
@ -63,10 +63,10 @@
|
|||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "7.22.20",
|
||||
"@opentelemetry/api": "1.6.0",
|
||||
"@types/mocha": "10.0.2",
|
||||
"@opentelemetry/api": "1.7.0",
|
||||
"@types/mocha": "10.0.3",
|
||||
"@types/node": "18.6.5",
|
||||
"@types/sinon": "10.0.19",
|
||||
"@types/sinon": "10.0.20",
|
||||
"babel-plugin-istanbul": "6.1.1",
|
||||
"codecov": "3.8.3",
|
||||
"cpx": "1.5.0",
|
||||
|
@ -77,7 +77,7 @@
|
|||
"karma-mocha": "2.0.1",
|
||||
"karma-spec-reporter": "0.0.36",
|
||||
"karma-webpack": "4.0.2",
|
||||
"lerna": "7.1.5",
|
||||
"lerna": "6.6.2",
|
||||
"mocha": "10.2.0",
|
||||
"nyc": "15.1.0",
|
||||
"sinon": "15.1.2",
|
||||
|
@ -92,12 +92,12 @@
|
|||
"@opentelemetry/api": "^1.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@opentelemetry/core": "1.17.1",
|
||||
"@opentelemetry/otlp-exporter-base": "0.44.0",
|
||||
"@opentelemetry/otlp-proto-exporter-base": "0.44.0",
|
||||
"@opentelemetry/otlp-transformer": "0.44.0",
|
||||
"@opentelemetry/resources": "1.17.1",
|
||||
"@opentelemetry/sdk-trace-base": "1.17.1"
|
||||
"@opentelemetry/core": "1.18.1",
|
||||
"@opentelemetry/otlp-exporter-base": "0.45.1",
|
||||
"@opentelemetry/otlp-proto-exporter-base": "0.45.1",
|
||||
"@opentelemetry/otlp-transformer": "0.45.1",
|
||||
"@opentelemetry/resources": "1.18.1",
|
||||
"@opentelemetry/sdk-trace-base": "1.18.1"
|
||||
},
|
||||
"homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/exporter-trace-otlp-proto",
|
||||
"sideEffects": false
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@opentelemetry/opentelemetry-browser-detector",
|
||||
"version": "0.44.0",
|
||||
"version": "0.45.1",
|
||||
"description": "OpenTelemetry Resource Detector for Browser",
|
||||
"main": "build/src/index.js",
|
||||
"module": "build/esm/index.js",
|
||||
|
@ -54,10 +54,10 @@
|
|||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "7.22.20",
|
||||
"@opentelemetry/api": "1.6.0",
|
||||
"@types/mocha": "10.0.2",
|
||||
"@opentelemetry/api": "1.7.0",
|
||||
"@types/mocha": "10.0.3",
|
||||
"@types/node": "18.6.5",
|
||||
"@types/sinon": "10.0.19",
|
||||
"@types/sinon": "10.0.20",
|
||||
"babel-plugin-istanbul": "6.1.1",
|
||||
"codecov": "3.8.3",
|
||||
"cross-var": "1.1.0",
|
||||
|
@ -67,7 +67,7 @@
|
|||
"karma-mocha": "2.0.1",
|
||||
"karma-spec-reporter": "0.0.36",
|
||||
"karma-webpack": "4.0.2",
|
||||
"lerna": "7.1.5",
|
||||
"lerna": "6.6.2",
|
||||
"mocha": "10.2.0",
|
||||
"nyc": "15.1.0",
|
||||
"sinon": "15.1.2",
|
||||
|
@ -82,8 +82,8 @@
|
|||
"@opentelemetry/api": "^1.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@opentelemetry/resources": "1.17.1",
|
||||
"@opentelemetry/semantic-conventions": "1.17.1"
|
||||
"@opentelemetry/resources": "1.18.1",
|
||||
"@opentelemetry/semantic-conventions": "1.18.1"
|
||||
},
|
||||
"homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/browser-detector"
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@opentelemetry/exporter-metrics-otlp-grpc",
|
||||
"version": "0.44.0",
|
||||
"version": "0.45.1",
|
||||
"description": "OpenTelemetry Collector Metrics Exporter allows user to send collected metrics to the OpenTelemetry Collector",
|
||||
"main": "build/src/index.js",
|
||||
"types": "build/src/index.d.ts",
|
||||
|
@ -49,14 +49,14 @@
|
|||
"devDependencies": {
|
||||
"@babel/core": "7.22.20",
|
||||
"@grpc/proto-loader": "^0.7.10",
|
||||
"@opentelemetry/api": "1.6.0",
|
||||
"@types/mocha": "10.0.2",
|
||||
"@opentelemetry/api": "1.7.0",
|
||||
"@types/mocha": "10.0.3",
|
||||
"@types/node": "18.6.5",
|
||||
"@types/sinon": "10.0.19",
|
||||
"@types/sinon": "10.0.20",
|
||||
"codecov": "3.8.3",
|
||||
"cpx": "1.5.0",
|
||||
"cross-var": "1.1.0",
|
||||
"lerna": "7.1.5",
|
||||
"lerna": "6.6.2",
|
||||
"mocha": "10.2.0",
|
||||
"nyc": "15.1.0",
|
||||
"sinon": "15.1.2",
|
||||
|
@ -69,12 +69,12 @@
|
|||
},
|
||||
"dependencies": {
|
||||
"@grpc/grpc-js": "^1.7.1",
|
||||
"@opentelemetry/core": "1.17.1",
|
||||
"@opentelemetry/exporter-metrics-otlp-http": "0.44.0",
|
||||
"@opentelemetry/otlp-grpc-exporter-base": "0.44.0",
|
||||
"@opentelemetry/otlp-transformer": "0.44.0",
|
||||
"@opentelemetry/resources": "1.17.1",
|
||||
"@opentelemetry/sdk-metrics": "1.17.1"
|
||||
"@opentelemetry/core": "1.18.1",
|
||||
"@opentelemetry/exporter-metrics-otlp-http": "0.45.1",
|
||||
"@opentelemetry/otlp-grpc-exporter-base": "0.45.1",
|
||||
"@opentelemetry/otlp-transformer": "0.45.1",
|
||||
"@opentelemetry/resources": "1.18.1",
|
||||
"@opentelemetry/sdk-metrics": "1.18.1"
|
||||
},
|
||||
"homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-exporter-metrics-otlp-grpc",
|
||||
"sideEffects": false
|
||||
|
|
|
@ -33,11 +33,10 @@ import {
|
|||
View,
|
||||
} from '@opentelemetry/sdk-metrics';
|
||||
import {
|
||||
hrTimeToFixed64Nanos,
|
||||
encodeAsString,
|
||||
IKeyValue,
|
||||
IMetric,
|
||||
IResource,
|
||||
UnsignedLong,
|
||||
} from '@opentelemetry/otlp-transformer';
|
||||
|
||||
class TestMetricReader extends MetricReader {
|
||||
|
@ -152,14 +151,8 @@ export function ensureExportedCounterIsCorrect(
|
|||
assert.strictEqual(dp.asInt, '1');
|
||||
assert.strictEqual(dp.flags, 0);
|
||||
|
||||
assert.deepStrictEqual(
|
||||
UnsignedLong.fromString(dp.startTimeUnixNano as string),
|
||||
hrTimeToFixed64Nanos(startTime)
|
||||
);
|
||||
assert.deepStrictEqual(
|
||||
UnsignedLong.fromString(dp.timeUnixNano as string),
|
||||
hrTimeToFixed64Nanos(time)
|
||||
);
|
||||
assert.deepStrictEqual(dp.startTimeUnixNano, encodeAsString(startTime));
|
||||
assert.deepStrictEqual(dp.timeUnixNano as string, encodeAsString(time));
|
||||
}
|
||||
|
||||
export function ensureExportedObservableGaugeIsCorrect(
|
||||
|
@ -179,14 +172,8 @@ export function ensureExportedObservableGaugeIsCorrect(
|
|||
assert.strictEqual(dp.asDouble, 6);
|
||||
assert.strictEqual(dp.flags, 0);
|
||||
|
||||
assert.deepStrictEqual(
|
||||
UnsignedLong.fromString(dp.startTimeUnixNano as string),
|
||||
hrTimeToFixed64Nanos(startTime)
|
||||
);
|
||||
assert.deepStrictEqual(
|
||||
UnsignedLong.fromString(dp.timeUnixNano as string),
|
||||
hrTimeToFixed64Nanos(time)
|
||||
);
|
||||
assert.deepStrictEqual(dp.startTimeUnixNano, encodeAsString(startTime));
|
||||
assert.deepStrictEqual(dp.timeUnixNano, encodeAsString(time));
|
||||
}
|
||||
|
||||
export function ensureExportedHistogramIsCorrect(
|
||||
|
@ -215,14 +202,8 @@ export function ensureExportedHistogramIsCorrect(
|
|||
assert.strictEqual(dp.min, 7);
|
||||
assert.strictEqual(dp.max, 14);
|
||||
|
||||
assert.deepStrictEqual(
|
||||
UnsignedLong.fromString(dp.startTimeUnixNano as string),
|
||||
hrTimeToFixed64Nanos(startTime)
|
||||
);
|
||||
assert.deepStrictEqual(
|
||||
UnsignedLong.fromString(dp.timeUnixNano as string),
|
||||
hrTimeToFixed64Nanos(time)
|
||||
);
|
||||
assert.deepStrictEqual(dp.startTimeUnixNano, encodeAsString(startTime));
|
||||
assert.deepStrictEqual(dp.timeUnixNano, encodeAsString(time));
|
||||
assert.deepStrictEqual(dp.bucketCounts, bucketCounts);
|
||||
assert.deepStrictEqual(dp.explicitBounds, explicitBounds);
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@opentelemetry/exporter-metrics-otlp-http",
|
||||
"version": "0.44.0",
|
||||
"version": "0.45.1",
|
||||
"description": "OpenTelemetry Collector Metrics Exporter allows user to send collected metrics to the OpenTelemetry Collector",
|
||||
"main": "build/src/index.js",
|
||||
"module": "build/esm/index.js",
|
||||
|
@ -64,10 +64,10 @@
|
|||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "7.22.20",
|
||||
"@opentelemetry/api": "1.6.0",
|
||||
"@types/mocha": "10.0.2",
|
||||
"@opentelemetry/api": "1.7.0",
|
||||
"@types/mocha": "10.0.3",
|
||||
"@types/node": "18.6.5",
|
||||
"@types/sinon": "10.0.19",
|
||||
"@types/sinon": "10.0.20",
|
||||
"@types/webpack-env": "1.16.3",
|
||||
"babel-loader": "8.3.0",
|
||||
"babel-plugin-istanbul": "6.1.1",
|
||||
|
@ -80,7 +80,7 @@
|
|||
"karma-mocha": "2.0.1",
|
||||
"karma-spec-reporter": "0.0.36",
|
||||
"karma-webpack": "4.0.2",
|
||||
"lerna": "7.1.5",
|
||||
"lerna": "6.6.2",
|
||||
"mocha": "10.2.0",
|
||||
"nyc": "15.1.0",
|
||||
"sinon": "15.1.2",
|
||||
|
@ -95,11 +95,11 @@
|
|||
"@opentelemetry/api": "^1.3.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@opentelemetry/core": "1.17.1",
|
||||
"@opentelemetry/otlp-exporter-base": "0.44.0",
|
||||
"@opentelemetry/otlp-transformer": "0.44.0",
|
||||
"@opentelemetry/resources": "1.17.1",
|
||||
"@opentelemetry/sdk-metrics": "1.17.1"
|
||||
"@opentelemetry/core": "1.18.1",
|
||||
"@opentelemetry/otlp-exporter-base": "0.45.1",
|
||||
"@opentelemetry/otlp-transformer": "0.45.1",
|
||||
"@opentelemetry/resources": "1.18.1",
|
||||
"@opentelemetry/sdk-metrics": "1.18.1"
|
||||
},
|
||||
"homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-exporter-metrics-otlp-http",
|
||||
"sideEffects": false
|
||||
|
|
|
@ -62,7 +62,7 @@ class OTLPExporterBrowserProxy extends OTLPExporterBrowserBase<
|
|||
}
|
||||
|
||||
convert(metrics: ResourceMetrics[]): IExportMetricsServiceRequest {
|
||||
return createExportMetricsServiceRequest(metrics);
|
||||
return createExportMetricsServiceRequest(metrics, { useLongBits: false });
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -52,7 +52,7 @@ class OTLPExporterNodeProxy extends OTLPExporterNodeBase<
|
|||
}
|
||||
|
||||
convert(metrics: ResourceMetrics[]): IExportMetricsServiceRequest {
|
||||
return createExportMetricsServiceRequest(metrics);
|
||||
return createExportMetricsServiceRequest(metrics, { useLongBits: false });
|
||||
}
|
||||
|
||||
getDefaultUrl(config: OTLPExporterNodeConfigBase): string {
|
||||
|
|
|
@ -34,7 +34,7 @@ import {
|
|||
View,
|
||||
} from '@opentelemetry/sdk-metrics';
|
||||
import {
|
||||
hrTimeToFixed64Nanos,
|
||||
encodeAsString,
|
||||
IExportMetricsServiceRequest,
|
||||
IKeyValue,
|
||||
IMetric,
|
||||
|
@ -207,11 +207,6 @@ export function ensureWebResourceIsCorrect(resource: IResource) {
|
|||
assert.strictEqual(resource.droppedAttributesCount, 0);
|
||||
}
|
||||
|
||||
function hrTimeToFixed64(hrTime: HrTime) {
|
||||
const { low, high } = hrTimeToFixed64Nanos(hrTime);
|
||||
return { low, high };
|
||||
}
|
||||
|
||||
export function ensureCounterIsCorrect(
|
||||
metric: IMetric,
|
||||
time: HrTime,
|
||||
|
@ -228,8 +223,8 @@ export function ensureCounterIsCorrect(
|
|||
|
||||
assert.deepStrictEqual(dp.attributes, []);
|
||||
assert.strictEqual(dp.asInt, 1);
|
||||
assert.deepStrictEqual(dp.startTimeUnixNano, hrTimeToFixed64(startTime));
|
||||
assert.deepStrictEqual(dp.timeUnixNano, hrTimeToFixed64(time));
|
||||
assert.deepStrictEqual(dp.startTimeUnixNano, encodeAsString(startTime));
|
||||
assert.deepStrictEqual(dp.timeUnixNano, encodeAsString(time));
|
||||
}
|
||||
|
||||
export function ensureDoubleCounterIsCorrect(
|
||||
|
@ -273,8 +268,8 @@ export function ensureObservableGaugeIsCorrect(
|
|||
assert.deepStrictEqual(dp.attributes, []);
|
||||
assert.strictEqual(dp.asDouble, value);
|
||||
|
||||
assert.deepStrictEqual(dp.startTimeUnixNano, hrTimeToFixed64(startTime));
|
||||
assert.deepStrictEqual(dp.timeUnixNano, hrTimeToFixed64(time));
|
||||
assert.deepStrictEqual(dp.startTimeUnixNano, encodeAsString(startTime));
|
||||
assert.deepStrictEqual(dp.timeUnixNano, encodeAsString(time));
|
||||
}
|
||||
|
||||
export function ensureHistogramIsCorrect(
|
||||
|
@ -300,8 +295,8 @@ export function ensureHistogramIsCorrect(
|
|||
assert.deepStrictEqual(dp.bucketCounts, bucketCounts);
|
||||
assert.deepStrictEqual(dp.explicitBounds, explicitBounds);
|
||||
|
||||
assert.deepStrictEqual(dp.startTimeUnixNano, hrTimeToFixed64(startTime));
|
||||
assert.deepStrictEqual(dp.timeUnixNano, hrTimeToFixed64(time));
|
||||
assert.deepStrictEqual(dp.startTimeUnixNano, encodeAsString(startTime));
|
||||
assert.deepStrictEqual(dp.timeUnixNano, encodeAsString(time));
|
||||
}
|
||||
|
||||
export function ensureExportMetricsServiceRequestIsSet(
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@opentelemetry/exporter-metrics-otlp-proto",
|
||||
"version": "0.44.0",
|
||||
"version": "0.45.1",
|
||||
"description": "OpenTelemetry Collector Metrics Exporter allows user to send collected metrics to the OpenTelemetry Collector using protobuf over HTTP",
|
||||
"main": "build/src/index.js",
|
||||
"module": "build/esm/index.js",
|
||||
|
@ -56,14 +56,14 @@
|
|||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "7.22.20",
|
||||
"@opentelemetry/api": "1.6.0",
|
||||
"@types/mocha": "10.0.2",
|
||||
"@opentelemetry/api": "1.7.0",
|
||||
"@types/mocha": "10.0.3",
|
||||
"@types/node": "18.6.5",
|
||||
"@types/sinon": "10.0.19",
|
||||
"@types/sinon": "10.0.20",
|
||||
"codecov": "3.8.3",
|
||||
"cpx": "1.5.0",
|
||||
"cross-var": "1.1.0",
|
||||
"lerna": "7.1.5",
|
||||
"lerna": "6.6.2",
|
||||
"mocha": "10.2.0",
|
||||
"nyc": "15.1.0",
|
||||
"sinon": "15.1.2",
|
||||
|
@ -75,13 +75,13 @@
|
|||
"@opentelemetry/api": "^1.3.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@opentelemetry/core": "1.17.1",
|
||||
"@opentelemetry/exporter-metrics-otlp-http": "0.44.0",
|
||||
"@opentelemetry/otlp-exporter-base": "0.44.0",
|
||||
"@opentelemetry/otlp-proto-exporter-base": "0.44.0",
|
||||
"@opentelemetry/otlp-transformer": "0.44.0",
|
||||
"@opentelemetry/resources": "1.17.1",
|
||||
"@opentelemetry/sdk-metrics": "1.17.1"
|
||||
"@opentelemetry/core": "1.18.1",
|
||||
"@opentelemetry/exporter-metrics-otlp-http": "0.45.1",
|
||||
"@opentelemetry/otlp-exporter-base": "0.45.1",
|
||||
"@opentelemetry/otlp-proto-exporter-base": "0.45.1",
|
||||
"@opentelemetry/otlp-transformer": "0.45.1",
|
||||
"@opentelemetry/resources": "1.18.1",
|
||||
"@opentelemetry/sdk-metrics": "1.18.1"
|
||||
},
|
||||
"homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-exporter-metrics-otlp-proto",
|
||||
"sideEffects": false
|
||||
|
|
|
@ -31,11 +31,10 @@ import {
|
|||
View,
|
||||
} from '@opentelemetry/sdk-metrics';
|
||||
import {
|
||||
hrTimeToFixed64Nanos,
|
||||
encodeAsString,
|
||||
IExportMetricsServiceRequest,
|
||||
IKeyValue,
|
||||
IMetric,
|
||||
UnsignedLong,
|
||||
} from '@opentelemetry/otlp-transformer';
|
||||
import { Stream } from 'stream';
|
||||
|
||||
|
@ -147,14 +146,8 @@ export function ensureExportedCounterIsCorrect(
|
|||
|
||||
const [dp] = metric.sum.dataPoints;
|
||||
assert.strictEqual(dp.asInt, '1');
|
||||
assert.deepStrictEqual(
|
||||
UnsignedLong.fromString(dp.startTimeUnixNano as string),
|
||||
hrTimeToFixed64Nanos(startTime)
|
||||
);
|
||||
assert.deepStrictEqual(
|
||||
UnsignedLong.fromString(dp.timeUnixNano as string),
|
||||
hrTimeToFixed64Nanos(time)
|
||||
);
|
||||
assert.deepStrictEqual(dp.startTimeUnixNano, encodeAsString(startTime));
|
||||
assert.deepStrictEqual(dp.timeUnixNano, encodeAsString(time));
|
||||
}
|
||||
|
||||
export function ensureExportedObservableGaugeIsCorrect(
|
||||
|
@ -169,14 +162,8 @@ export function ensureExportedObservableGaugeIsCorrect(
|
|||
|
||||
const [dp] = metric.gauge.dataPoints;
|
||||
assert.strictEqual(dp.asDouble, 6);
|
||||
assert.deepStrictEqual(
|
||||
UnsignedLong.fromString(dp.startTimeUnixNano as string),
|
||||
hrTimeToFixed64Nanos(startTime)
|
||||
);
|
||||
assert.deepStrictEqual(
|
||||
UnsignedLong.fromString(dp.timeUnixNano as string),
|
||||
hrTimeToFixed64Nanos(time)
|
||||
);
|
||||
assert.deepStrictEqual(dp.startTimeUnixNano, encodeAsString(startTime));
|
||||
assert.deepStrictEqual(dp.timeUnixNano, encodeAsString(time));
|
||||
}
|
||||
|
||||
export function ensureExportedHistogramIsCorrect(
|
||||
|
@ -204,14 +191,8 @@ export function ensureExportedHistogramIsCorrect(
|
|||
assert.strictEqual(dp.max, 14);
|
||||
assert.deepStrictEqual(dp.explicitBounds, explicitBounds);
|
||||
assert.deepStrictEqual(dp.bucketCounts, bucketCounts);
|
||||
assert.deepStrictEqual(
|
||||
UnsignedLong.fromString(dp.startTimeUnixNano as string),
|
||||
hrTimeToFixed64Nanos(startTime)
|
||||
);
|
||||
assert.deepStrictEqual(
|
||||
UnsignedLong.fromString(dp.timeUnixNano as string),
|
||||
hrTimeToFixed64Nanos(time)
|
||||
);
|
||||
assert.deepStrictEqual(dp.startTimeUnixNano, encodeAsString(startTime));
|
||||
assert.deepStrictEqual(dp.timeUnixNano, encodeAsString(time));
|
||||
}
|
||||
|
||||
export function ensureExportMetricsServiceRequestIsSet(
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@opentelemetry/exporter-prometheus",
|
||||
"version": "0.44.0",
|
||||
"version": "0.45.1",
|
||||
"description": "OpenTelemetry Exporter Prometheus provides a metrics endpoint for Prometheus",
|
||||
"main": "build/src/index.js",
|
||||
"types": "build/src/index.d.ts",
|
||||
|
@ -43,14 +43,14 @@
|
|||
"access": "public"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@opentelemetry/api": "1.6.0",
|
||||
"@opentelemetry/semantic-conventions": "1.17.1",
|
||||
"@types/mocha": "10.0.2",
|
||||
"@opentelemetry/api": "1.7.0",
|
||||
"@opentelemetry/semantic-conventions": "1.18.1",
|
||||
"@types/mocha": "10.0.3",
|
||||
"@types/node": "18.6.5",
|
||||
"@types/sinon": "10.0.19",
|
||||
"@types/sinon": "10.0.20",
|
||||
"codecov": "3.8.3",
|
||||
"cross-var": "1.1.0",
|
||||
"lerna": "7.1.5",
|
||||
"lerna": "6.6.2",
|
||||
"mocha": "10.2.0",
|
||||
"nyc": "15.1.0",
|
||||
"sinon": "15.1.2",
|
||||
|
@ -61,9 +61,9 @@
|
|||
"@opentelemetry/api": "^1.3.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@opentelemetry/core": "1.17.1",
|
||||
"@opentelemetry/resources": "1.17.1",
|
||||
"@opentelemetry/sdk-metrics": "1.17.1"
|
||||
"@opentelemetry/core": "1.18.1",
|
||||
"@opentelemetry/resources": "1.18.1",
|
||||
"@opentelemetry/sdk-metrics": "1.18.1"
|
||||
},
|
||||
"homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-exporter-prometheus",
|
||||
"sideEffects": false
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@opentelemetry/instrumentation-fetch",
|
||||
"version": "0.44.0",
|
||||
"version": "0.45.1",
|
||||
"description": "OpenTelemetry fetch automatic instrumentation package.",
|
||||
"main": "build/src/index.js",
|
||||
"module": "build/esm/index.js",
|
||||
|
@ -55,13 +55,13 @@
|
|||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "7.22.20",
|
||||
"@opentelemetry/api": "1.6.0",
|
||||
"@opentelemetry/context-zone": "1.17.1",
|
||||
"@opentelemetry/propagator-b3": "1.17.1",
|
||||
"@opentelemetry/sdk-trace-base": "1.17.1",
|
||||
"@types/mocha": "10.0.2",
|
||||
"@opentelemetry/api": "1.7.0",
|
||||
"@opentelemetry/context-zone": "1.18.1",
|
||||
"@opentelemetry/propagator-b3": "1.18.1",
|
||||
"@opentelemetry/sdk-trace-base": "1.18.1",
|
||||
"@types/mocha": "10.0.3",
|
||||
"@types/node": "18.6.5",
|
||||
"@types/sinon": "10.0.19",
|
||||
"@types/sinon": "10.0.20",
|
||||
"@types/webpack-env": "1.16.3",
|
||||
"babel-loader": "8.3.0",
|
||||
"babel-plugin-istanbul": "6.1.1",
|
||||
|
@ -73,7 +73,7 @@
|
|||
"karma-mocha": "2.0.1",
|
||||
"karma-spec-reporter": "0.0.36",
|
||||
"karma-webpack": "4.0.2",
|
||||
"lerna": "7.1.5",
|
||||
"lerna": "6.6.2",
|
||||
"mocha": "10.2.0",
|
||||
"nyc": "15.1.0",
|
||||
"sinon": "15.1.2",
|
||||
|
@ -88,10 +88,10 @@
|
|||
"@opentelemetry/api": "^1.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@opentelemetry/core": "1.17.1",
|
||||
"@opentelemetry/instrumentation": "0.44.0",
|
||||
"@opentelemetry/sdk-trace-web": "1.17.1",
|
||||
"@opentelemetry/semantic-conventions": "1.17.1"
|
||||
"@opentelemetry/core": "1.18.1",
|
||||
"@opentelemetry/instrumentation": "0.45.1",
|
||||
"@opentelemetry/sdk-trace-web": "1.18.1",
|
||||
"@opentelemetry/semantic-conventions": "1.18.1"
|
||||
},
|
||||
"homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-instrumentation-fetch",
|
||||
"sideEffects": false
|
||||
|
|
|
@ -132,7 +132,12 @@ export class FetchInstrumentation extends InstrumentationBase<
|
|||
SemanticAttributes.HTTP_SCHEME,
|
||||
parsedUrl.protocol.replace(':', '')
|
||||
);
|
||||
span.setAttribute(SemanticAttributes.HTTP_USER_AGENT, navigator.userAgent);
|
||||
if (typeof navigator !== 'undefined') {
|
||||
span.setAttribute(
|
||||
SemanticAttributes.HTTP_USER_AGENT,
|
||||
navigator.userAgent
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@opentelemetry/instrumentation-grpc",
|
||||
"version": "0.44.0",
|
||||
"version": "0.45.1",
|
||||
"description": "OpenTelemetry grpc automatic instrumentation package.",
|
||||
"main": "build/src/index.js",
|
||||
"types": "build/src/index.d.ts",
|
||||
|
@ -49,21 +49,21 @@
|
|||
"@bufbuild/buf": "1.21.0-1",
|
||||
"@grpc/grpc-js": "^1.7.1",
|
||||
"@grpc/proto-loader": "^0.7.10",
|
||||
"@opentelemetry/api": "1.6.0",
|
||||
"@opentelemetry/context-async-hooks": "1.17.1",
|
||||
"@opentelemetry/core": "1.17.1",
|
||||
"@opentelemetry/sdk-trace-base": "1.17.1",
|
||||
"@opentelemetry/sdk-trace-node": "1.17.1",
|
||||
"@opentelemetry/api": "1.7.0",
|
||||
"@opentelemetry/context-async-hooks": "1.18.1",
|
||||
"@opentelemetry/core": "1.18.1",
|
||||
"@opentelemetry/sdk-trace-base": "1.18.1",
|
||||
"@opentelemetry/sdk-trace-node": "1.18.1",
|
||||
"@protobuf-ts/grpc-transport": "2.9.1",
|
||||
"@protobuf-ts/runtime": "2.9.1",
|
||||
"@protobuf-ts/runtime-rpc": "2.9.1",
|
||||
"@types/mocha": "10.0.2",
|
||||
"@types/mocha": "10.0.3",
|
||||
"@types/node": "18.6.5",
|
||||
"@types/semver": "7.5.3",
|
||||
"@types/sinon": "10.0.19",
|
||||
"@types/semver": "7.5.4",
|
||||
"@types/sinon": "10.0.20",
|
||||
"codecov": "3.8.3",
|
||||
"cross-var": "1.1.0",
|
||||
"lerna": "7.1.5",
|
||||
"lerna": "6.6.2",
|
||||
"mocha": "10.2.0",
|
||||
"nyc": "15.1.0",
|
||||
"semver": "7.5.4",
|
||||
|
@ -75,8 +75,8 @@
|
|||
"@opentelemetry/api": "^1.3.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@opentelemetry/instrumentation": "0.44.0",
|
||||
"@opentelemetry/semantic-conventions": "1.17.1"
|
||||
"@opentelemetry/instrumentation": "0.45.1",
|
||||
"@opentelemetry/semantic-conventions": "1.18.1"
|
||||
},
|
||||
"homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-instrumentation-grpc",
|
||||
"sideEffects": false
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@opentelemetry/instrumentation-http",
|
||||
"version": "0.44.0",
|
||||
"version": "0.45.1",
|
||||
"description": "OpenTelemetry http/https automatic instrumentation package.",
|
||||
"main": "build/src/index.js",
|
||||
"types": "build/src/index.d.ts",
|
||||
|
@ -45,23 +45,23 @@
|
|||
"access": "public"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@opentelemetry/api": "1.6.0",
|
||||
"@opentelemetry/context-async-hooks": "1.17.1",
|
||||
"@opentelemetry/sdk-metrics": "1.17.1",
|
||||
"@opentelemetry/sdk-trace-base": "1.17.1",
|
||||
"@opentelemetry/sdk-trace-node": "1.17.1",
|
||||
"@types/mocha": "10.0.2",
|
||||
"@opentelemetry/api": "1.7.0",
|
||||
"@opentelemetry/context-async-hooks": "1.18.1",
|
||||
"@opentelemetry/sdk-metrics": "1.18.1",
|
||||
"@opentelemetry/sdk-trace-base": "1.18.1",
|
||||
"@opentelemetry/sdk-trace-node": "1.18.1",
|
||||
"@types/mocha": "10.0.3",
|
||||
"@types/node": "18.6.5",
|
||||
"@types/request-promise-native": "1.0.19",
|
||||
"@types/semver": "7.5.3",
|
||||
"@types/sinon": "10.0.19",
|
||||
"@types/superagent": "4.1.19",
|
||||
"@types/request-promise-native": "1.0.20",
|
||||
"@types/semver": "7.5.4",
|
||||
"@types/sinon": "10.0.20",
|
||||
"@types/superagent": "4.1.20",
|
||||
"axios": "1.5.1",
|
||||
"codecov": "3.8.3",
|
||||
"cross-var": "1.1.0",
|
||||
"lerna": "7.1.5",
|
||||
"lerna": "6.6.2",
|
||||
"mocha": "10.2.0",
|
||||
"nock": "13.3.4",
|
||||
"nock": "13.3.8",
|
||||
"nyc": "15.1.0",
|
||||
"request": "2.88.2",
|
||||
"request-promise-native": "1.0.9",
|
||||
|
@ -74,9 +74,9 @@
|
|||
"@opentelemetry/api": "^1.3.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@opentelemetry/core": "1.17.1",
|
||||
"@opentelemetry/instrumentation": "0.44.0",
|
||||
"@opentelemetry/semantic-conventions": "1.17.1",
|
||||
"@opentelemetry/core": "1.18.1",
|
||||
"@opentelemetry/instrumentation": "0.45.1",
|
||||
"@opentelemetry/semantic-conventions": "1.18.1",
|
||||
"semver": "^7.5.2"
|
||||
},
|
||||
"homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-instrumentation-http",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@opentelemetry/instrumentation-xml-http-request",
|
||||
"version": "0.44.0",
|
||||
"version": "0.45.1",
|
||||
"description": "OpenTelemetry XMLHttpRequest automatic instrumentation package.",
|
||||
"main": "build/src/index.js",
|
||||
"module": "build/esm/index.js",
|
||||
|
@ -55,13 +55,13 @@
|
|||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "7.22.20",
|
||||
"@opentelemetry/api": "1.6.0",
|
||||
"@opentelemetry/context-zone": "1.17.1",
|
||||
"@opentelemetry/propagator-b3": "1.17.1",
|
||||
"@opentelemetry/sdk-trace-base": "1.17.1",
|
||||
"@types/mocha": "10.0.2",
|
||||
"@opentelemetry/api": "1.7.0",
|
||||
"@opentelemetry/context-zone": "1.18.1",
|
||||
"@opentelemetry/propagator-b3": "1.18.1",
|
||||
"@opentelemetry/sdk-trace-base": "1.18.1",
|
||||
"@types/mocha": "10.0.3",
|
||||
"@types/node": "18.6.5",
|
||||
"@types/sinon": "10.0.19",
|
||||
"@types/sinon": "10.0.20",
|
||||
"@types/webpack-env": "1.16.3",
|
||||
"babel-loader": "8.3.0",
|
||||
"babel-plugin-istanbul": "6.1.1",
|
||||
|
@ -73,7 +73,7 @@
|
|||
"karma-mocha": "2.0.1",
|
||||
"karma-spec-reporter": "0.0.36",
|
||||
"karma-webpack": "4.0.2",
|
||||
"lerna": "7.1.5",
|
||||
"lerna": "6.6.2",
|
||||
"mocha": "10.2.0",
|
||||
"nyc": "15.1.0",
|
||||
"sinon": "15.1.2",
|
||||
|
@ -88,10 +88,10 @@
|
|||
"@opentelemetry/api": "^1.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@opentelemetry/core": "1.17.1",
|
||||
"@opentelemetry/instrumentation": "0.44.0",
|
||||
"@opentelemetry/sdk-trace-web": "1.17.1",
|
||||
"@opentelemetry/semantic-conventions": "1.17.1"
|
||||
"@opentelemetry/core": "1.18.1",
|
||||
"@opentelemetry/instrumentation": "0.45.1",
|
||||
"@opentelemetry/sdk-trace-web": "1.18.1",
|
||||
"@opentelemetry/semantic-conventions": "1.18.1"
|
||||
},
|
||||
"homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-instrumentation-xml-http-request",
|
||||
"sideEffects": false
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@opentelemetry/instrumentation",
|
||||
"version": "0.44.0",
|
||||
"version": "0.45.1",
|
||||
"description": "Base class for node which OpenTelemetry instrumentation modules extend",
|
||||
"author": "OpenTelemetry Authors",
|
||||
"homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-instrumentation",
|
||||
|
@ -82,12 +82,12 @@
|
|||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "7.22.20",
|
||||
"@opentelemetry/api": "1.6.0",
|
||||
"@opentelemetry/sdk-metrics": "1.17.1",
|
||||
"@types/mocha": "10.0.2",
|
||||
"@opentelemetry/api": "1.7.0",
|
||||
"@opentelemetry/sdk-metrics": "1.18.1",
|
||||
"@types/mocha": "10.0.3",
|
||||
"@types/node": "18.6.5",
|
||||
"@types/semver": "7.5.3",
|
||||
"@types/sinon": "10.0.19",
|
||||
"@types/semver": "7.5.4",
|
||||
"@types/sinon": "10.0.20",
|
||||
"@types/webpack-env": "1.16.3",
|
||||
"babel-loader": "8.3.0",
|
||||
"babel-plugin-istanbul": "6.1.1",
|
||||
|
@ -100,7 +100,7 @@
|
|||
"karma-mocha": "2.0.1",
|
||||
"karma-spec-reporter": "0.0.36",
|
||||
"karma-webpack": "4.0.2",
|
||||
"lerna": "7.1.5",
|
||||
"lerna": "6.6.2",
|
||||
"mocha": "10.2.0",
|
||||
"nyc": "15.1.0",
|
||||
"sinon": "15.1.2",
|
||||
|
|
|
@ -50,7 +50,7 @@ const jaegerExporter = new JaegerExporter();
|
|||
const prometheusExporter = new PrometheusExporter({ startServer: true });
|
||||
|
||||
const sdk = new opentelemetry.NodeSDK({
|
||||
// Optional - if omitted, the tracing SDK will not be initialized
|
||||
// Optional - if omitted, the tracing SDK will be initialized from environment variables
|
||||
traceExporter: jaegerExporter,
|
||||
// Optional - If omitted, the metrics SDK will not be initialized
|
||||
metricReader: prometheusExporter,
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@opentelemetry/sdk-node",
|
||||
"version": "0.44.0",
|
||||
"version": "0.45.1",
|
||||
"description": "OpenTelemetry SDK for Node.js",
|
||||
"main": "build/src/index.js",
|
||||
"types": "build/src/index.d.ts",
|
||||
|
@ -44,34 +44,34 @@
|
|||
"access": "public"
|
||||
},
|
||||
"dependencies": {
|
||||
"@opentelemetry/api-logs": "0.44.0",
|
||||
"@opentelemetry/core": "1.17.1",
|
||||
"@opentelemetry/exporter-trace-otlp-grpc": "0.44.0",
|
||||
"@opentelemetry/exporter-trace-otlp-http": "0.44.0",
|
||||
"@opentelemetry/exporter-trace-otlp-proto": "0.44.0",
|
||||
"@opentelemetry/exporter-zipkin": "1.17.1",
|
||||
"@opentelemetry/instrumentation": "0.44.0",
|
||||
"@opentelemetry/resources": "1.17.1",
|
||||
"@opentelemetry/sdk-logs": "0.44.0",
|
||||
"@opentelemetry/sdk-metrics": "1.17.1",
|
||||
"@opentelemetry/sdk-trace-base": "1.17.1",
|
||||
"@opentelemetry/sdk-trace-node": "1.17.1",
|
||||
"@opentelemetry/semantic-conventions": "1.17.1"
|
||||
"@opentelemetry/api-logs": "0.45.1",
|
||||
"@opentelemetry/core": "1.18.1",
|
||||
"@opentelemetry/exporter-trace-otlp-grpc": "0.45.1",
|
||||
"@opentelemetry/exporter-trace-otlp-http": "0.45.1",
|
||||
"@opentelemetry/exporter-trace-otlp-proto": "0.45.1",
|
||||
"@opentelemetry/exporter-zipkin": "1.18.1",
|
||||
"@opentelemetry/instrumentation": "0.45.1",
|
||||
"@opentelemetry/resources": "1.18.1",
|
||||
"@opentelemetry/sdk-logs": "0.45.1",
|
||||
"@opentelemetry/sdk-metrics": "1.18.1",
|
||||
"@opentelemetry/sdk-trace-base": "1.18.1",
|
||||
"@opentelemetry/sdk-trace-node": "1.18.1",
|
||||
"@opentelemetry/semantic-conventions": "1.18.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@opentelemetry/api": ">=1.3.0 <1.7.0"
|
||||
"@opentelemetry/api": ">=1.3.0 <1.8.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@opentelemetry/api": "1.6.0",
|
||||
"@opentelemetry/context-async-hooks": "1.17.1",
|
||||
"@opentelemetry/exporter-jaeger": "1.17.1",
|
||||
"@types/mocha": "10.0.2",
|
||||
"@opentelemetry/api": "1.7.0",
|
||||
"@opentelemetry/context-async-hooks": "1.18.1",
|
||||
"@opentelemetry/exporter-jaeger": "1.18.1",
|
||||
"@types/mocha": "10.0.3",
|
||||
"@types/node": "18.6.5",
|
||||
"@types/semver": "7.5.3",
|
||||
"@types/sinon": "10.0.19",
|
||||
"@types/semver": "7.5.4",
|
||||
"@types/sinon": "10.0.20",
|
||||
"codecov": "3.8.3",
|
||||
"cross-var": "1.1.0",
|
||||
"lerna": "7.1.5",
|
||||
"lerna": "6.6.2",
|
||||
"mocha": "10.2.0",
|
||||
"nyc": "15.1.0",
|
||||
"semver": "7.5.4",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@opentelemetry/otlp-exporter-base",
|
||||
"version": "0.44.0",
|
||||
"version": "0.45.1",
|
||||
"description": "OpenTelemetry OTLP Exporter base (for internal use only)",
|
||||
"main": "build/src/index.js",
|
||||
"module": "build/esm/index.js",
|
||||
|
@ -61,14 +61,14 @@
|
|||
"access": "public"
|
||||
},
|
||||
"dependencies": {
|
||||
"@opentelemetry/core": "1.17.1"
|
||||
"@opentelemetry/core": "1.18.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "7.22.20",
|
||||
"@opentelemetry/api": "1.6.0",
|
||||
"@types/mocha": "10.0.2",
|
||||
"@opentelemetry/api": "1.7.0",
|
||||
"@types/mocha": "10.0.3",
|
||||
"@types/node": "18.6.5",
|
||||
"@types/sinon": "10.0.19",
|
||||
"@types/sinon": "10.0.20",
|
||||
"babel-plugin-istanbul": "6.1.1",
|
||||
"codecov": "3.8.3",
|
||||
"cross-var": "1.1.0",
|
||||
|
@ -78,7 +78,7 @@
|
|||
"karma-mocha": "2.0.1",
|
||||
"karma-spec-reporter": "0.0.36",
|
||||
"karma-webpack": "4.0.2",
|
||||
"lerna": "7.1.5",
|
||||
"lerna": "6.6.2",
|
||||
"mocha": "10.2.0",
|
||||
"nyc": "15.1.0",
|
||||
"sinon": "15.1.2",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@opentelemetry/otlp-grpc-exporter-base",
|
||||
"version": "0.44.0",
|
||||
"version": "0.45.1",
|
||||
"description": "OpenTelemetry OTLP-gRPC Exporter base (for internal use only)",
|
||||
"main": "build/src/index.js",
|
||||
"types": "build/src/index.d.ts",
|
||||
|
@ -49,17 +49,17 @@
|
|||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "7.22.20",
|
||||
"@opentelemetry/api": "1.6.0",
|
||||
"@opentelemetry/otlp-transformer": "0.44.0",
|
||||
"@opentelemetry/resources": "1.17.1",
|
||||
"@opentelemetry/sdk-trace-base": "1.17.1",
|
||||
"@types/mocha": "10.0.2",
|
||||
"@opentelemetry/api": "1.7.0",
|
||||
"@opentelemetry/otlp-transformer": "0.45.1",
|
||||
"@opentelemetry/resources": "1.18.1",
|
||||
"@opentelemetry/sdk-trace-base": "1.18.1",
|
||||
"@types/mocha": "10.0.3",
|
||||
"@types/node": "18.6.5",
|
||||
"@types/sinon": "10.0.19",
|
||||
"@types/sinon": "10.0.20",
|
||||
"codecov": "3.8.3",
|
||||
"cpx": "1.5.0",
|
||||
"cross-var": "1.1.0",
|
||||
"lerna": "7.1.5",
|
||||
"lerna": "6.6.2",
|
||||
"mocha": "10.2.0",
|
||||
"nyc": "15.1.0",
|
||||
"protobufjs-cli": "1.1.2",
|
||||
|
@ -73,8 +73,8 @@
|
|||
},
|
||||
"dependencies": {
|
||||
"@grpc/grpc-js": "^1.7.1",
|
||||
"@opentelemetry/core": "1.17.1",
|
||||
"@opentelemetry/otlp-exporter-base": "0.44.0",
|
||||
"@opentelemetry/core": "1.18.1",
|
||||
"@opentelemetry/otlp-exporter-base": "0.45.1",
|
||||
"protobufjs": "^7.2.3"
|
||||
},
|
||||
"homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/otlp-grpc-exporter-base",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@opentelemetry/otlp-proto-exporter-base",
|
||||
"version": "0.44.0",
|
||||
"version": "0.45.1",
|
||||
"description": "OpenTelemetry OTLP-HTTP-protobuf Exporter base (for internal use only)",
|
||||
"main": "build/src/index.js",
|
||||
"module": "build/esm/index.js",
|
||||
|
@ -60,13 +60,13 @@
|
|||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "7.22.20",
|
||||
"@opentelemetry/api": "1.6.0",
|
||||
"@types/mocha": "10.0.2",
|
||||
"@opentelemetry/api": "1.7.0",
|
||||
"@types/mocha": "10.0.3",
|
||||
"@types/node": "18.6.5",
|
||||
"@types/sinon": "10.0.19",
|
||||
"@types/sinon": "10.0.20",
|
||||
"codecov": "3.8.3",
|
||||
"cross-var": "1.1.0",
|
||||
"lerna": "7.1.5",
|
||||
"lerna": "6.6.2",
|
||||
"mocha": "10.2.0",
|
||||
"nyc": "15.1.0",
|
||||
"protobufjs-cli": "1.1.2",
|
||||
|
@ -79,8 +79,8 @@
|
|||
"@opentelemetry/api": "^1.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@opentelemetry/core": "1.17.1",
|
||||
"@opentelemetry/otlp-exporter-base": "0.44.0",
|
||||
"@opentelemetry/core": "1.18.1",
|
||||
"@opentelemetry/otlp-exporter-base": "0.45.1",
|
||||
"protobufjs": "^7.2.3"
|
||||
},
|
||||
"homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/otlp-proto-exporter-base",
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"version": "0.44.0",
|
||||
"version": "0.45.1",
|
||||
"description": "Transform OpenTelemetry SDK data into OTLP",
|
||||
"module": "build/esm/index.js",
|
||||
"esnext": "build/esnext/index.js",
|
||||
|
@ -21,6 +21,7 @@
|
|||
"tdd": "npm run test -- --watch-extensions ts --watch",
|
||||
"test": "nyc ts-mocha -p tsconfig.json 'test/**/*.test.ts'",
|
||||
"test:browser": "karma start --single-run",
|
||||
"test:bench": "node test/performance/benchmark/index.js | tee .benchmark-results.txt",
|
||||
"prewatch": "node ../../../scripts/version-update.js",
|
||||
"watch": "tsc --build -w tsconfig.json tsconfig.esm.json tsconfig.esnext.json",
|
||||
"peer-api-check": "node ../../../scripts/peer-api-check.js",
|
||||
|
@ -54,11 +55,11 @@
|
|||
"README.md"
|
||||
],
|
||||
"peerDependencies": {
|
||||
"@opentelemetry/api": ">=1.3.0 <1.7.0"
|
||||
"@opentelemetry/api": ">=1.3.0 <1.8.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@opentelemetry/api": "1.6.0",
|
||||
"@types/mocha": "10.0.2",
|
||||
"@opentelemetry/api": "1.7.0",
|
||||
"@types/mocha": "10.0.3",
|
||||
"@types/webpack-env": "1.16.3",
|
||||
"babel-plugin-istanbul": "6.1.1",
|
||||
"codecov": "3.8.3",
|
||||
|
@ -69,7 +70,7 @@
|
|||
"karma-mocha": "2.0.1",
|
||||
"karma-spec-reporter": "0.0.36",
|
||||
"karma-webpack": "4.0.2",
|
||||
"lerna": "7.1.5",
|
||||
"lerna": "6.6.2",
|
||||
"mocha": "10.2.0",
|
||||
"nyc": "15.1.0",
|
||||
"ts-loader": "8.4.0",
|
||||
|
@ -78,12 +79,12 @@
|
|||
"webpack": "4.46.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@opentelemetry/api-logs": "0.44.0",
|
||||
"@opentelemetry/core": "1.17.1",
|
||||
"@opentelemetry/resources": "1.17.1",
|
||||
"@opentelemetry/sdk-logs": "0.44.0",
|
||||
"@opentelemetry/sdk-metrics": "1.17.1",
|
||||
"@opentelemetry/sdk-trace-base": "1.17.1"
|
||||
"@opentelemetry/api-logs": "0.45.1",
|
||||
"@opentelemetry/core": "1.18.1",
|
||||
"@opentelemetry/resources": "1.18.1",
|
||||
"@opentelemetry/sdk-logs": "0.45.1",
|
||||
"@opentelemetry/sdk-metrics": "1.18.1",
|
||||
"@opentelemetry/sdk-trace-base": "1.18.1"
|
||||
},
|
||||
"homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/otlp-transformer",
|
||||
"sideEffects": false
|
||||
|
|
|
@ -14,16 +14,72 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import type { IFixed64 } from './types';
|
||||
import type { OtlpEncodingOptions, Fixed64, LongBits } from './types';
|
||||
import { HrTime } from '@opentelemetry/api';
|
||||
import { UnsignedLong } from './unsigned_long';
|
||||
import { hexToBase64, hrTimeToNanoseconds } from '@opentelemetry/core';
|
||||
|
||||
export * from './unsigned_long';
|
||||
const NANOSECONDS = BigInt(1_000_000_000);
|
||||
|
||||
const NANOSECONDS = UnsignedLong.fromU32(1_000_000_000);
|
||||
|
||||
export function hrTimeToFixed64Nanos(hrTime: HrTime): IFixed64 {
|
||||
return UnsignedLong.fromU32(hrTime[0])
|
||||
.multiply(NANOSECONDS)
|
||||
.add(UnsignedLong.fromU32(hrTime[1]));
|
||||
export function hrTimeToNanos(hrTime: HrTime): bigint {
|
||||
return BigInt(hrTime[0]) * NANOSECONDS + BigInt(hrTime[1]);
|
||||
}
|
||||
|
||||
export function toLongBits(value: bigint): LongBits {
|
||||
const low = Number(BigInt.asUintN(32, value));
|
||||
const high = Number(BigInt.asUintN(32, value >> BigInt(32)));
|
||||
return { low, high };
|
||||
}
|
||||
|
||||
export function encodeAsLongBits(hrTime: HrTime): LongBits {
|
||||
const nanos = hrTimeToNanos(hrTime);
|
||||
return toLongBits(nanos);
|
||||
}
|
||||
|
||||
export function encodeAsString(hrTime: HrTime): string {
|
||||
const nanos = hrTimeToNanos(hrTime);
|
||||
return nanos.toString();
|
||||
}
|
||||
|
||||
const encodeTimestamp =
|
||||
typeof BigInt !== 'undefined' ? encodeAsString : hrTimeToNanoseconds;
|
||||
|
||||
export type HrTimeEncodeFunction = (hrTime: HrTime) => Fixed64;
|
||||
export type SpanContextEncodeFunction = (spanContext: string) => string;
|
||||
export type OptionalSpanContextEncodeFunction = (
|
||||
spanContext: string | undefined
|
||||
) => string | undefined;
|
||||
|
||||
export interface Encoder {
|
||||
encodeHrTime: HrTimeEncodeFunction;
|
||||
encodeSpanContext: SpanContextEncodeFunction;
|
||||
encodeOptionalSpanContext: OptionalSpanContextEncodeFunction;
|
||||
}
|
||||
|
||||
function identity<T>(value: T): T {
|
||||
return value;
|
||||
}
|
||||
|
||||
function optionalHexToBase64(str: string | undefined): string | undefined {
|
||||
if (str === undefined) return undefined;
|
||||
return hexToBase64(str);
|
||||
}
|
||||
|
||||
const DEFAULT_ENCODER: Encoder = {
|
||||
encodeHrTime: encodeAsLongBits,
|
||||
encodeSpanContext: hexToBase64,
|
||||
encodeOptionalSpanContext: optionalHexToBase64,
|
||||
};
|
||||
|
||||
export function getOtlpEncoder(options?: OtlpEncodingOptions): Encoder {
|
||||
if (options === undefined) {
|
||||
return DEFAULT_ENCODER;
|
||||
}
|
||||
|
||||
const useLongBits = options.useLongBits ?? true;
|
||||
const useHex = options.useHex ?? false;
|
||||
return {
|
||||
encodeHrTime: useLongBits ? encodeAsLongBits : encodeTimestamp,
|
||||
encodeSpanContext: useHex ? identity : hexToBase64,
|
||||
encodeOptionalSpanContext: useHex ? identity : optionalHexToBase64,
|
||||
};
|
||||
}
|
||||
|
|
|
@ -74,7 +74,16 @@ export interface IKeyValueList {
|
|||
values: IKeyValue[];
|
||||
}
|
||||
|
||||
export interface IFixed64 {
|
||||
export interface LongBits {
|
||||
low: number;
|
||||
high: number;
|
||||
}
|
||||
|
||||
export type Fixed64 = LongBits | string | number;
|
||||
|
||||
export interface OtlpEncodingOptions {
|
||||
/** Convert trace and span IDs to hex strings. */
|
||||
useHex?: boolean;
|
||||
/** Convert HrTime to 2 part 64 bit values. */
|
||||
useLongBits?: boolean;
|
||||
}
|
||||
|
|
|
@ -1,122 +0,0 @@
|
|||
/*
|
||||
* Copyright 2009 The Closure Library Authors
|
||||
* Copyright 2020 Daniel Wirtz / The long.js Authors.
|
||||
* Copyright The OpenTelemetry Authors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// Original version by long.js: https://github.com/dcodeIO/long.js/
|
||||
|
||||
const TWO_PWR_32 = (1 << 16) * (1 << 16);
|
||||
|
||||
export class UnsignedLong {
|
||||
low: number;
|
||||
high: number;
|
||||
|
||||
constructor(low: number, high: number) {
|
||||
this.low = low;
|
||||
this.high = high;
|
||||
}
|
||||
|
||||
static fromU32(value: number): UnsignedLong {
|
||||
return new UnsignedLong(value % TWO_PWR_32 | 0, 0);
|
||||
}
|
||||
|
||||
multiply(value: UnsignedLong): UnsignedLong {
|
||||
const a48 = this.high >>> 16;
|
||||
const a32 = this.high & 0xffff;
|
||||
const a16 = this.low >>> 16;
|
||||
const a00 = this.low & 0xffff;
|
||||
|
||||
const b48 = value.high >>> 16;
|
||||
const b32 = value.high & 0xffff;
|
||||
const b16 = value.low >>> 16;
|
||||
const b00 = value.low & 0xffff;
|
||||
|
||||
let c48 = 0;
|
||||
let c32 = 0;
|
||||
let c16 = 0;
|
||||
let c00 = 0;
|
||||
c00 += a00 * b00;
|
||||
c16 += c00 >>> 16;
|
||||
c00 &= 0xffff;
|
||||
c16 += a16 * b00;
|
||||
c32 += c16 >>> 16;
|
||||
c16 &= 0xffff;
|
||||
c16 += a00 * b16;
|
||||
c32 += c16 >>> 16;
|
||||
c16 &= 0xffff;
|
||||
c32 += a32 * b00;
|
||||
c48 += c32 >>> 16;
|
||||
c32 &= 0xffff;
|
||||
c32 += a16 * b16;
|
||||
c48 += c32 >>> 16;
|
||||
c32 &= 0xffff;
|
||||
c32 += a00 * b32;
|
||||
c48 += c32 >>> 16;
|
||||
c32 &= 0xffff;
|
||||
c48 += a48 * b00 + a32 * b16 + a16 * b32 + a00 * b48;
|
||||
c48 &= 0xffff;
|
||||
|
||||
return new UnsignedLong((c16 << 16) | c00, (c48 << 16) | c32);
|
||||
}
|
||||
|
||||
add(value: UnsignedLong): UnsignedLong {
|
||||
const a48 = this.high >>> 16;
|
||||
const a32 = this.high & 0xffff;
|
||||
const a16 = this.low >>> 16;
|
||||
const a00 = this.low & 0xffff;
|
||||
|
||||
const b48 = value.high >>> 16;
|
||||
const b32 = value.high & 0xffff;
|
||||
const b16 = value.low >>> 16;
|
||||
const b00 = value.low & 0xffff;
|
||||
|
||||
let c48 = 0;
|
||||
let c32 = 0;
|
||||
let c16 = 0;
|
||||
let c00 = 0;
|
||||
c00 += a00 + b00;
|
||||
c16 += c00 >>> 16;
|
||||
c00 &= 0xffff;
|
||||
c16 += a16 + b16;
|
||||
c32 += c16 >>> 16;
|
||||
c16 &= 0xffff;
|
||||
c32 += a32 + b32;
|
||||
c48 += c32 >>> 16;
|
||||
c32 &= 0xffff;
|
||||
c48 += a48 + b48;
|
||||
c48 &= 0xffff;
|
||||
|
||||
return new UnsignedLong((c16 << 16) | c00, (c48 << 16) | c32);
|
||||
}
|
||||
|
||||
static fromString(str: string): UnsignedLong {
|
||||
let result = UnsignedLong.fromU32(0);
|
||||
|
||||
for (let i = 0; i < str.length; i += 8) {
|
||||
const size = Math.min(8, str.length - i);
|
||||
const value = parseInt(str.substring(i, i + size));
|
||||
if (size < 8) {
|
||||
const power = UnsignedLong.fromU32(Math.pow(10, size));
|
||||
result = result.multiply(power).add(UnsignedLong.fromU32(value));
|
||||
} else {
|
||||
result = result.multiply(UnsignedLong.fromU32(100_000_000));
|
||||
result = result.add(UnsignedLong.fromU32(value));
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
|
@ -22,19 +22,19 @@ import {
|
|||
IResourceLogs,
|
||||
} from './types';
|
||||
import { IResource } from '@opentelemetry/resources';
|
||||
import { hrTimeToFixed64Nanos } from '../common';
|
||||
import { Encoder, getOtlpEncoder } from '../common';
|
||||
import { toAnyValue, toAttributes, toKeyValue } from '../common/internal';
|
||||
import { hexToBase64 } from '@opentelemetry/core';
|
||||
import { SeverityNumber } from '@opentelemetry/api-logs';
|
||||
import { IKeyValue } from '../common/types';
|
||||
import { OtlpEncodingOptions, IKeyValue } from '../common/types';
|
||||
import { LogAttributes } from '@opentelemetry/api-logs';
|
||||
|
||||
export function createExportLogsServiceRequest(
|
||||
logRecords: ReadableLogRecord[],
|
||||
useHex?: boolean
|
||||
options?: OtlpEncodingOptions
|
||||
): IExportLogsServiceRequest {
|
||||
const encoder = getOtlpEncoder(options);
|
||||
return {
|
||||
resourceLogs: logRecordsToResourceLogs(logRecords, useHex),
|
||||
resourceLogs: logRecordsToResourceLogs(logRecords, encoder),
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -71,7 +71,7 @@ function createResourceMap(
|
|||
|
||||
function logRecordsToResourceLogs(
|
||||
logRecords: ReadableLogRecord[],
|
||||
useHex?: boolean
|
||||
encoder: Encoder
|
||||
): IResourceLogs[] {
|
||||
const resourceMap = createResourceMap(logRecords);
|
||||
return Array.from(resourceMap, ([resource, ismMap]) => ({
|
||||
|
@ -85,7 +85,7 @@ function logRecordsToResourceLogs(
|
|||
} = scopeLogs[0];
|
||||
return {
|
||||
scope: { name, version },
|
||||
logRecords: scopeLogs.map(log => toLogRecord(log, useHex)),
|
||||
logRecords: scopeLogs.map(log => toLogRecord(log, encoder)),
|
||||
schemaUrl,
|
||||
};
|
||||
}),
|
||||
|
@ -93,22 +93,18 @@ function logRecordsToResourceLogs(
|
|||
}));
|
||||
}
|
||||
|
||||
function toLogRecord(log: ReadableLogRecord, useHex?: boolean): ILogRecord {
|
||||
function toLogRecord(log: ReadableLogRecord, encoder: Encoder): ILogRecord {
|
||||
return {
|
||||
timeUnixNano: hrTimeToFixed64Nanos(log.hrTime),
|
||||
observedTimeUnixNano: hrTimeToFixed64Nanos(log.hrTimeObserved),
|
||||
timeUnixNano: encoder.encodeHrTime(log.hrTime),
|
||||
observedTimeUnixNano: encoder.encodeHrTime(log.hrTimeObserved),
|
||||
severityNumber: toSeverityNumber(log.severityNumber),
|
||||
severityText: log.severityText,
|
||||
body: toAnyValue(log.body),
|
||||
attributes: toLogAttributes(log.attributes),
|
||||
droppedAttributesCount: 0,
|
||||
flags: log.spanContext?.traceFlags,
|
||||
traceId: useHex
|
||||
? log.spanContext?.traceId
|
||||
: optionalHexToBase64(log.spanContext?.traceId),
|
||||
spanId: useHex
|
||||
? log.spanContext?.spanId
|
||||
: optionalHexToBase64(log.spanContext?.spanId),
|
||||
traceId: encoder.encodeOptionalSpanContext(log.spanContext?.traceId),
|
||||
spanId: encoder.encodeOptionalSpanContext(log.spanContext?.spanId),
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -118,11 +114,6 @@ function toSeverityNumber(
|
|||
return severityNumber as number | undefined as ESeverityNumber | undefined;
|
||||
}
|
||||
|
||||
function optionalHexToBase64(str: string | undefined): string | undefined {
|
||||
if (str === undefined) return undefined;
|
||||
return hexToBase64(str);
|
||||
}
|
||||
|
||||
export function toLogAttributes(attributes: LogAttributes): IKeyValue[] {
|
||||
return Object.keys(attributes).map(key => toKeyValue(key, attributes[key]));
|
||||
}
|
||||
|
|
|
@ -15,8 +15,8 @@
|
|||
*/
|
||||
|
||||
import type {
|
||||
Fixed64,
|
||||
IAnyValue,
|
||||
IFixed64,
|
||||
IInstrumentationScope,
|
||||
IKeyValue,
|
||||
} from '../common/types';
|
||||
|
@ -68,10 +68,10 @@ export interface IScopeLogs {
|
|||
/** Properties of a LogRecord. */
|
||||
export interface ILogRecord {
|
||||
/** LogRecord timeUnixNano */
|
||||
timeUnixNano: IFixed64;
|
||||
timeUnixNano: Fixed64;
|
||||
|
||||
/** LogRecord observedTimeUnixNano */
|
||||
observedTimeUnixNano: IFixed64;
|
||||
observedTimeUnixNano: Fixed64;
|
||||
|
||||
/** LogRecord severityNumber */
|
||||
severityNumber?: ESeverityNumber;
|
||||
|
|
|
@ -15,12 +15,16 @@
|
|||
*/
|
||||
import type { ResourceMetrics } from '@opentelemetry/sdk-metrics';
|
||||
import type { IExportMetricsServiceRequest } from './types';
|
||||
import type { OtlpEncodingOptions } from '../common/types';
|
||||
import { toResourceMetrics } from './internal';
|
||||
|
||||
export function createExportMetricsServiceRequest(
|
||||
resourceMetrics: ResourceMetrics[]
|
||||
resourceMetrics: ResourceMetrics[],
|
||||
options?: OtlpEncodingOptions
|
||||
): IExportMetricsServiceRequest {
|
||||
return {
|
||||
resourceMetrics: resourceMetrics.map(metrics => toResourceMetrics(metrics)),
|
||||
resourceMetrics: resourceMetrics.map(metrics =>
|
||||
toResourceMetrics(metrics, options)
|
||||
),
|
||||
};
|
||||
}
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
import type { OtlpEncodingOptions } from '../common/types';
|
||||
import { ValueType } from '@opentelemetry/api';
|
||||
import {
|
||||
AggregationTemporality,
|
||||
|
@ -24,7 +25,6 @@ import {
|
|||
ResourceMetrics,
|
||||
ScopeMetrics,
|
||||
} from '@opentelemetry/sdk-metrics';
|
||||
import { hrTimeToFixed64Nanos } from '../common';
|
||||
import { toAttributes } from '../common/internal';
|
||||
import {
|
||||
EAggregationTemporality,
|
||||
|
@ -35,34 +35,40 @@ import {
|
|||
IResourceMetrics,
|
||||
IScopeMetrics,
|
||||
} from './types';
|
||||
import { Encoder, getOtlpEncoder } from '../common';
|
||||
|
||||
export function toResourceMetrics(
|
||||
resourceMetrics: ResourceMetrics
|
||||
resourceMetrics: ResourceMetrics,
|
||||
options?: OtlpEncodingOptions
|
||||
): IResourceMetrics {
|
||||
const encoder = getOtlpEncoder(options);
|
||||
return {
|
||||
resource: {
|
||||
attributes: toAttributes(resourceMetrics.resource.attributes),
|
||||
droppedAttributesCount: 0,
|
||||
},
|
||||
schemaUrl: undefined,
|
||||
scopeMetrics: toScopeMetrics(resourceMetrics.scopeMetrics),
|
||||
scopeMetrics: toScopeMetrics(resourceMetrics.scopeMetrics, encoder),
|
||||
};
|
||||
}
|
||||
|
||||
export function toScopeMetrics(scopeMetrics: ScopeMetrics[]): IScopeMetrics[] {
|
||||
export function toScopeMetrics(
|
||||
scopeMetrics: ScopeMetrics[],
|
||||
encoder: Encoder
|
||||
): IScopeMetrics[] {
|
||||
return Array.from(
|
||||
scopeMetrics.map(metrics => ({
|
||||
scope: {
|
||||
name: metrics.scope.name,
|
||||
version: metrics.scope.version,
|
||||
},
|
||||
metrics: metrics.metrics.map(metricData => toMetric(metricData)),
|
||||
metrics: metrics.metrics.map(metricData => toMetric(metricData, encoder)),
|
||||
schemaUrl: metrics.scope.schemaUrl,
|
||||
}))
|
||||
);
|
||||
}
|
||||
|
||||
export function toMetric(metricData: MetricData): IMetric {
|
||||
export function toMetric(metricData: MetricData, encoder: Encoder): IMetric {
|
||||
const out: IMetric = {
|
||||
name: metricData.descriptor.name,
|
||||
description: metricData.descriptor.description,
|
||||
|
@ -78,24 +84,24 @@ export function toMetric(metricData: MetricData): IMetric {
|
|||
out.sum = {
|
||||
aggregationTemporality,
|
||||
isMonotonic: metricData.isMonotonic,
|
||||
dataPoints: toSingularDataPoints(metricData),
|
||||
dataPoints: toSingularDataPoints(metricData, encoder),
|
||||
};
|
||||
break;
|
||||
case DataPointType.GAUGE:
|
||||
out.gauge = {
|
||||
dataPoints: toSingularDataPoints(metricData),
|
||||
dataPoints: toSingularDataPoints(metricData, encoder),
|
||||
};
|
||||
break;
|
||||
case DataPointType.HISTOGRAM:
|
||||
out.histogram = {
|
||||
aggregationTemporality,
|
||||
dataPoints: toHistogramDataPoints(metricData),
|
||||
dataPoints: toHistogramDataPoints(metricData, encoder),
|
||||
};
|
||||
break;
|
||||
case DataPointType.EXPONENTIAL_HISTOGRAM:
|
||||
out.exponentialHistogram = {
|
||||
aggregationTemporality,
|
||||
dataPoints: toExponentialHistogramDataPoints(metricData),
|
||||
dataPoints: toExponentialHistogramDataPoints(metricData, encoder),
|
||||
};
|
||||
break;
|
||||
}
|
||||
|
@ -108,12 +114,13 @@ function toSingularDataPoint(
|
|||
| DataPoint<number>
|
||||
| DataPoint<Histogram>
|
||||
| DataPoint<ExponentialHistogram>,
|
||||
valueType: ValueType
|
||||
valueType: ValueType,
|
||||
encoder: Encoder
|
||||
) {
|
||||
const out: INumberDataPoint = {
|
||||
attributes: toAttributes(dataPoint.attributes),
|
||||
startTimeUnixNano: hrTimeToFixed64Nanos(dataPoint.startTime),
|
||||
timeUnixNano: hrTimeToFixed64Nanos(dataPoint.endTime),
|
||||
startTimeUnixNano: encoder.encodeHrTime(dataPoint.startTime),
|
||||
timeUnixNano: encoder.encodeHrTime(dataPoint.endTime),
|
||||
};
|
||||
|
||||
switch (valueType) {
|
||||
|
@ -128,13 +135,23 @@ function toSingularDataPoint(
|
|||
return out;
|
||||
}
|
||||
|
||||
function toSingularDataPoints(metricData: MetricData): INumberDataPoint[] {
|
||||
function toSingularDataPoints(
|
||||
metricData: MetricData,
|
||||
encoder: Encoder
|
||||
): INumberDataPoint[] {
|
||||
return metricData.dataPoints.map(dataPoint => {
|
||||
return toSingularDataPoint(dataPoint, metricData.descriptor.valueType);
|
||||
return toSingularDataPoint(
|
||||
dataPoint,
|
||||
metricData.descriptor.valueType,
|
||||
encoder
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
function toHistogramDataPoints(metricData: MetricData): IHistogramDataPoint[] {
|
||||
function toHistogramDataPoints(
|
||||
metricData: MetricData,
|
||||
encoder: Encoder
|
||||
): IHistogramDataPoint[] {
|
||||
return metricData.dataPoints.map(dataPoint => {
|
||||
const histogram = dataPoint.value as Histogram;
|
||||
return {
|
||||
|
@ -145,14 +162,15 @@ function toHistogramDataPoints(metricData: MetricData): IHistogramDataPoint[] {
|
|||
sum: histogram.sum,
|
||||
min: histogram.min,
|
||||
max: histogram.max,
|
||||
startTimeUnixNano: hrTimeToFixed64Nanos(dataPoint.startTime),
|
||||
timeUnixNano: hrTimeToFixed64Nanos(dataPoint.endTime),
|
||||
startTimeUnixNano: encoder.encodeHrTime(dataPoint.startTime),
|
||||
timeUnixNano: encoder.encodeHrTime(dataPoint.endTime),
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
function toExponentialHistogramDataPoints(
|
||||
metricData: MetricData
|
||||
metricData: MetricData,
|
||||
encoder: Encoder
|
||||
): IExponentialHistogramDataPoint[] {
|
||||
return metricData.dataPoints.map(dataPoint => {
|
||||
const histogram = dataPoint.value as ExponentialHistogram;
|
||||
|
@ -172,8 +190,8 @@ function toExponentialHistogramDataPoints(
|
|||
},
|
||||
scale: histogram.scale,
|
||||
zeroCount: histogram.zeroCount,
|
||||
startTimeUnixNano: hrTimeToFixed64Nanos(dataPoint.startTime),
|
||||
timeUnixNano: hrTimeToFixed64Nanos(dataPoint.endTime),
|
||||
startTimeUnixNano: encoder.encodeHrTime(dataPoint.startTime),
|
||||
timeUnixNano: encoder.encodeHrTime(dataPoint.endTime),
|
||||
};
|
||||
});
|
||||
}
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
import { IFixed64, IInstrumentationScope, IKeyValue } from '../common/types';
|
||||
import { Fixed64, IInstrumentationScope, IKeyValue } from '../common/types';
|
||||
import { IResource } from '../resource/types';
|
||||
|
||||
/** Properties of an ExportMetricsServiceRequest. */
|
||||
|
@ -134,10 +134,10 @@ export interface INumberDataPoint {
|
|||
attributes: IKeyValue[];
|
||||
|
||||
/** NumberDataPoint startTimeUnixNano */
|
||||
startTimeUnixNano?: IFixed64 | string;
|
||||
startTimeUnixNano?: Fixed64;
|
||||
|
||||
/** NumberDataPoint timeUnixNano */
|
||||
timeUnixNano?: IFixed64 | string;
|
||||
timeUnixNano?: Fixed64;
|
||||
|
||||
/** NumberDataPoint asDouble */
|
||||
asDouble?: number | null;
|
||||
|
@ -158,10 +158,10 @@ export interface IHistogramDataPoint {
|
|||
attributes?: IKeyValue[];
|
||||
|
||||
/** HistogramDataPoint startTimeUnixNano */
|
||||
startTimeUnixNano?: IFixed64 | string;
|
||||
startTimeUnixNano?: Fixed64;
|
||||
|
||||
/** HistogramDataPoint timeUnixNano */
|
||||
timeUnixNano?: IFixed64 | string;
|
||||
timeUnixNano?: Fixed64;
|
||||
|
||||
/** HistogramDataPoint count */
|
||||
count?: number;
|
||||
|
@ -194,10 +194,10 @@ export interface IExponentialHistogramDataPoint {
|
|||
attributes?: IKeyValue[];
|
||||
|
||||
/** ExponentialHistogramDataPoint startTimeUnixNano */
|
||||
startTimeUnixNano?: IFixed64 | string;
|
||||
startTimeUnixNano?: Fixed64;
|
||||
|
||||
/** ExponentialHistogramDataPoint timeUnixNano */
|
||||
timeUnixNano?: IFixed64 | string;
|
||||
timeUnixNano?: Fixed64;
|
||||
|
||||
/** ExponentialHistogramDataPoint count */
|
||||
count?: number;
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
*/
|
||||
import type { IResource } from '@opentelemetry/resources';
|
||||
import type { ReadableSpan } from '@opentelemetry/sdk-trace-base';
|
||||
import type { OtlpEncodingOptions } from '../common/types';
|
||||
import { toAttributes } from '../common/internal';
|
||||
import { sdkSpanToOtlpSpan } from './internal';
|
||||
import {
|
||||
|
@ -22,13 +23,15 @@ import {
|
|||
IResourceSpans,
|
||||
IScopeSpans,
|
||||
} from './types';
|
||||
import { Encoder, getOtlpEncoder } from '../common';
|
||||
|
||||
export function createExportTraceServiceRequest(
|
||||
spans: ReadableSpan[],
|
||||
useHex?: boolean
|
||||
options?: OtlpEncodingOptions
|
||||
): IExportTraceServiceRequest {
|
||||
const encoder = getOtlpEncoder(options);
|
||||
return {
|
||||
resourceSpans: spanRecordsToResourceSpans(spans, useHex),
|
||||
resourceSpans: spanRecordsToResourceSpans(spans, encoder),
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -61,7 +64,7 @@ function createResourceMap(readableSpans: ReadableSpan[]) {
|
|||
|
||||
function spanRecordsToResourceSpans(
|
||||
readableSpans: ReadableSpan[],
|
||||
useHex?: boolean
|
||||
encoder: Encoder
|
||||
): IResourceSpans[] {
|
||||
const resourceMap = createResourceMap(readableSpans);
|
||||
const out: IResourceSpans[] = [];
|
||||
|
@ -79,7 +82,7 @@ function spanRecordsToResourceSpans(
|
|||
const { name, version, schemaUrl } =
|
||||
scopeSpans[0].instrumentationLibrary;
|
||||
const spans = scopeSpans.map(readableSpan =>
|
||||
sdkSpanToOtlpSpan(readableSpan, useHex)
|
||||
sdkSpanToOtlpSpan(readableSpan, encoder)
|
||||
);
|
||||
|
||||
scopeResourceSpans.push({
|
||||
|
|
|
@ -15,64 +15,57 @@
|
|||
*/
|
||||
import type { Link } from '@opentelemetry/api';
|
||||
import type { ReadableSpan, TimedEvent } from '@opentelemetry/sdk-trace-base';
|
||||
import { hrTimeToFixed64Nanos } from '../common';
|
||||
import type { Encoder } from '../common';
|
||||
import { toAttributes } from '../common/internal';
|
||||
import { EStatusCode, IEvent, ILink, ISpan } from './types';
|
||||
import * as core from '@opentelemetry/core';
|
||||
|
||||
export function sdkSpanToOtlpSpan(span: ReadableSpan, useHex?: boolean): ISpan {
|
||||
export function sdkSpanToOtlpSpan(span: ReadableSpan, encoder: Encoder): ISpan {
|
||||
const ctx = span.spanContext();
|
||||
const status = span.status;
|
||||
const parentSpanId = useHex
|
||||
? span.parentSpanId
|
||||
: span.parentSpanId != null
|
||||
? core.hexToBase64(span.parentSpanId)
|
||||
: undefined;
|
||||
return {
|
||||
traceId: useHex ? ctx.traceId : core.hexToBase64(ctx.traceId),
|
||||
spanId: useHex ? ctx.spanId : core.hexToBase64(ctx.spanId),
|
||||
parentSpanId: parentSpanId,
|
||||
traceId: encoder.encodeSpanContext(ctx.traceId),
|
||||
spanId: encoder.encodeSpanContext(ctx.spanId),
|
||||
parentSpanId: encoder.encodeOptionalSpanContext(span.parentSpanId),
|
||||
traceState: ctx.traceState?.serialize(),
|
||||
name: span.name,
|
||||
// Span kind is offset by 1 because the API does not define a value for unset
|
||||
kind: span.kind == null ? 0 : span.kind + 1,
|
||||
startTimeUnixNano: hrTimeToFixed64Nanos(span.startTime),
|
||||
endTimeUnixNano: hrTimeToFixed64Nanos(span.endTime),
|
||||
startTimeUnixNano: encoder.encodeHrTime(span.startTime),
|
||||
endTimeUnixNano: encoder.encodeHrTime(span.endTime),
|
||||
attributes: toAttributes(span.attributes),
|
||||
droppedAttributesCount: span.droppedAttributesCount,
|
||||
events: span.events.map(toOtlpSpanEvent),
|
||||
events: span.events.map(event => toOtlpSpanEvent(event, encoder)),
|
||||
droppedEventsCount: span.droppedEventsCount,
|
||||
status: {
|
||||
// API and proto enums share the same values
|
||||
code: status.code as unknown as EStatusCode,
|
||||
message: status.message,
|
||||
},
|
||||
links: span.links.map(link => toOtlpLink(link, useHex)),
|
||||
links: span.links.map(link => toOtlpLink(link, encoder)),
|
||||
droppedLinksCount: span.droppedLinksCount,
|
||||
};
|
||||
}
|
||||
|
||||
export function toOtlpLink(link: Link, useHex?: boolean): ILink {
|
||||
export function toOtlpLink(link: Link, encoder: Encoder): ILink {
|
||||
return {
|
||||
attributes: link.attributes ? toAttributes(link.attributes) : [],
|
||||
spanId: useHex
|
||||
? link.context.spanId
|
||||
: core.hexToBase64(link.context.spanId),
|
||||
traceId: useHex
|
||||
? link.context.traceId
|
||||
: core.hexToBase64(link.context.traceId),
|
||||
spanId: encoder.encodeSpanContext(link.context.spanId),
|
||||
traceId: encoder.encodeSpanContext(link.context.traceId),
|
||||
traceState: link.context.traceState?.serialize(),
|
||||
droppedAttributesCount: link.droppedAttributesCount || 0,
|
||||
};
|
||||
}
|
||||
|
||||
export function toOtlpSpanEvent(timedEvent: TimedEvent): IEvent {
|
||||
export function toOtlpSpanEvent(
|
||||
timedEvent: TimedEvent,
|
||||
encoder: Encoder
|
||||
): IEvent {
|
||||
return {
|
||||
attributes: timedEvent.attributes
|
||||
? toAttributes(timedEvent.attributes)
|
||||
: [],
|
||||
name: timedEvent.name,
|
||||
timeUnixNano: hrTimeToFixed64Nanos(timedEvent.time),
|
||||
timeUnixNano: encoder.encodeHrTime(timedEvent.time),
|
||||
droppedAttributesCount: timedEvent.droppedAttributesCount || 0,
|
||||
};
|
||||
}
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { IFixed64, IInstrumentationScope, IKeyValue } from '../common/types';
|
||||
import { Fixed64, IInstrumentationScope, IKeyValue } from '../common/types';
|
||||
import { IResource } from '../resource/types';
|
||||
|
||||
/** Properties of an ExportTraceServiceRequest. */
|
||||
|
@ -81,10 +81,10 @@ export interface ISpan {
|
|||
kind: ESpanKind;
|
||||
|
||||
/** Span startTimeUnixNano */
|
||||
startTimeUnixNano: IFixed64;
|
||||
startTimeUnixNano: Fixed64;
|
||||
|
||||
/** Span endTimeUnixNano */
|
||||
endTimeUnixNano: IFixed64;
|
||||
endTimeUnixNano: Fixed64;
|
||||
|
||||
/** Span attributes */
|
||||
attributes: IKeyValue[];
|
||||
|
@ -166,7 +166,7 @@ export const enum EStatusCode {
|
|||
/** Properties of an Event. */
|
||||
export interface IEvent {
|
||||
/** Event timeUnixNano */
|
||||
timeUnixNano: IFixed64;
|
||||
timeUnixNano: Fixed64;
|
||||
|
||||
/** Event name */
|
||||
name: string;
|
||||
|
|
|
@ -14,9 +14,14 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { hexToBase64 } from '@opentelemetry/core';
|
||||
import { getOtlpEncoder } from '../src';
|
||||
import { toAnyValue } from '../src/common/internal';
|
||||
import * as assert from 'assert';
|
||||
|
||||
const traceId = 'abcdef01234567890000000000000000';
|
||||
const spanId = '12341234abcdabcd';
|
||||
|
||||
describe('common', () => {
|
||||
describe('toAnyValue', () => {
|
||||
it('serializes an array', () => {
|
||||
|
@ -63,4 +68,64 @@ describe('common', () => {
|
|||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('otlp encoder', () => {
|
||||
it('defaults to long timestamps and base64 encoding given no options', () => {
|
||||
const encoder = getOtlpEncoder();
|
||||
assert.deepStrictEqual(encoder.encodeHrTime([1697978649, 99870675]), {
|
||||
low: 3352011219,
|
||||
high: 395341461,
|
||||
});
|
||||
assert.deepStrictEqual(
|
||||
encoder.encodeSpanContext(traceId),
|
||||
hexToBase64(traceId)
|
||||
);
|
||||
assert.deepStrictEqual(
|
||||
encoder.encodeOptionalSpanContext(spanId),
|
||||
hexToBase64(spanId)
|
||||
);
|
||||
assert.deepStrictEqual(
|
||||
encoder.encodeOptionalSpanContext(undefined),
|
||||
undefined
|
||||
);
|
||||
});
|
||||
|
||||
it('defaults to long timestamps and base64 encoding given empty options', () => {
|
||||
const encoder = getOtlpEncoder({});
|
||||
assert.deepStrictEqual(encoder.encodeHrTime([1697978649, 99870675]), {
|
||||
low: 3352011219,
|
||||
high: 395341461,
|
||||
});
|
||||
assert.deepStrictEqual(
|
||||
encoder.encodeSpanContext(traceId),
|
||||
hexToBase64(traceId)
|
||||
);
|
||||
assert.deepStrictEqual(
|
||||
encoder.encodeOptionalSpanContext(spanId),
|
||||
hexToBase64(spanId)
|
||||
);
|
||||
assert.deepStrictEqual(
|
||||
encoder.encodeOptionalSpanContext(undefined),
|
||||
undefined
|
||||
);
|
||||
});
|
||||
|
||||
it('can encode HrTime as string', () => {
|
||||
const encoder = getOtlpEncoder({ useLongBits: false });
|
||||
assert.deepStrictEqual(
|
||||
encoder.encodeHrTime([1697978649, 99870675]),
|
||||
'1697978649099870675'
|
||||
);
|
||||
});
|
||||
|
||||
it('can encode span context as hex', () => {
|
||||
const encoder = getOtlpEncoder({ useHex: true });
|
||||
assert.deepStrictEqual(encoder.encodeSpanContext(traceId), traceId);
|
||||
assert.deepStrictEqual(encoder.encodeOptionalSpanContext(spanId), spanId);
|
||||
assert.deepStrictEqual(
|
||||
encoder.encodeOptionalSpanContext(undefined),
|
||||
undefined
|
||||
);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
@ -21,7 +21,6 @@ import {
|
|||
createExportLogsServiceRequest,
|
||||
ESeverityNumber,
|
||||
IExportLogsServiceRequest,
|
||||
UnsignedLong,
|
||||
} from '../src';
|
||||
import { ReadableLogRecord } from '@opentelemetry/sdk-logs';
|
||||
import { SeverityNumber } from '@opentelemetry/api-logs';
|
||||
|
@ -50,8 +49,8 @@ function createExpectedLogJson(useHex: boolean): IExportLogsServiceRequest {
|
|||
scope: { name: 'scope_name_1', version: '0.1.0' },
|
||||
logRecords: [
|
||||
{
|
||||
timeUnixNano: new UnsignedLong(-162521437, 391214506),
|
||||
observedTimeUnixNano: new UnsignedLong(584929536, 391976663),
|
||||
timeUnixNano: { low: 4132445859, high: 391214506 },
|
||||
observedTimeUnixNano: { low: 584929536, high: 391976663 },
|
||||
severityNumber: ESeverityNumber.SEVERITY_NUMBER_ERROR,
|
||||
severityText: 'error',
|
||||
body: { stringValue: 'some_log_body' },
|
||||
|
@ -147,19 +146,26 @@ describe('Logs', () => {
|
|||
});
|
||||
|
||||
it('returns null on an empty list', () => {
|
||||
assert.deepStrictEqual(createExportLogsServiceRequest([], true), {
|
||||
resourceLogs: [],
|
||||
});
|
||||
assert.deepStrictEqual(
|
||||
createExportLogsServiceRequest([], { useHex: true }),
|
||||
{
|
||||
resourceLogs: [],
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
it('serializes a log record with useHex = true', () => {
|
||||
const exportRequest = createExportLogsServiceRequest([log_1_1_1], true);
|
||||
const exportRequest = createExportLogsServiceRequest([log_1_1_1], {
|
||||
useHex: true,
|
||||
});
|
||||
assert.ok(exportRequest);
|
||||
assert.deepStrictEqual(exportRequest, createExpectedLogJson(true));
|
||||
});
|
||||
|
||||
it('serializes a log record with useHex = false', () => {
|
||||
const exportRequest = createExportLogsServiceRequest([log_1_1_1], false);
|
||||
const exportRequest = createExportLogsServiceRequest([log_1_1_1], {
|
||||
useHex: false,
|
||||
});
|
||||
assert.ok(exportRequest);
|
||||
assert.deepStrictEqual(exportRequest, createExpectedLogJson(false));
|
||||
});
|
||||
|
@ -167,7 +173,7 @@ describe('Logs', () => {
|
|||
it('aggregates multiple logs with same resource and same scope', () => {
|
||||
const exportRequest = createExportLogsServiceRequest(
|
||||
[log_1_1_1, log_1_1_2],
|
||||
false
|
||||
{ useHex: false }
|
||||
);
|
||||
assert.ok(exportRequest);
|
||||
assert.strictEqual(exportRequest.resourceLogs?.length, 1);
|
||||
|
@ -181,7 +187,7 @@ describe('Logs', () => {
|
|||
it('aggregates multiple logs with same resource and different scopes', () => {
|
||||
const exportRequest = createExportLogsServiceRequest(
|
||||
[log_1_1_1, log_1_2_1],
|
||||
false
|
||||
{ useHex: false }
|
||||
);
|
||||
assert.ok(exportRequest);
|
||||
assert.strictEqual(exportRequest.resourceLogs?.length, 1);
|
||||
|
@ -191,7 +197,7 @@ describe('Logs', () => {
|
|||
it('aggregates multiple logs with different resources', () => {
|
||||
const exportRequest = createExportLogsServiceRequest(
|
||||
[log_1_1_1, log_2_1_1],
|
||||
false
|
||||
{ useHex: false }
|
||||
);
|
||||
assert.ok(exportRequest);
|
||||
assert.strictEqual(exportRequest.resourceLogs?.length, 2);
|
||||
|
|
|
@ -26,7 +26,7 @@ import * as assert from 'assert';
|
|||
import { createExportMetricsServiceRequest } from '../src/metrics';
|
||||
import { EAggregationTemporality } from '../src/metrics/types';
|
||||
import { hrTime } from '@opentelemetry/core';
|
||||
import { hrTimeToFixed64Nanos } from '../src/common';
|
||||
import { encodeAsLongBits } from '../src';
|
||||
|
||||
const START_TIME = hrTime();
|
||||
const END_TIME = hrTime();
|
||||
|
@ -351,8 +351,8 @@ describe('Metrics', () => {
|
|||
dataPoints: [
|
||||
{
|
||||
attributes: expectedAttributes,
|
||||
startTimeUnixNano: hrTimeToFixed64Nanos(START_TIME),
|
||||
timeUnixNano: hrTimeToFixed64Nanos(END_TIME),
|
||||
startTimeUnixNano: encodeAsLongBits(START_TIME),
|
||||
timeUnixNano: encodeAsLongBits(END_TIME),
|
||||
asInt: 10,
|
||||
},
|
||||
],
|
||||
|
@ -394,8 +394,8 @@ describe('Metrics', () => {
|
|||
dataPoints: [
|
||||
{
|
||||
attributes: expectedAttributes,
|
||||
startTimeUnixNano: hrTimeToFixed64Nanos(START_TIME),
|
||||
timeUnixNano: hrTimeToFixed64Nanos(END_TIME),
|
||||
startTimeUnixNano: encodeAsLongBits(START_TIME),
|
||||
timeUnixNano: encodeAsLongBits(END_TIME),
|
||||
asInt: 10,
|
||||
},
|
||||
],
|
||||
|
@ -438,8 +438,8 @@ describe('Metrics', () => {
|
|||
dataPoints: [
|
||||
{
|
||||
attributes: expectedAttributes,
|
||||
startTimeUnixNano: hrTimeToFixed64Nanos(START_TIME),
|
||||
timeUnixNano: hrTimeToFixed64Nanos(END_TIME),
|
||||
startTimeUnixNano: encodeAsLongBits(START_TIME),
|
||||
timeUnixNano: encodeAsLongBits(END_TIME),
|
||||
asInt: 10,
|
||||
},
|
||||
],
|
||||
|
@ -482,8 +482,8 @@ describe('Metrics', () => {
|
|||
dataPoints: [
|
||||
{
|
||||
attributes: expectedAttributes,
|
||||
startTimeUnixNano: hrTimeToFixed64Nanos(START_TIME),
|
||||
timeUnixNano: hrTimeToFixed64Nanos(END_TIME),
|
||||
startTimeUnixNano: encodeAsLongBits(START_TIME),
|
||||
timeUnixNano: encodeAsLongBits(END_TIME),
|
||||
asInt: 10,
|
||||
},
|
||||
],
|
||||
|
@ -524,8 +524,8 @@ describe('Metrics', () => {
|
|||
dataPoints: [
|
||||
{
|
||||
attributes: expectedAttributes,
|
||||
startTimeUnixNano: hrTimeToFixed64Nanos(START_TIME),
|
||||
timeUnixNano: hrTimeToFixed64Nanos(END_TIME),
|
||||
startTimeUnixNano: encodeAsLongBits(START_TIME),
|
||||
timeUnixNano: encodeAsLongBits(END_TIME),
|
||||
asDouble: 10.5,
|
||||
},
|
||||
],
|
||||
|
@ -582,8 +582,8 @@ describe('Metrics', () => {
|
|||
sum: 9,
|
||||
min: 1,
|
||||
max: 8,
|
||||
startTimeUnixNano: hrTimeToFixed64Nanos(START_TIME),
|
||||
timeUnixNano: hrTimeToFixed64Nanos(END_TIME),
|
||||
startTimeUnixNano: encodeAsLongBits(START_TIME),
|
||||
timeUnixNano: encodeAsLongBits(END_TIME),
|
||||
},
|
||||
],
|
||||
},
|
||||
|
@ -636,8 +636,8 @@ describe('Metrics', () => {
|
|||
sum: 9,
|
||||
min: undefined,
|
||||
max: undefined,
|
||||
startTimeUnixNano: hrTimeToFixed64Nanos(START_TIME),
|
||||
timeUnixNano: hrTimeToFixed64Nanos(END_TIME),
|
||||
startTimeUnixNano: encodeAsLongBits(START_TIME),
|
||||
timeUnixNano: encodeAsLongBits(END_TIME),
|
||||
},
|
||||
],
|
||||
},
|
||||
|
@ -702,8 +702,8 @@ describe('Metrics', () => {
|
|||
bucketCounts: [1, 0, 0, 0, 1, 0, 1, 0],
|
||||
},
|
||||
negative: { offset: 0, bucketCounts: [0] },
|
||||
startTimeUnixNano: hrTimeToFixed64Nanos(START_TIME),
|
||||
timeUnixNano: hrTimeToFixed64Nanos(END_TIME),
|
||||
startTimeUnixNano: encodeAsLongBits(START_TIME),
|
||||
timeUnixNano: encodeAsLongBits(END_TIME),
|
||||
},
|
||||
],
|
||||
},
|
||||
|
@ -764,8 +764,8 @@ describe('Metrics', () => {
|
|||
bucketCounts: [1, 0, 0, 0, 1, 0, 1, 0],
|
||||
},
|
||||
negative: { offset: 0, bucketCounts: [0] },
|
||||
startTimeUnixNano: hrTimeToFixed64Nanos(START_TIME),
|
||||
timeUnixNano: hrTimeToFixed64Nanos(END_TIME),
|
||||
startTimeUnixNano: encodeAsLongBits(START_TIME),
|
||||
timeUnixNano: encodeAsLongBits(END_TIME),
|
||||
},
|
||||
],
|
||||
},
|
||||
|
|
|
@ -0,0 +1,61 @@
|
|||
/*
|
||||
* Copyright The OpenTelemetry Authors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
const Benchmark = require('benchmark');
|
||||
const { createExportTraceServiceRequest } = require('../../../build/src');
|
||||
const { BasicTracerProvider } = require('@opentelemetry/sdk-trace-base');
|
||||
|
||||
const tracerProvider = new BasicTracerProvider();
|
||||
const tracer = tracerProvider.getTracer('test')
|
||||
|
||||
const suite = new Benchmark.Suite();
|
||||
|
||||
const span = createSpan();
|
||||
const spans = [];
|
||||
for (let i = 0; i < 100; i++) {
|
||||
spans.push(createSpan());
|
||||
}
|
||||
|
||||
suite.on('cycle', event => {
|
||||
console.log(String(event.target));
|
||||
});
|
||||
|
||||
suite.add('transform 1 span', function() {
|
||||
createExportTraceServiceRequest([span]);
|
||||
});
|
||||
|
||||
suite.add('transform 100 spans', function() {
|
||||
createExportTraceServiceRequest(spans);
|
||||
});
|
||||
|
||||
suite.run();
|
||||
|
||||
function createSpan() {
|
||||
const span = tracer.startSpan('span');
|
||||
span.setAttribute('aaaaaaaaaaaaaaaaaaaa', 'aaaaaaaaaaaaaaaaaaaa');
|
||||
span.setAttribute('bbbbbbbbbbbbbbbbbbbb', 'bbbbbbbbbbbbbbbbbbbb');
|
||||
span.setAttribute('cccccccccccccccccccc', 'cccccccccccccccccccc');
|
||||
span.setAttribute('dddddddddddddddddddd', 'dddddddddddddddddddd');
|
||||
span.setAttribute('eeeeeeeeeeeeeeeeeeee', 'eeeeeeeeeeeeeeeeeeee');
|
||||
span.setAttribute('ffffffffffffffffffff', 'ffffffffffffffffffff');
|
||||
span.setAttribute('gggggggggggggggggggg', 'gggggggggggggggggggg');
|
||||
span.setAttribute('hhhhhhhhhhhhhhhhhhhh', 'hhhhhhhhhhhhhhhhhhhh');
|
||||
span.setAttribute('iiiiiiiiiiiiiiiiiiii', 'iiiiiiiiiiiiiiiiiiii');
|
||||
span.setAttribute('jjjjjjjjjjjjjjjjjjjj', 'jjjjjjjjjjjjjjjjjjjj');
|
||||
span.end();
|
||||
|
||||
return span;
|
||||
}
|
|
@ -19,13 +19,26 @@ import { Resource } from '@opentelemetry/resources';
|
|||
import { ReadableSpan } from '@opentelemetry/sdk-trace-base';
|
||||
import * as assert from 'assert';
|
||||
import {
|
||||
OtlpEncodingOptions,
|
||||
createExportTraceServiceRequest,
|
||||
ESpanKind,
|
||||
EStatusCode,
|
||||
UnsignedLong,
|
||||
} from '../src';
|
||||
|
||||
function createExpectedSpanJson(useHex: boolean) {
|
||||
function createExpectedSpanJson(options: OtlpEncodingOptions) {
|
||||
const useHex = options.useHex ?? false;
|
||||
const useLongBits = options.useLongBits ?? true;
|
||||
|
||||
const startTime = useLongBits
|
||||
? { low: 1155450124, high: 382008859 }
|
||||
: '1640715557342725388';
|
||||
const endTime = useLongBits
|
||||
? { low: 2455450124, high: 382008859 }
|
||||
: '1640715558642725388';
|
||||
const eventTime = useLongBits
|
||||
? { low: 2355450124, high: 382008859 }
|
||||
: '1640715558542725388';
|
||||
|
||||
const traceId = useHex
|
||||
? '00000000000000000000000000000001'
|
||||
: hexToBase64('00000000000000000000000000000001');
|
||||
|
@ -80,8 +93,8 @@ function createExpectedSpanJson(useHex: boolean) {
|
|||
],
|
||||
},
|
||||
],
|
||||
startTimeUnixNano: new UnsignedLong(1155450124, 382008859),
|
||||
endTimeUnixNano: new UnsignedLong(-1839517172, 382008859),
|
||||
startTimeUnixNano: startTime,
|
||||
endTimeUnixNano: endTime,
|
||||
events: [
|
||||
{
|
||||
droppedAttributesCount: 0,
|
||||
|
@ -94,7 +107,7 @@ function createExpectedSpanJson(useHex: boolean) {
|
|||
},
|
||||
],
|
||||
name: 'some event',
|
||||
timeUnixNano: new UnsignedLong(-1939517172, 382008859),
|
||||
timeUnixNano: eventTime,
|
||||
},
|
||||
],
|
||||
attributes: [
|
||||
|
@ -184,26 +197,48 @@ describe('Trace', () => {
|
|||
});
|
||||
|
||||
it('returns null on an empty list', () => {
|
||||
assert.deepStrictEqual(createExportTraceServiceRequest([], true), {
|
||||
resourceSpans: [],
|
||||
});
|
||||
assert.deepStrictEqual(
|
||||
createExportTraceServiceRequest([], { useHex: true }),
|
||||
{
|
||||
resourceSpans: [],
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
it('serializes a span with useHex = true', () => {
|
||||
const exportRequest = createExportTraceServiceRequest([span], true);
|
||||
const exportRequest = createExportTraceServiceRequest([span], {
|
||||
useHex: true,
|
||||
});
|
||||
assert.ok(exportRequest);
|
||||
assert.deepStrictEqual(exportRequest, createExpectedSpanJson(true));
|
||||
assert.deepStrictEqual(
|
||||
exportRequest,
|
||||
createExpectedSpanJson({ useHex: true })
|
||||
);
|
||||
});
|
||||
|
||||
it('serializes a span with useHex = false', () => {
|
||||
const exportRequest = createExportTraceServiceRequest([span], false);
|
||||
const exportRequest = createExportTraceServiceRequest([span], {
|
||||
useHex: false,
|
||||
});
|
||||
assert.ok(exportRequest);
|
||||
assert.deepStrictEqual(exportRequest, createExpectedSpanJson(false));
|
||||
assert.deepStrictEqual(
|
||||
exportRequest,
|
||||
createExpectedSpanJson({ useHex: false })
|
||||
);
|
||||
});
|
||||
|
||||
it('serializes a span with string timestamps', () => {
|
||||
const options: OtlpEncodingOptions = { useLongBits: false };
|
||||
const exportRequest = createExportTraceServiceRequest([span], options);
|
||||
assert.ok(exportRequest);
|
||||
assert.deepStrictEqual(exportRequest, createExpectedSpanJson(options));
|
||||
});
|
||||
|
||||
it('serializes a span without a parent with useHex = true', () => {
|
||||
(span as any).parentSpanId = undefined;
|
||||
const exportRequest = createExportTraceServiceRequest([span], true);
|
||||
const exportRequest = createExportTraceServiceRequest([span], {
|
||||
useHex: true,
|
||||
});
|
||||
assert.ok(exportRequest);
|
||||
assert.strictEqual(
|
||||
exportRequest.resourceSpans?.[0].scopeSpans[0].spans?.[0].parentSpanId,
|
||||
|
@ -213,7 +248,9 @@ describe('Trace', () => {
|
|||
|
||||
it('serializes a span without a parent with useHex = false', () => {
|
||||
(span as any).parentSpanId = undefined;
|
||||
const exportRequest = createExportTraceServiceRequest([span], false);
|
||||
const exportRequest = createExportTraceServiceRequest([span], {
|
||||
useHex: false,
|
||||
});
|
||||
assert.ok(exportRequest);
|
||||
assert.strictEqual(
|
||||
exportRequest.resourceSpans?.[0].scopeSpans[0].spans?.[0].parentSpanId,
|
||||
|
@ -225,7 +262,9 @@ describe('Trace', () => {
|
|||
it('error', () => {
|
||||
span.status.code = SpanStatusCode.ERROR;
|
||||
span.status.message = 'error message';
|
||||
const exportRequest = createExportTraceServiceRequest([span], true);
|
||||
const exportRequest = createExportTraceServiceRequest([span], {
|
||||
useHex: true,
|
||||
});
|
||||
assert.ok(exportRequest);
|
||||
const spanStatus =
|
||||
exportRequest.resourceSpans?.[0].scopeSpans[0].spans?.[0].status;
|
||||
|
@ -235,7 +274,9 @@ describe('Trace', () => {
|
|||
|
||||
it('unset', () => {
|
||||
span.status.code = SpanStatusCode.UNSET;
|
||||
const exportRequest = createExportTraceServiceRequest([span], true);
|
||||
const exportRequest = createExportTraceServiceRequest([span], {
|
||||
useHex: true,
|
||||
});
|
||||
assert.ok(exportRequest);
|
||||
assert.strictEqual(
|
||||
exportRequest.resourceSpans?.[0].scopeSpans[0].spans?.[0].status.code,
|
||||
|
@ -247,7 +288,9 @@ describe('Trace', () => {
|
|||
describe('span kind', () => {
|
||||
it('consumer', () => {
|
||||
(span as any).kind = SpanKind.CONSUMER;
|
||||
const exportRequest = createExportTraceServiceRequest([span], true);
|
||||
const exportRequest = createExportTraceServiceRequest([span], {
|
||||
useHex: true,
|
||||
});
|
||||
assert.ok(exportRequest);
|
||||
assert.strictEqual(
|
||||
exportRequest.resourceSpans?.[0].scopeSpans[0].spans?.[0].kind,
|
||||
|
@ -256,7 +299,9 @@ describe('Trace', () => {
|
|||
});
|
||||
it('internal', () => {
|
||||
(span as any).kind = SpanKind.INTERNAL;
|
||||
const exportRequest = createExportTraceServiceRequest([span], true);
|
||||
const exportRequest = createExportTraceServiceRequest([span], {
|
||||
useHex: true,
|
||||
});
|
||||
assert.ok(exportRequest);
|
||||
assert.strictEqual(
|
||||
exportRequest.resourceSpans?.[0].scopeSpans[0].spans?.[0].kind,
|
||||
|
@ -265,7 +310,9 @@ describe('Trace', () => {
|
|||
});
|
||||
it('producer', () => {
|
||||
(span as any).kind = SpanKind.PRODUCER;
|
||||
const exportRequest = createExportTraceServiceRequest([span], true);
|
||||
const exportRequest = createExportTraceServiceRequest([span], {
|
||||
useHex: true,
|
||||
});
|
||||
assert.ok(exportRequest);
|
||||
assert.strictEqual(
|
||||
exportRequest.resourceSpans?.[0].scopeSpans[0].spans?.[0].kind,
|
||||
|
@ -274,7 +321,9 @@ describe('Trace', () => {
|
|||
});
|
||||
it('server', () => {
|
||||
(span as any).kind = SpanKind.SERVER;
|
||||
const exportRequest = createExportTraceServiceRequest([span], true);
|
||||
const exportRequest = createExportTraceServiceRequest([span], {
|
||||
useHex: true,
|
||||
});
|
||||
assert.ok(exportRequest);
|
||||
assert.strictEqual(
|
||||
exportRequest.resourceSpans?.[0].scopeSpans[0].spans?.[0].kind,
|
||||
|
@ -283,7 +332,9 @@ describe('Trace', () => {
|
|||
});
|
||||
it('unspecified', () => {
|
||||
(span as any).kind = undefined;
|
||||
const exportRequest = createExportTraceServiceRequest([span], true);
|
||||
const exportRequest = createExportTraceServiceRequest([span], {
|
||||
useHex: true,
|
||||
});
|
||||
assert.ok(exportRequest);
|
||||
assert.strictEqual(
|
||||
exportRequest.resourceSpans?.[0].scopeSpans[0].spans?.[0].kind,
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@opentelemetry/sdk-logs",
|
||||
"version": "0.44.0",
|
||||
"version": "0.45.1",
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
|
@ -68,16 +68,16 @@
|
|||
],
|
||||
"sideEffects": false,
|
||||
"peerDependencies": {
|
||||
"@opentelemetry/api": ">=1.4.0 <1.7.0",
|
||||
"@opentelemetry/api": ">=1.4.0 <1.8.0",
|
||||
"@opentelemetry/api-logs": ">=0.39.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "7.22.20",
|
||||
"@opentelemetry/api": ">=1.4.0 <1.7.0",
|
||||
"@opentelemetry/api-logs": "0.44.0",
|
||||
"@types/mocha": "10.0.2",
|
||||
"@opentelemetry/api": ">=1.4.0 <1.8.0",
|
||||
"@opentelemetry/api-logs": "0.45.1",
|
||||
"@types/mocha": "10.0.3",
|
||||
"@types/node": "18.6.5",
|
||||
"@types/sinon": "10.0.19",
|
||||
"@types/sinon": "10.0.20",
|
||||
"babel-plugin-istanbul": "6.1.1",
|
||||
"codecov": "3.8.3",
|
||||
"cross-var": "1.1.0",
|
||||
|
@ -87,7 +87,7 @@
|
|||
"karma-mocha": "2.0.1",
|
||||
"karma-spec-reporter": "0.0.36",
|
||||
"karma-webpack": "4.0.2",
|
||||
"lerna": "7.1.5",
|
||||
"lerna": "6.6.2",
|
||||
"mocha": "10.2.0",
|
||||
"nyc": "15.1.0",
|
||||
"sinon": "15.1.2",
|
||||
|
@ -99,7 +99,7 @@
|
|||
"webpack-merge": "5.9.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@opentelemetry/core": "1.17.1",
|
||||
"@opentelemetry/resources": "1.17.1"
|
||||
"@opentelemetry/core": "1.18.1",
|
||||
"@opentelemetry/resources": "1.18.1"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -114,18 +114,18 @@ export class LogRecord implements ReadableLogRecord {
|
|||
if (value === null) {
|
||||
return this;
|
||||
}
|
||||
if (
|
||||
typeof value === 'object' &&
|
||||
!Array.isArray(value) &&
|
||||
Object.keys(value).length > 0
|
||||
) {
|
||||
this.attributes[key] = value;
|
||||
}
|
||||
if (key.length === 0) {
|
||||
api.diag.warn(`Invalid attribute key: ${key}`);
|
||||
return this;
|
||||
}
|
||||
if (!isAttributeValue(value)) {
|
||||
if (
|
||||
!isAttributeValue(value) &&
|
||||
!(
|
||||
typeof value === 'object' &&
|
||||
!Array.isArray(value) &&
|
||||
Object.keys(value).length > 0
|
||||
)
|
||||
) {
|
||||
api.diag.warn(`Invalid attribute value set for key: ${key}`);
|
||||
return this;
|
||||
}
|
||||
|
@ -136,7 +136,11 @@ export class LogRecord implements ReadableLogRecord {
|
|||
) {
|
||||
return this;
|
||||
}
|
||||
this.attributes[key] = this._truncateToSize(value);
|
||||
if (isAttributeValue(value)) {
|
||||
this.attributes[key] = this._truncateToSize(value);
|
||||
} else {
|
||||
this.attributes[key] = value;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
@ -179,14 +179,36 @@ describe('LogRecord', () => {
|
|||
describe('when "attributeCountLimit" option defined', () => {
|
||||
const { logRecord } = setup({ attributeCountLimit: 100 });
|
||||
for (let i = 0; i < 150; i++) {
|
||||
logRecord.setAttribute(`foo${i}`, `bar${i}`);
|
||||
let attributeValue;
|
||||
switch (i % 3) {
|
||||
case 0: {
|
||||
attributeValue = `bar${i}`;
|
||||
break;
|
||||
}
|
||||
case 1: {
|
||||
attributeValue = [`bar${i}`];
|
||||
break;
|
||||
}
|
||||
case 2: {
|
||||
attributeValue = {
|
||||
bar: `bar${i}`,
|
||||
};
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
attributeValue = `bar${i}`;
|
||||
}
|
||||
}
|
||||
logRecord.setAttribute(`foo${i}`, attributeValue);
|
||||
}
|
||||
|
||||
it('should remove / drop all remaining values after the number of values exceeds this limit', () => {
|
||||
const { attributes } = logRecord;
|
||||
assert.strictEqual(Object.keys(attributes).length, 100);
|
||||
assert.strictEqual(attributes.foo0, 'bar0');
|
||||
assert.strictEqual(attributes.foo99, 'bar99');
|
||||
assert.deepStrictEqual(attributes.foo98, { bar: 'bar98' });
|
||||
assert.strictEqual(attributes.foo147, undefined);
|
||||
assert.strictEqual(attributes.foo148, undefined);
|
||||
assert.strictEqual(attributes.foo149, undefined);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@opentelemetry/shim-opencensus",
|
||||
"version": "0.44.0",
|
||||
"version": "0.45.1",
|
||||
"description": "OpenCensus to OpenTelemetry shim",
|
||||
"main": "build/src/index.js",
|
||||
"types": "build/src/index.d.ts",
|
||||
|
@ -49,15 +49,15 @@
|
|||
},
|
||||
"devDependencies": {
|
||||
"@opencensus/core": "0.1.0",
|
||||
"@opentelemetry/api": "1.6.0",
|
||||
"@opentelemetry/context-async-hooks": "1.17.1",
|
||||
"@opentelemetry/sdk-trace-base": "1.17.1",
|
||||
"@types/mocha": "10.0.2",
|
||||
"@opentelemetry/api": "1.7.0",
|
||||
"@opentelemetry/context-async-hooks": "1.18.1",
|
||||
"@opentelemetry/sdk-trace-base": "1.18.1",
|
||||
"@types/mocha": "10.0.3",
|
||||
"@types/node": "18.6.5",
|
||||
"@types/sinon": "10.0.19",
|
||||
"@types/sinon": "10.0.20",
|
||||
"codecov": "3.8.3",
|
||||
"cross-var": "1.1.0",
|
||||
"lerna": "7.1.5",
|
||||
"lerna": "6.6.2",
|
||||
"mocha": "10.2.0",
|
||||
"nyc": "15.1.0",
|
||||
"sinon": "15.1.2",
|
||||
|
@ -69,9 +69,9 @@
|
|||
"@opentelemetry/api": "^1.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@opentelemetry/core": "1.17.1",
|
||||
"@opentelemetry/resources": "1.17.1",
|
||||
"@opentelemetry/sdk-metrics": "1.17.1",
|
||||
"@opentelemetry/core": "1.18.1",
|
||||
"@opentelemetry/resources": "1.18.1",
|
||||
"@opentelemetry/sdk-metrics": "1.18.1",
|
||||
"require-in-the-middle": "^7.1.1",
|
||||
"semver": "^7.5.2"
|
||||
},
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "propagation-validation-server",
|
||||
"version": "1.18.0",
|
||||
"version": "1.19.1",
|
||||
"description": "server for w3c tests",
|
||||
"main": "validation_server.js",
|
||||
"private": true,
|
||||
|
@ -12,9 +12,9 @@
|
|||
},
|
||||
"dependencies": {
|
||||
"@opentelemetry/api": "^1.0.0",
|
||||
"@opentelemetry/context-async-hooks": "1.17.1",
|
||||
"@opentelemetry/core": "1.17.1",
|
||||
"@opentelemetry/sdk-trace-base": "1.17.1",
|
||||
"@opentelemetry/context-async-hooks": "1.18.1",
|
||||
"@opentelemetry/core": "1.18.1",
|
||||
"@opentelemetry/sdk-trace-base": "1.18.1",
|
||||
"axios": "1.5.1",
|
||||
"body-parser": "1.19.0",
|
||||
"express": "4.17.3"
|
||||
|
|
15
lerna.json
15
lerna.json
|
@ -1,18 +1,5 @@
|
|||
{
|
||||
"version": "independent",
|
||||
"npmClient": "npm",
|
||||
"packages": [
|
||||
"api",
|
||||
"packages/*",
|
||||
"experimental/packages/*",
|
||||
"experimental/examples/*",
|
||||
"experimental/backwards-compatibility/*",
|
||||
"integration-tests/*",
|
||||
"selenium-tests",
|
||||
"examples/otlp-exporter-node",
|
||||
"examples/opentelemetry-web",
|
||||
"examples/http",
|
||||
"examples/https",
|
||||
"examples/esm-http-ts"
|
||||
]
|
||||
"useWorkspaces": true
|
||||
}
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
# Maintaining npm workspaces dependencies
|
||||
|
||||
This documents the caveats on maintaining npm workspaces dependencies.
|
||||
|
||||
## Karma
|
||||
|
||||
Packages with executables are hoisted in workspaces. In this case, `karma` and
|
||||
its plugins are not installed in the same `node_modules` folder, which leads to
|
||||
a condition that `karma` can not find the plugins necessary to run the tests.
|
||||
|
||||
To alleviate this, karma and its plugins are listed as root dependencies as
|
||||
well.
|
||||
|
||||
Relevant issue: [[RFC] Add nohoist option for workspaces](https://github.com/npm/rfcs/issues/287)
|
File diff suppressed because it is too large
Load Diff
31
package.json
31
package.json
|
@ -8,15 +8,14 @@
|
|||
"prewatch": "npm run precompile",
|
||||
"watch": "tsc --build --watch tsconfig.json tsconfig.esm.json tsconfig.esnext.json",
|
||||
"clean": "tsc --build --clean tsconfig.json tsconfig.esm.json tsconfig.esnext.json",
|
||||
"postinstall": "npm run update-ts-configs && npm run bootstrap",
|
||||
"postinstall": "npm run update-ts-configs",
|
||||
"submodule": "git submodule sync --recursive && git submodule update --init --recursive",
|
||||
"version:update": "lerna run version:update",
|
||||
"version:update": "lerna run version",
|
||||
"test": "lerna run test",
|
||||
"test:browser": "lerna run test:browser",
|
||||
"test:webworker": "lerna run test:webworker",
|
||||
"test:backcompat": "lerna run test:backcompat",
|
||||
"test:bench": "lerna run test:bench",
|
||||
"bootstrap": "lerna bootstrap --hoist --nohoist='zone.js'",
|
||||
"changelog": "lerna-changelog",
|
||||
"codecov": "lerna run codecov",
|
||||
"codecov:browser": "lerna run codecov:browser",
|
||||
|
@ -73,8 +72,14 @@
|
|||
"eslint-plugin-node": "11.1.0",
|
||||
"eslint-plugin-prettier": "5.0.1",
|
||||
"gh-pages": "6.0.0",
|
||||
"lerna": "7.1.5",
|
||||
"@lerna/legacy-package-management": "7.1.5",
|
||||
"karma": "6.4.2",
|
||||
"karma-chrome-launcher": "3.1.0",
|
||||
"karma-coverage": "2.2.1",
|
||||
"karma-mocha": "2.0.1",
|
||||
"karma-mocha-webworker": "1.3.0",
|
||||
"karma-spec-reporter": "0.0.36",
|
||||
"karma-webpack": "4.0.2",
|
||||
"lerna": "6.6.2",
|
||||
"linkinator": "5.0.2",
|
||||
"markdownlint-cli": "0.36.0",
|
||||
"prettier": "3.0.3",
|
||||
|
@ -96,5 +101,19 @@
|
|||
"internal": ":house: (Internal)"
|
||||
},
|
||||
"cacheDir": ".changelog"
|
||||
}
|
||||
},
|
||||
"workspaces": [
|
||||
"api",
|
||||
"packages/*",
|
||||
"experimental/packages/*",
|
||||
"experimental/examples/*",
|
||||
"experimental/backwards-compatibility/*",
|
||||
"integration-tests/*",
|
||||
"selenium-tests",
|
||||
"examples/otlp-exporter-node",
|
||||
"examples/opentelemetry-web",
|
||||
"examples/http",
|
||||
"examples/https",
|
||||
"examples/esm-http-ts"
|
||||
]
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@opentelemetry/context-async-hooks",
|
||||
"version": "1.17.1",
|
||||
"version": "1.18.1",
|
||||
"description": "OpenTelemetry AsyncHooks-based Context Manager",
|
||||
"main": "build/src/index.js",
|
||||
"types": "build/src/index.d.ts",
|
||||
|
@ -44,19 +44,19 @@
|
|||
"access": "public"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@opentelemetry/api": ">=1.0.0 <1.7.0",
|
||||
"@types/mocha": "10.0.2",
|
||||
"@opentelemetry/api": ">=1.0.0 <1.8.0",
|
||||
"@types/mocha": "10.0.3",
|
||||
"@types/node": "18.6.5",
|
||||
"codecov": "3.8.3",
|
||||
"cross-var": "1.1.0",
|
||||
"lerna": "7.1.5",
|
||||
"lerna": "6.6.2",
|
||||
"mocha": "10.2.0",
|
||||
"nyc": "15.1.0",
|
||||
"ts-mocha": "10.0.0",
|
||||
"typescript": "4.4.4"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@opentelemetry/api": ">=1.0.0 <1.7.0"
|
||||
"@opentelemetry/api": ">=1.0.0 <1.8.0"
|
||||
},
|
||||
"homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-context-async-hooks",
|
||||
"sideEffects": false
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@opentelemetry/context-zone-peer-dep",
|
||||
"version": "1.17.1",
|
||||
"version": "1.18.1",
|
||||
"description": "OpenTelemetry Context Zone with peer dependency for zone.js",
|
||||
"main": "build/src/index.js",
|
||||
"module": "build/esm/index.js",
|
||||
|
@ -54,10 +54,10 @@
|
|||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "7.22.20",
|
||||
"@opentelemetry/api": ">=1.0.0 <1.7.0",
|
||||
"@types/mocha": "10.0.2",
|
||||
"@opentelemetry/api": ">=1.0.0 <1.8.0",
|
||||
"@types/mocha": "10.0.3",
|
||||
"@types/node": "18.6.5",
|
||||
"@types/sinon": "10.0.19",
|
||||
"@types/sinon": "10.0.20",
|
||||
"@types/webpack-env": "1.16.3",
|
||||
"@types/zone.js": "0.5.12",
|
||||
"babel-loader": "8.3.0",
|
||||
|
@ -70,7 +70,7 @@
|
|||
"karma-mocha": "2.0.1",
|
||||
"karma-spec-reporter": "0.0.36",
|
||||
"karma-webpack": "4.0.2",
|
||||
"lerna": "7.1.5",
|
||||
"lerna": "6.6.2",
|
||||
"mocha": "10.2.0",
|
||||
"nyc": "15.1.0",
|
||||
"sinon": "15.1.2",
|
||||
|
@ -82,7 +82,7 @@
|
|||
"zone.js": "0.11.4"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@opentelemetry/api": ">=1.0.0 <1.7.0",
|
||||
"@opentelemetry/api": ">=1.0.0 <1.8.0",
|
||||
"zone.js": "^0.10.2 || ^0.11.0"
|
||||
},
|
||||
"sideEffects": false,
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/// <reference types="zone.js" />
|
||||
import { Context, ContextManager, ROOT_CONTEXT } from '@opentelemetry/api';
|
||||
import { TargetWithEvents } from './types';
|
||||
import { isListenerObject } from './util';
|
||||
|
|
|
@ -5,9 +5,6 @@
|
|||
"rootDir": "src",
|
||||
"tsBuildInfoFile": "build/esm/tsconfig.esm.tsbuildinfo"
|
||||
},
|
||||
"files": [
|
||||
"node_modules/zone.js/dist/zone.js.d.ts"
|
||||
],
|
||||
"include": [
|
||||
"src/**/*.ts"
|
||||
],
|
||||
|
|
|
@ -5,9 +5,6 @@
|
|||
"rootDir": "src",
|
||||
"tsBuildInfoFile": "build/esnext/tsconfig.esnext.tsbuildinfo"
|
||||
},
|
||||
"files": [
|
||||
"node_modules/zone.js/dist/zone.js.d.ts"
|
||||
],
|
||||
"include": [
|
||||
"src/**/*.ts"
|
||||
],
|
||||
|
|
|
@ -4,9 +4,6 @@
|
|||
"outDir": "build",
|
||||
"rootDir": "."
|
||||
},
|
||||
"files": [
|
||||
"node_modules/zone.js/dist/zone.js.d.ts"
|
||||
],
|
||||
"include": [
|
||||
"src/**/*.ts",
|
||||
"test/**/*.ts"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@opentelemetry/context-zone",
|
||||
"version": "1.17.1",
|
||||
"version": "1.18.1",
|
||||
"description": "OpenTelemetry Context Zone",
|
||||
"main": "build/src/index.js",
|
||||
"module": "build/esm/index.js",
|
||||
|
@ -51,9 +51,9 @@
|
|||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "7.22.20",
|
||||
"@types/mocha": "10.0.2",
|
||||
"@types/mocha": "10.0.3",
|
||||
"@types/node": "18.6.5",
|
||||
"@types/sinon": "10.0.19",
|
||||
"@types/sinon": "10.0.20",
|
||||
"@types/webpack-env": "1.16.3",
|
||||
"babel-loader": "8.3.0",
|
||||
"codecov": "3.8.3",
|
||||
|
@ -63,7 +63,7 @@
|
|||
"karma-mocha": "2.0.1",
|
||||
"karma-spec-reporter": "0.0.36",
|
||||
"karma-webpack": "4.0.2",
|
||||
"lerna": "7.1.5",
|
||||
"lerna": "6.6.2",
|
||||
"mocha": "10.2.0",
|
||||
"nyc": "15.1.0",
|
||||
"sinon": "15.1.2",
|
||||
|
@ -75,7 +75,7 @@
|
|||
"webpack-merge": "5.9.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@opentelemetry/context-zone-peer-dep": "1.17.1",
|
||||
"@opentelemetry/context-zone-peer-dep": "1.18.1",
|
||||
"zone.js": "^0.11.0"
|
||||
},
|
||||
"sideEffects": true,
|
||||
|
|
|
@ -5,9 +5,6 @@
|
|||
"rootDir": "src",
|
||||
"tsBuildInfoFile": "build/esm/tsconfig.esm.tsbuildinfo"
|
||||
},
|
||||
"files": [
|
||||
"node_modules/zone.js/dist/zone.js.d.ts"
|
||||
],
|
||||
"include": [
|
||||
"src/**/*.ts"
|
||||
],
|
||||
|
|
|
@ -5,9 +5,6 @@
|
|||
"rootDir": "src",
|
||||
"tsBuildInfoFile": "build/esnext/tsconfig.esnext.tsbuildinfo"
|
||||
},
|
||||
"files": [
|
||||
"node_modules/zone.js/dist/zone.js.d.ts"
|
||||
],
|
||||
"include": [
|
||||
"src/**/*.ts"
|
||||
],
|
||||
|
|
|
@ -4,9 +4,6 @@
|
|||
"outDir": "build",
|
||||
"rootDir": "."
|
||||
},
|
||||
"files": [
|
||||
"node_modules/zone.js/dist/zone.js.d.ts"
|
||||
],
|
||||
"include": [
|
||||
"src/**/*.ts",
|
||||
"test/**/*.ts"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@opentelemetry/core",
|
||||
"version": "1.17.1",
|
||||
"version": "1.18.1",
|
||||
"description": "OpenTelemetry Core provides constants and utilities shared by all OpenTelemetry SDK packages.",
|
||||
"main": "build/src/index.js",
|
||||
"module": "build/esm/index.js",
|
||||
|
@ -64,10 +64,10 @@
|
|||
"access": "public"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@opentelemetry/api": ">=1.0.0 <1.7.0",
|
||||
"@types/mocha": "10.0.2",
|
||||
"@opentelemetry/api": ">=1.0.0 <1.8.0",
|
||||
"@types/mocha": "10.0.3",
|
||||
"@types/node": "18.6.5",
|
||||
"@types/sinon": "10.0.19",
|
||||
"@types/sinon": "10.0.20",
|
||||
"@types/webpack-env": "1.16.3",
|
||||
"babel-plugin-istanbul": "6.1.1",
|
||||
"codecov": "3.8.3",
|
||||
|
@ -78,7 +78,7 @@
|
|||
"karma-mocha": "2.0.1",
|
||||
"karma-spec-reporter": "0.0.36",
|
||||
"karma-webpack": "4.0.2",
|
||||
"lerna": "7.1.5",
|
||||
"lerna": "6.6.2",
|
||||
"mocha": "10.2.0",
|
||||
"nyc": "15.1.0",
|
||||
"sinon": "15.1.2",
|
||||
|
@ -88,10 +88,10 @@
|
|||
"webpack": "4.46.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@opentelemetry/api": ">=1.0.0 <1.7.0"
|
||||
"@opentelemetry/api": ">=1.0.0 <1.8.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@opentelemetry/semantic-conventions": "1.17.1"
|
||||
"@opentelemetry/semantic-conventions": "1.18.1"
|
||||
},
|
||||
"homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-core",
|
||||
"sideEffects": false
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue