From 35cda77238d8f33f62d1b9e80d55e51c9aa86a18 Mon Sep 17 00:00:00 2001 From: Valentin Marchaud Date: Mon, 11 May 2020 19:40:44 +0200 Subject: [PATCH 01/33] fix(http-plugin): strip otel custom http header #983 (#984) --- packages/opentelemetry-plugin-http/src/http.ts | 6 +++++- packages/opentelemetry-plugin-http/src/utils.ts | 13 ++++++++++++- .../test/functionals/http-enable.test.ts | 8 ++++++++ 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/packages/opentelemetry-plugin-http/src/http.ts b/packages/opentelemetry-plugin-http/src/http.ts index c6c9aaa933..b145b4a49e 100644 --- a/packages/opentelemetry-plugin-http/src/http.ts +++ b/packages/opentelemetry-plugin-http/src/http.ts @@ -392,8 +392,12 @@ export class HttpPlugin extends BasePlugin { extraOptions ); + if (utils.isOpenTelemetryRequest(optionsParsed)) { + delete optionsParsed.headers[utils.OT_REQUEST_HEADER]; + return original.apply(this, [optionsParsed, ...args]); + } + if ( - utils.isOpenTelemetryRequest(optionsParsed) || utils.isIgnored( origin + pathname, plugin._config.ignoreOutgoingUrls, diff --git a/packages/opentelemetry-plugin-http/src/utils.ts b/packages/opentelemetry-plugin-http/src/utils.ts index e97e421c46..ef5cb100f2 100644 --- a/packages/opentelemetry-plugin-http/src/utils.ts +++ b/packages/opentelemetry-plugin-http/src/utils.ts @@ -33,6 +33,10 @@ import { AttributeNames } from './enums/AttributeNames'; import * as url from 'url'; import { Socket } from 'net'; +/** + * Specific header used by exporters to "mark" outgoing request to avoid creating + * spans for request that export them which would create a infinite loop. + */ export const OT_REQUEST_HEADER = 'x-opentelemetry-outgoing-request'; export const HTTP_STATUS_SPECIAL_CASES: SpecialHttpStatusCodeMapping = { @@ -298,9 +302,16 @@ export const isValidOptionsType = (options: unknown): boolean => { * Use case: Typically, exporter `SpanExporter` can use http module to send spans. * This will also generate spans (from the http-plugin) that will be sended through the exporter * and here we have loop. + * + * TODO: Refactor this logic when a solution is found in + * https://github.com/open-telemetry/opentelemetry-specification/issues/530 + * + * * @param {RequestOptions} options */ -export const isOpenTelemetryRequest = (options: RequestOptions) => { +export const isOpenTelemetryRequest = ( + options: RequestOptions +): options is { headers: {} } & RequestOptions => { return !!(options && options.headers && options.headers[OT_REQUEST_HEADER]); }; diff --git a/packages/opentelemetry-plugin-http/test/functionals/http-enable.test.ts b/packages/opentelemetry-plugin-http/test/functionals/http-enable.test.ts index 7197a7410d..1fec14144f 100644 --- a/packages/opentelemetry-plugin-http/test/functionals/http-enable.test.ts +++ b/packages/opentelemetry-plugin-http/test/functionals/http-enable.test.ts @@ -180,6 +180,10 @@ describe('HttpPlugin', () => { }; const result = await httpRequest.get(options); + assert( + result.reqHeaders[OT_REQUEST_HEADER] === undefined, + 'custom header should be stripped' + ); const spans = memoryExporter.getFinishedSpans(); assert.strictEqual(result.data, 'Ok'); assert.strictEqual(spans.length, 0); @@ -293,6 +297,10 @@ describe('HttpPlugin', () => { }; const result = await httpRequest.get(options); + assert( + result.reqHeaders[OT_REQUEST_HEADER] === undefined, + 'custom header should be stripped' + ); const spans = memoryExporter.getFinishedSpans(); assert.strictEqual(result.data, 'Ok'); assert.strictEqual(spans.length, 0); From 2c9ed6389238ffe1d10d585ea1b29e190b9dfffc Mon Sep 17 00:00:00 2001 From: Bartlomiej Obecny Date: Tue, 12 May 2020 17:11:23 +0200 Subject: [PATCH 02/33] chore: splitting BasePlugin into browser and node (#981) --- packages/opentelemetry-core/karma.conf.js | 4 +- packages/opentelemetry-core/package.json | 2 +- packages/opentelemetry-core/src/index.ts | 1 - .../src/platform/BaseAbstractPlugin.ts | 58 +++++++++++++++++++ .../src/platform/browser/BasePlugin.ts | 43 ++++++++++++++ .../src/platform/browser/index.ts | 1 + .../node}/BasePlugin.ts | 23 ++------ .../src/platform/node/index.ts | 3 +- .../opentelemetry-core/test/index-webpack.ts | 11 +++- .../{trace => platform}/BasePlugin.test.ts | 7 +-- .../test/platform/browser/BasePlugin.test.ts | 48 +++++++++++++++ 11 files changed, 170 insertions(+), 31 deletions(-) create mode 100644 packages/opentelemetry-core/src/platform/BaseAbstractPlugin.ts create mode 100644 packages/opentelemetry-core/src/platform/browser/BasePlugin.ts rename packages/opentelemetry-core/src/{trace/instrumentation => platform/node}/BasePlugin.ts (84%) rename packages/opentelemetry-core/test/{trace => platform}/BasePlugin.test.ts (91%) create mode 100644 packages/opentelemetry-core/test/platform/browser/BasePlugin.test.ts diff --git a/packages/opentelemetry-core/karma.conf.js b/packages/opentelemetry-core/karma.conf.js index 7183aab033..7b8c9678db 100644 --- a/packages/opentelemetry-core/karma.conf.js +++ b/packages/opentelemetry-core/karma.conf.js @@ -1,5 +1,5 @@ /*! - * Copyright 2019, OpenTelemetry Authors + * Copyright 2020, OpenTelemetry Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,6 +19,6 @@ const karmaBaseConfig = require('../../karma.base'); module.exports = (config) => { config.set(Object.assign({}, karmaBaseConfig, { - webpack: karmaWebpackConfig + webpack: karmaWebpackConfig, })) }; diff --git a/packages/opentelemetry-core/package.json b/packages/opentelemetry-core/package.json index 149e6f2824..33cadce020 100644 --- a/packages/opentelemetry-core/package.json +++ b/packages/opentelemetry-core/package.json @@ -10,7 +10,7 @@ "types": "build/src/index.d.ts", "repository": "open-telemetry/opentelemetry-js", "scripts": { - "test": "nyc ts-mocha -p tsconfig.json test/**/*.test.ts", + "test": "nyc ts-mocha -p tsconfig.json test/**/*.test.ts --exclude 'test/platform/browser/**/*.ts'", "test:browser": "nyc karma start --single-run", "tdd": "npm run tdd:node", "tdd:node": "npm run test -- --watch-extensions ts --watch", diff --git a/packages/opentelemetry-core/src/index.ts b/packages/opentelemetry-core/src/index.ts index 46f1baf8be..7e561a52bb 100644 --- a/packages/opentelemetry-core/src/index.ts +++ b/packages/opentelemetry-core/src/index.ts @@ -26,7 +26,6 @@ export * from './context/propagation/composite'; export * from './context/propagation/HttpTraceContext'; export * from './context/propagation/types'; export * from './platform'; -export * from './trace/instrumentation/BasePlugin'; export * from './trace/NoRecordingSpan'; export * from './trace/sampler/ProbabilitySampler'; export * from './trace/spancontext-utils'; diff --git a/packages/opentelemetry-core/src/platform/BaseAbstractPlugin.ts b/packages/opentelemetry-core/src/platform/BaseAbstractPlugin.ts new file mode 100644 index 0000000000..57ec582d2d --- /dev/null +++ b/packages/opentelemetry-core/src/platform/BaseAbstractPlugin.ts @@ -0,0 +1,58 @@ +/*! + * Copyright 2020, 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. + */ + +import { + Tracer, + Plugin, + Logger, + PluginConfig, + TracerProvider, + PluginInternalFiles, +} from '@opentelemetry/api'; + +/** This class represent the base to patch plugin. */ +export abstract class BaseAbstractPlugin implements Plugin { + abstract readonly moduleName: string; // required for internalFilesExports + supportedVersions?: string[]; + readonly version?: string; // required for internalFilesExports + + protected readonly _basedir?: string; // required for internalFilesExports + protected _config!: PluginConfig; + protected _internalFilesExports!: { [module: string]: unknown }; // output for internalFilesExports + protected readonly _internalFilesList?: PluginInternalFiles; // required for internalFilesExports + protected _logger!: Logger; + protected _moduleExports!: T; + protected _tracer!: Tracer; + + constructor( + protected readonly _tracerName: string, + protected readonly _tracerVersion?: string + ) {} + + disable(): void { + this.unpatch(); + } + + abstract enable( + moduleExports: T, + tracerProvider: TracerProvider, + logger: Logger, + config?: PluginConfig + ): T; + + protected abstract patch(): T; + protected abstract unpatch(): void; +} diff --git a/packages/opentelemetry-core/src/platform/browser/BasePlugin.ts b/packages/opentelemetry-core/src/platform/browser/BasePlugin.ts new file mode 100644 index 0000000000..f9b99d05cb --- /dev/null +++ b/packages/opentelemetry-core/src/platform/browser/BasePlugin.ts @@ -0,0 +1,43 @@ +/*! + * Copyright 2020, 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. + */ + +import { + Logger, + Plugin, + PluginConfig, + TracerProvider, +} from '@opentelemetry/api'; +import { BaseAbstractPlugin } from '../BaseAbstractPlugin'; + +/** This class represent the base to patch plugin. */ +export abstract class BasePlugin extends BaseAbstractPlugin + implements Plugin { + enable( + moduleExports: T, + tracerProvider: TracerProvider, + logger: Logger, + config?: PluginConfig + ): T { + this._moduleExports = moduleExports; + this._tracer = tracerProvider.getTracer( + this._tracerName, + this._tracerVersion + ); + this._logger = logger; + if (config) this._config = config; + return this.patch(); + } +} diff --git a/packages/opentelemetry-core/src/platform/browser/index.ts b/packages/opentelemetry-core/src/platform/browser/index.ts index 36164efce5..15f8e3412d 100644 --- a/packages/opentelemetry-core/src/platform/browser/index.ts +++ b/packages/opentelemetry-core/src/platform/browser/index.ts @@ -14,6 +14,7 @@ * limitations under the License. */ +export * from './BasePlugin'; export * from './hex-to-base64'; export * from './id'; export * from './performance'; diff --git a/packages/opentelemetry-core/src/trace/instrumentation/BasePlugin.ts b/packages/opentelemetry-core/src/platform/node/BasePlugin.ts similarity index 84% rename from packages/opentelemetry-core/src/trace/instrumentation/BasePlugin.ts rename to packages/opentelemetry-core/src/platform/node/BasePlugin.ts index 601939df36..f3b713bf67 100644 --- a/packages/opentelemetry-core/src/trace/instrumentation/BasePlugin.ts +++ b/packages/opentelemetry-core/src/platform/node/BasePlugin.ts @@ -15,7 +15,6 @@ */ import { - Tracer, Plugin, Logger, PluginConfig, @@ -25,26 +24,11 @@ import { } from '@opentelemetry/api'; import * as semver from 'semver'; import * as path from 'path'; +import { BaseAbstractPlugin } from '../BaseAbstractPlugin'; /** This class represent the base to patch plugin. */ -export abstract class BasePlugin implements Plugin { - supportedVersions?: string[]; - abstract readonly moduleName: string; // required for internalFilesExports - readonly version?: string; // required for internalFilesExports - protected readonly _basedir?: string; // required for internalFilesExports - - protected _moduleExports!: T; - protected _tracer!: Tracer; - protected _logger!: Logger; - protected _internalFilesExports!: { [module: string]: unknown }; // output for internalFilesExports - protected readonly _internalFilesList?: PluginInternalFiles; // required for internalFilesExports - protected _config!: PluginConfig; - - constructor( - protected readonly _tracerName: string, - protected readonly _tracerVersion?: string - ) {} - +export abstract class BasePlugin extends BaseAbstractPlugin + implements Plugin { enable( moduleExports: T, tracerProvider: TracerProvider, @@ -147,5 +131,6 @@ export abstract class BasePlugin implements Plugin { } protected abstract patch(): T; + protected abstract unpatch(): void; } diff --git a/packages/opentelemetry-core/src/platform/node/index.ts b/packages/opentelemetry-core/src/platform/node/index.ts index 47a879b04d..71f289fdf5 100644 --- a/packages/opentelemetry-core/src/platform/node/index.ts +++ b/packages/opentelemetry-core/src/platform/node/index.ts @@ -14,8 +14,9 @@ * limitations under the License. */ -export * from './sdk-info'; +export * from './BasePlugin'; export * from './id'; export * from './performance'; +export * from './sdk-info'; export * from './timer-util'; export * from './hex-to-base64'; diff --git a/packages/opentelemetry-core/test/index-webpack.ts b/packages/opentelemetry-core/test/index-webpack.ts index 7731f09091..2c89bb37ee 100644 --- a/packages/opentelemetry-core/test/index-webpack.ts +++ b/packages/opentelemetry-core/test/index-webpack.ts @@ -1,5 +1,5 @@ /*! - * Copyright 2019, OpenTelemetry Authors + * Copyright 2020, OpenTelemetry Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,8 +16,13 @@ // This file is the webpack entry point for the browser Karma tests. It requires // all modules ending in "test" from the current folder and all its subfolders. -const testsContext = require.context('.', true, /test$/); -testsContext.keys().forEach(testsContext); +const testsContextCommon = require.context('.', true, /test$/); +testsContextCommon.keys().forEach(key => { + if (key.indexOf('./platform/BasePlugin.test') >= 0) { + return function() {}; + } + return testsContextCommon(key); +}); const srcContext = require.context('.', true, /src$/); srcContext.keys().forEach(srcContext); diff --git a/packages/opentelemetry-core/test/trace/BasePlugin.test.ts b/packages/opentelemetry-core/test/platform/BasePlugin.test.ts similarity index 91% rename from packages/opentelemetry-core/test/trace/BasePlugin.test.ts rename to packages/opentelemetry-core/test/platform/BasePlugin.test.ts index 643b7562dd..115c07627c 100644 --- a/packages/opentelemetry-core/test/trace/BasePlugin.test.ts +++ b/packages/opentelemetry-core/test/platform/BasePlugin.test.ts @@ -18,15 +18,14 @@ import { NoopTracerProvider } from '@opentelemetry/api'; import * as assert from 'assert'; import * as path from 'path'; import { BasePlugin, NoopLogger } from '../../src'; -import * as types from './fixtures/test-package/foo/bar/internal'; +import * as types from '../trace/fixtures/test-package/foo/bar/internal'; const provider = new NoopTracerProvider(); const logger = new NoopLogger(); - describe('BasePlugin', () => { describe('internalFilesLoader', () => { it('should load internally exported files', () => { - const testPackage = require('./fixtures/test-package'); + const testPackage = require('../trace/fixtures/test-package'); const plugin = new TestPlugin(); assert.doesNotThrow(() => { plugin.enable(testPackage, provider, logger); @@ -81,4 +80,4 @@ class TestPlugin extends BasePlugin<{ [key: string]: Function }> { protected unpatch(): void {} } -const basedir = path.dirname(require.resolve('./fixtures/test-package')); +const basedir = path.dirname(require.resolve('../trace/fixtures/test-package')); diff --git a/packages/opentelemetry-core/test/platform/browser/BasePlugin.test.ts b/packages/opentelemetry-core/test/platform/browser/BasePlugin.test.ts new file mode 100644 index 0000000000..cca6a23649 --- /dev/null +++ b/packages/opentelemetry-core/test/platform/browser/BasePlugin.test.ts @@ -0,0 +1,48 @@ +/** + * Copyright 2020, 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. + */ + +import { NOOP_TRACER, NoopTracerProvider } from '@opentelemetry/api'; +import * as assert from 'assert'; +import { BasePlugin, NoopLogger } from '../../../src'; + +const provider = new NoopTracerProvider(); +const logger = new NoopLogger(); +describe('BasePlugin', () => { + describe('enable', () => { + it('should enable plugin', () => { + const moduleExports = { foo: function() {} }; + const plugin = new TestPlugin('foo', '1'); + const patch = plugin.enable(moduleExports, provider, logger); + + assert.strictEqual(plugin['_tracer'], NOOP_TRACER); + assert.strictEqual(plugin['_tracerName'], 'foo'); + assert.strictEqual(plugin['_tracerVersion'], '1'); + assert.strictEqual(plugin['_logger'], logger); + assert.strictEqual(patch, moduleExports); + }); + }); +}); + +class TestPlugin extends BasePlugin<{ [key: string]: Function }> { + readonly moduleName = 'test-package'; + readonly version = '0.1.0'; + + patch(): { [key: string]: Function } { + return this._moduleExports; + } + + protected unpatch(): void {} +} From 94f7c4f7807dcd971de2c303610839ee68a32c2f Mon Sep 17 00:00:00 2001 From: Mayur Kale Date: Tue, 12 May 2020 09:33:34 -0700 Subject: [PATCH 03/33] chore: 0.8.0 release proposal (#1046) --- CHANGELOG.md | 54 +++++++++++++++++++ examples/basic-tracer-node/package.json | 8 +-- examples/collector-exporter-node/package.json | 8 +-- examples/grpc/package.json | 14 ++--- examples/http/package.json | 14 ++--- examples/https/package.json | 14 ++--- examples/metrics/package.json | 6 +-- examples/opentracing-shim/package.json | 12 ++--- examples/prometheus/package.json | 6 +-- examples/tracer-web/package.json | 14 ++--- .../monitored-example/package.json | 2 +- getting-started/traced-example/package.json | 10 ++-- getting-started/ts-example/package.json | 16 +++--- lerna.json | 2 +- package.json | 2 +- packages/opentelemetry-api/package.json | 4 +- packages/opentelemetry-api/src/version.ts | 2 +- .../package.json | 4 +- .../src/version.ts | 2 +- .../opentelemetry-context-base/package.json | 2 +- .../opentelemetry-context-base/src/version.ts | 2 +- .../package.json | 4 +- .../src/version.ts | 2 +- .../opentelemetry-context-zone/package.json | 4 +- .../opentelemetry-context-zone/src/version.ts | 2 +- packages/opentelemetry-core/package.json | 6 +-- packages/opentelemetry-core/src/version.ts | 2 +- .../package.json | 10 ++-- .../src/version.ts | 2 +- .../package.json | 10 ++-- .../src/version.ts | 2 +- .../package.json | 8 +-- .../src/version.ts | 2 +- .../package.json | 10 ++-- .../src/version.ts | 2 +- packages/opentelemetry-metrics/package.json | 8 +-- packages/opentelemetry-metrics/src/version.ts | 2 +- packages/opentelemetry-node/package.json | 14 ++--- packages/opentelemetry-node/src/version.ts | 2 +- .../opentelemetry-plugin-grpc/package.json | 14 ++--- .../opentelemetry-plugin-grpc/src/version.ts | 2 +- .../opentelemetry-plugin-http/package.json | 14 ++--- .../opentelemetry-plugin-http/src/version.ts | 2 +- .../opentelemetry-plugin-https/package.json | 16 +++--- .../opentelemetry-plugin-https/src/version.ts | 2 +- .../package.json | 12 ++--- .../src/version.ts | 2 +- packages/opentelemetry-resources/package.json | 6 +-- .../opentelemetry-resources/src/version.ts | 2 +- .../package.json | 8 +-- .../src/version.ts | 2 +- .../opentelemetry-test-utils/package.json | 8 +-- packages/opentelemetry-tracing/package.json | 10 ++-- packages/opentelemetry-tracing/src/version.ts | 2 +- packages/opentelemetry-web/package.json | 14 ++--- packages/opentelemetry-web/src/version.ts | 2 +- 56 files changed, 231 insertions(+), 177 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d4efa616c7..cbbdb77e02 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,60 @@ All notable changes to this project will be documented in this file. ## Unreleased +## 0.8.0 + +Released 2020-05-12 + +#### :boom: Breaking Change +* `opentelemetry-api`, `opentelemetry-metrics` + * [#1001](https://github.com/open-telemetry/opentelemetry-js/pull/1001) fix: observers should not expose bind/unbind method ([@legendecas](https://github.com/legendecas)) + +#### :bug: (Bug Fix) +* `opentelemetry-plugin-http` + * [#984](https://github.com/open-telemetry/opentelemetry-js/pull/984) fix(http-plugin): strip otel custom http header #983 ([@vmarchaud](https://github.com/vmarchaud)) +* `opentelemetry-core` + * [#1021](https://github.com/open-telemetry/opentelemetry-js/pull/1021) fix: left pad short b3 trace identifiers ([@dyladan](https://github.com/dyladan)) +* `opentelemetry-plugin-xml-http-reques` + * [#1002](https://github.com/open-telemetry/opentelemetry-js/pull/1002) fix(opentelemetry-plugin-xml-http-request): define span kind as CLIENT for xmlhttprequests ([@ivansenic](https://github.com/ivansenic)) +* `opentelemetry-plugin-grpc` + * [#1005](https://github.com/open-telemetry/opentelemetry-js/pull/1005) fix: add missing error status handler ([@markwolff](https://github.com/markwolff)) +* `opentelemetry-exporter-collector` + * [#1008](https://github.com/open-telemetry/opentelemetry-js/pull/1008) fix: permission denied error when cloning submodules ([@sleighzy](https://github.com/sleighzy)) + +#### :rocket: (Enhancement) +* `opentelemetry-exporter-zipkin`, `opentelemetry-plugin-http`, `opentelemetry-tracing` + * [#1037](https://github.com/open-telemetry/opentelemetry-js/pull/1037) fix(tracing): span processor should receive a readable span as parameters ([@legendecas](https://github.com/legendecas)) +* `opentelemetry-tracing` + * [#1024](https://github.com/open-telemetry/opentelemetry-js/pull/1024) fix: multi span processor should flush child span processors ([@legendecas](https://github.com/legendecas)) +* `opentelemetry-metrics`, `opentelemetry-tracing` + * [#1015](https://github.com/open-telemetry/opentelemetry-js/pull/1015) fix: prevent duplicated resource creation ([@legendecas](https://github.com/legendecas)) +* `opentelemetry-metrics` + * [#1014](https://github.com/open-telemetry/opentelemetry-js/pull/1014) feat(metrics): use MetricDescriptor to determine aggregator #989 ([@vmarchaud](https://github.com/vmarchaud)) +* `opentelemetry-plugin-http` + * [#948](https://github.com/open-telemetry/opentelemetry-js/pull/948) feat(http-plugin): add options to disable new spans if no parent ([@vmarchaud](https://github.com/vmarchaud)) +* `opentelemetry-api`, `opentelemetry-node`, `opentelemetry-plugin-grpc`, `opentelemetry-plugin-http`, `opentelemetry-plugin-https`, `opentelemetry-plugin-xml-http-request`, `opentelemetry-tracing`, `opentelemetry-web` + * [#943](https://github.com/open-telemetry/opentelemetry-js/pull/943) Use global API instances ([@dyladan](https://github.com/dyladan)) +* `opentelemetry-api` + * [#1016](https://github.com/open-telemetry/opentelemetry-js/pull/1016) refactor: normalize namespace import name for @opentelemetry/api ([@legendecas](https://github.com/legendecas)) +* `opentelemetry-core`, `opentelemetry-base` + * [#991](https://github.com/open-telemetry/opentelemetry-js/pull/991) refactor: merge opentelemetry-base to opentelemetry-core ([@legendecas](https://github.com/legendecas)) +* `opentelemetry-core` + * [#981](https://github.com/open-telemetry/opentelemetry-js/pull/981) chore: splitting BasePlugin into browser and node ([@obecny](https://github.com/obecny)) + +#### :books: (Refine Doc) +* Other + * [#1003](https://github.com/open-telemetry/opentelemetry-js/pull/1003) chore: test on node 14 ([@dyladan](https://github.com/dyladan)) + * [#990](https://github.com/open-telemetry/opentelemetry-js/pull/990) fix(opentracing-shim): update opentracing shim example ([@sleighzy](https://github.com/sleighzy)) + +#### Committers: 7 +- legendecas ([@legendecas](https://github.com/legendecas)) +- Valentin Marchaud ([@vmarchaud](https://github.com/vmarchaud)) +- Daniel Dyla ([@dyladan](https://github.com/dyladan)) +- Ivan Senic ([@ivansenic](https://github.com/ivansenic)) +- Mark Wolff ([@markwolff](https://github.com/markwolff)) +- Simon Leigh ([@sleighzy](https://github.com/sleighzy)) +- Bartlomiej Obecny ([@obecny](https://github.com/obecny)) + ## 0.7.0 Released 2020-04-23 diff --git a/examples/basic-tracer-node/package.json b/examples/basic-tracer-node/package.json index cb7aadba81..7baa5db975 100644 --- a/examples/basic-tracer-node/package.json +++ b/examples/basic-tracer-node/package.json @@ -1,7 +1,7 @@ { "name": "example-basic-tracer-node", "private": true, - "version": "0.7.0", + "version": "0.8.0", "description": "Example of using @opentelemetry/tracing in Node.js", "main": "index.js", "scripts": { @@ -24,9 +24,9 @@ "url": "https://github.com/open-telemetry/opentelemetry-js/issues" }, "dependencies": { - "@opentelemetry/api": "^0.7.0", - "@opentelemetry/exporter-jaeger": "^0.7.0", - "@opentelemetry/tracing": "^0.7.0" + "@opentelemetry/api": "^0.8.0", + "@opentelemetry/exporter-jaeger": "^0.8.0", + "@opentelemetry/tracing": "^0.8.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js#readme" } diff --git a/examples/collector-exporter-node/package.json b/examples/collector-exporter-node/package.json index e69c72ea59..03a3a25b1a 100644 --- a/examples/collector-exporter-node/package.json +++ b/examples/collector-exporter-node/package.json @@ -1,7 +1,7 @@ { "name": "example-collector-exporter-node", "private": true, - "version": "0.7.0", + "version": "0.8.0", "description": "Example of using @opentelemetry/collector-exporter in Node.js", "main": "index.js", "scripts": { @@ -26,9 +26,9 @@ "url": "https://github.com/open-telemetry/opentelemetry-js/issues" }, "dependencies": { - "@opentelemetry/api": "^0.7.0", - "@opentelemetry/exporter-collector": "^0.7.0", - "@opentelemetry/tracing": "^0.7.0" + "@opentelemetry/api": "^0.8.0", + "@opentelemetry/exporter-collector": "^0.8.0", + "@opentelemetry/tracing": "^0.8.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js#readme" } diff --git a/examples/grpc/package.json b/examples/grpc/package.json index 7855d31dc1..a31c226443 100644 --- a/examples/grpc/package.json +++ b/examples/grpc/package.json @@ -1,7 +1,7 @@ { "name": "grpc-example", "private": true, - "version": "0.7.0", + "version": "0.8.0", "description": "Example of gRPC integration with OpenTelemetry", "main": "index.js", "scripts": { @@ -28,12 +28,12 @@ "url": "https://github.com/open-telemetry/opentelemetry-js/issues" }, "dependencies": { - "@opentelemetry/api": "^0.7.0", - "@opentelemetry/exporter-jaeger": "^0.7.0", - "@opentelemetry/exporter-zipkin": "^0.7.0", - "@opentelemetry/node": "^0.7.0", - "@opentelemetry/plugin-grpc": "^0.7.0", - "@opentelemetry/tracing": "^0.7.0", + "@opentelemetry/api": "^0.8.0", + "@opentelemetry/exporter-jaeger": "^0.8.0", + "@opentelemetry/exporter-zipkin": "^0.8.0", + "@opentelemetry/node": "^0.8.0", + "@opentelemetry/plugin-grpc": "^0.8.0", + "@opentelemetry/tracing": "^0.8.0", "google-protobuf": "^3.9.2", "grpc": "^1.23.3", "node-pre-gyp": "0.12.0" diff --git a/examples/http/package.json b/examples/http/package.json index c47fd562fa..7cb5a78bcc 100644 --- a/examples/http/package.json +++ b/examples/http/package.json @@ -1,7 +1,7 @@ { "name": "http-example", "private": true, - "version": "0.7.0", + "version": "0.8.0", "description": "Example of HTTP integration with OpenTelemetry", "main": "index.js", "scripts": { @@ -28,12 +28,12 @@ "url": "https://github.com/open-telemetry/opentelemetry-js/issues" }, "dependencies": { - "@opentelemetry/api": "^0.7.0", - "@opentelemetry/exporter-jaeger": "^0.7.0", - "@opentelemetry/exporter-zipkin": "^0.7.0", - "@opentelemetry/node": "^0.7.0", - "@opentelemetry/plugin-http": "^0.7.0", - "@opentelemetry/tracing": "^0.7.0" + "@opentelemetry/api": "^0.8.0", + "@opentelemetry/exporter-jaeger": "^0.8.0", + "@opentelemetry/exporter-zipkin": "^0.8.0", + "@opentelemetry/node": "^0.8.0", + "@opentelemetry/plugin-http": "^0.8.0", + "@opentelemetry/tracing": "^0.8.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js#readme", "devDependencies": { diff --git a/examples/https/package.json b/examples/https/package.json index 33570c1853..43c26c7311 100644 --- a/examples/https/package.json +++ b/examples/https/package.json @@ -1,7 +1,7 @@ { "name": "https-example", "private": true, - "version": "0.7.0", + "version": "0.8.0", "description": "Example of HTTPs integration with OpenTelemetry", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -29,12 +29,12 @@ "url": "https://github.com/open-telemetry/opentelemetry-js/issues" }, "dependencies": { - "@opentelemetry/api": "^0.7.0", - "@opentelemetry/exporter-jaeger": "^0.7.0", - "@opentelemetry/exporter-zipkin": "^0.7.0", - "@opentelemetry/node": "^0.7.0", - "@opentelemetry/plugin-https": "^0.7.0", - "@opentelemetry/tracing": "^0.7.0" + "@opentelemetry/api": "^0.8.0", + "@opentelemetry/exporter-jaeger": "^0.8.0", + "@opentelemetry/exporter-zipkin": "^0.8.0", + "@opentelemetry/node": "^0.8.0", + "@opentelemetry/plugin-https": "^0.8.0", + "@opentelemetry/tracing": "^0.8.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js#readme", "devDependencies": { diff --git a/examples/metrics/package.json b/examples/metrics/package.json index b5a5db81bd..266fd69b28 100644 --- a/examples/metrics/package.json +++ b/examples/metrics/package.json @@ -1,7 +1,7 @@ { "name": "example-metrics", "private": true, - "version": "0.7.0", + "version": "0.8.0", "description": "Example of using @opentelemetry/metrics", "main": "index.js", "scripts": { @@ -26,8 +26,8 @@ "url": "https://github.com/open-telemetry/opentelemetry-js/issues" }, "dependencies": { - "@opentelemetry/exporter-prometheus": "^0.7.0", - "@opentelemetry/metrics": "^0.7.0" + "@opentelemetry/exporter-prometheus": "^0.8.0", + "@opentelemetry/metrics": "^0.8.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js#readme" } diff --git a/examples/opentracing-shim/package.json b/examples/opentracing-shim/package.json index ceb3d297e9..0b557100bb 100644 --- a/examples/opentracing-shim/package.json +++ b/examples/opentracing-shim/package.json @@ -1,7 +1,7 @@ { "name": "opentracing-shim", "private": true, - "version": "0.7.0", + "version": "0.8.0", "description": "Example of using @opentelemetry/shim-opentracing in Node.js", "main": "index.js", "scripts": { @@ -29,11 +29,11 @@ "url": "https://github.com/open-telemetry/opentelemetry-js/issues" }, "dependencies": { - "@opentelemetry/exporter-jaeger": "^0.7.0", - "@opentelemetry/exporter-zipkin": "^0.7.0", - "@opentelemetry/node": "^0.7.0", - "@opentelemetry/shim-opentracing": "^0.7.0", - "@opentelemetry/tracing": "^0.7.0", + "@opentelemetry/exporter-jaeger": "^0.8.0", + "@opentelemetry/exporter-zipkin": "^0.8.0", + "@opentelemetry/node": "^0.8.0", + "@opentelemetry/shim-opentracing": "^0.8.0", + "@opentelemetry/tracing": "^0.8.0", "opentracing": "^0.14.4" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js#readme", diff --git a/examples/prometheus/package.json b/examples/prometheus/package.json index 9d0baa9446..5ff555db83 100644 --- a/examples/prometheus/package.json +++ b/examples/prometheus/package.json @@ -1,6 +1,6 @@ { "name": "prometheus-example", - "version": "0.7.0", + "version": "0.8.0", "description": "Example of using @opentelemetry/metrics and @opentelemetry/exporter-prometheus", "main": "index.js", "scripts": { @@ -9,7 +9,7 @@ "author": "OpenTelemetry Authors", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/exporter-prometheus": "^0.7.0", - "@opentelemetry/metrics": "^0.7.0" + "@opentelemetry/exporter-prometheus": "^0.8.0", + "@opentelemetry/metrics": "^0.8.0" } } diff --git a/examples/tracer-web/package.json b/examples/tracer-web/package.json index 598a9ee7cd..baaf835beb 100644 --- a/examples/tracer-web/package.json +++ b/examples/tracer-web/package.json @@ -1,7 +1,7 @@ { "name": "web-tracer-example", "private": true, - "version": "0.7.0", + "version": "0.8.0", "description": "Example of using @opentelemetry/web in browser", "main": "index.js", "scripts": { @@ -34,14 +34,14 @@ "webpack-merge": "^4.2.2" }, "dependencies": { - "@opentelemetry/context-zone": "^0.7.0", - "@opentelemetry/core": "^0.7.0", - "@opentelemetry/exporter-collector": "^0.7.0", + "@opentelemetry/context-zone": "^0.8.0", + "@opentelemetry/core": "^0.8.0", + "@opentelemetry/exporter-collector": "^0.8.0", "@opentelemetry/plugin-document-load": "^0.6.1", "@opentelemetry/plugin-user-interaction": "^0.6.1", - "@opentelemetry/plugin-xml-http-request": "^0.7.0", - "@opentelemetry/tracing": "^0.7.0", - "@opentelemetry/web": "^0.7.0" + "@opentelemetry/plugin-xml-http-request": "^0.8.0", + "@opentelemetry/tracing": "^0.8.0", + "@opentelemetry/web": "^0.8.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js#readme" } diff --git a/getting-started/monitored-example/package.json b/getting-started/monitored-example/package.json index b4b6a7ff0e..ddcc376f53 100644 --- a/getting-started/monitored-example/package.json +++ b/getting-started/monitored-example/package.json @@ -9,7 +9,7 @@ "author": "OpenTelemetry Authors", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/metrics": "^0.7.0", + "@opentelemetry/metrics": "^0.8.0", "axios": "^0.19.0", "express": "^4.17.1" } diff --git a/getting-started/traced-example/package.json b/getting-started/traced-example/package.json index 9675f7d105..8da9e2d896 100644 --- a/getting-started/traced-example/package.json +++ b/getting-started/traced-example/package.json @@ -9,11 +9,11 @@ "author": "OpenTelemetry Authors", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "^0.7.0", - "@opentelemetry/exporter-zipkin": "^0.7.0", - "@opentelemetry/node": "^0.7.0", - "@opentelemetry/plugin-http": "^0.7.0", - "@opentelemetry/tracing": "^0.7.0", + "@opentelemetry/core": "^0.8.0", + "@opentelemetry/exporter-zipkin": "^0.8.0", + "@opentelemetry/node": "^0.8.0", + "@opentelemetry/plugin-http": "^0.8.0", + "@opentelemetry/tracing": "^0.8.0", "axios": "^0.19.0", "express": "^4.17.1" } diff --git a/getting-started/ts-example/package.json b/getting-started/ts-example/package.json index 16eff7a16f..4c600c488f 100644 --- a/getting-started/ts-example/package.json +++ b/getting-started/ts-example/package.json @@ -13,14 +13,14 @@ "ts-node": "^8.6.2" }, "dependencies": { - "@opentelemetry/api": "^0.7.0", - "@opentelemetry/core": "^0.7.0", - "@opentelemetry/exporter-prometheus": "^0.7.0", - "@opentelemetry/exporter-zipkin": "^0.7.0", - "@opentelemetry/metrics": "^0.7.0", - "@opentelemetry/node": "^0.7.0", - "@opentelemetry/plugin-http": "^0.7.0", - "@opentelemetry/tracing": "^0.7.0", + "@opentelemetry/api": "^0.8.0", + "@opentelemetry/core": "^0.8.0", + "@opentelemetry/exporter-prometheus": "^0.8.0", + "@opentelemetry/exporter-zipkin": "^0.8.0", + "@opentelemetry/metrics": "^0.8.0", + "@opentelemetry/node": "^0.8.0", + "@opentelemetry/plugin-http": "^0.8.0", + "@opentelemetry/tracing": "^0.8.0", "axios": "^0.19.1", "express": "^4.17.1" } diff --git a/lerna.json b/lerna.json index 07bd971258..8e7c368449 100644 --- a/lerna.json +++ b/lerna.json @@ -5,7 +5,7 @@ "benchmark/*", "packages/*" ], - "version": "0.7.0", + "version": "0.8.0", "changelog": { "repo": "open-telemetry/opentelemetry-js", "labels": { diff --git a/package.json b/package.json index 329e6c16fa..43c0c45ddd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "opentelemetry-base", - "version": "0.7.0", + "version": "0.8.0", "description": "OpenTelemetry is a distributed tracing and stats collection framework.", "main": "build/src/index.js", "types": "build/src/index.d.ts", diff --git a/packages/opentelemetry-api/package.json b/packages/opentelemetry-api/package.json index 68eca898e6..0baf882d78 100644 --- a/packages/opentelemetry-api/package.json +++ b/packages/opentelemetry-api/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/api", - "version": "0.7.0", + "version": "0.8.0", "description": "Public API for OpenTelemetry", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -47,7 +47,7 @@ "access": "public" }, "dependencies": { - "@opentelemetry/context-base": "^0.7.0" + "@opentelemetry/context-base": "^0.8.0" }, "devDependencies": { "@types/mocha": "^7.0.0", diff --git a/packages/opentelemetry-api/src/version.ts b/packages/opentelemetry-api/src/version.ts index 103553581c..f30ba9baca 100644 --- a/packages/opentelemetry-api/src/version.ts +++ b/packages/opentelemetry-api/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.7.0'; +export const VERSION = '0.8.0'; diff --git a/packages/opentelemetry-context-async-hooks/package.json b/packages/opentelemetry-context-async-hooks/package.json index 2efdf98732..635a8d37e2 100644 --- a/packages/opentelemetry-context-async-hooks/package.json +++ b/packages/opentelemetry-context-async-hooks/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/context-async-hooks", - "version": "0.7.0", + "version": "0.8.0", "description": "OpenTelemetry AsyncHooks-based Context Manager", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -56,6 +56,6 @@ "typescript": "3.7.2" }, "dependencies": { - "@opentelemetry/context-base": "^0.7.0" + "@opentelemetry/context-base": "^0.8.0" } } diff --git a/packages/opentelemetry-context-async-hooks/src/version.ts b/packages/opentelemetry-context-async-hooks/src/version.ts index 103553581c..f30ba9baca 100644 --- a/packages/opentelemetry-context-async-hooks/src/version.ts +++ b/packages/opentelemetry-context-async-hooks/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.7.0'; +export const VERSION = '0.8.0'; diff --git a/packages/opentelemetry-context-base/package.json b/packages/opentelemetry-context-base/package.json index 58700ecf84..309d9ef05b 100644 --- a/packages/opentelemetry-context-base/package.json +++ b/packages/opentelemetry-context-base/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/context-base", - "version": "0.7.0", + "version": "0.8.0", "description": "OpenTelemetry Base Context Manager", "main": "build/src/index.js", "types": "build/src/index.d.ts", diff --git a/packages/opentelemetry-context-base/src/version.ts b/packages/opentelemetry-context-base/src/version.ts index 103553581c..f30ba9baca 100644 --- a/packages/opentelemetry-context-base/src/version.ts +++ b/packages/opentelemetry-context-base/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.7.0'; +export const VERSION = '0.8.0'; diff --git a/packages/opentelemetry-context-zone-peer-dep/package.json b/packages/opentelemetry-context-zone-peer-dep/package.json index 328422eaf0..f2e4c379d2 100644 --- a/packages/opentelemetry-context-zone-peer-dep/package.json +++ b/packages/opentelemetry-context-zone-peer-dep/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/context-zone-peer-dep", - "version": "0.7.0", + "version": "0.8.0", "description": "OpenTelemetry Context Zone with peer dependency for zone.js", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -72,7 +72,7 @@ "zone.js": "^0.10.2" }, "dependencies": { - "@opentelemetry/context-base": "^0.7.0" + "@opentelemetry/context-base": "^0.8.0" }, "peerDependencies": { "zone.js": "^0.10.2" diff --git a/packages/opentelemetry-context-zone-peer-dep/src/version.ts b/packages/opentelemetry-context-zone-peer-dep/src/version.ts index 103553581c..f30ba9baca 100644 --- a/packages/opentelemetry-context-zone-peer-dep/src/version.ts +++ b/packages/opentelemetry-context-zone-peer-dep/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.7.0'; +export const VERSION = '0.8.0'; diff --git a/packages/opentelemetry-context-zone/package.json b/packages/opentelemetry-context-zone/package.json index 7b128655ce..e21b5872ac 100644 --- a/packages/opentelemetry-context-zone/package.json +++ b/packages/opentelemetry-context-zone/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/context-zone", - "version": "0.7.0", + "version": "0.8.0", "description": "OpenTelemetry Context Zone", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -66,7 +66,7 @@ "webpack-merge": "^4.2.2" }, "dependencies": { - "@opentelemetry/context-zone-peer-dep": "^0.7.0", + "@opentelemetry/context-zone-peer-dep": "^0.8.0", "zone.js": "^0.10.2" }, "sideEffects": true diff --git a/packages/opentelemetry-context-zone/src/version.ts b/packages/opentelemetry-context-zone/src/version.ts index 103553581c..f30ba9baca 100644 --- a/packages/opentelemetry-context-zone/src/version.ts +++ b/packages/opentelemetry-context-zone/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.7.0'; +export const VERSION = '0.8.0'; diff --git a/packages/opentelemetry-core/package.json b/packages/opentelemetry-core/package.json index 33cadce020..ec6e048e78 100644 --- a/packages/opentelemetry-core/package.json +++ b/packages/opentelemetry-core/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/core", - "version": "0.7.0", + "version": "0.8.0", "description": "OpenTelemetry Core provides default and no-op implementations of the OpenTelemetry types for trace and metrics", "main": "build/src/index.js", "browser": { @@ -78,8 +78,8 @@ "webpack": "^4.35.2" }, "dependencies": { - "@opentelemetry/api": "^0.7.0", - "@opentelemetry/context-base": "^0.7.0", + "@opentelemetry/api": "^0.8.0", + "@opentelemetry/context-base": "^0.8.0", "semver": "^7.1.3" } } diff --git a/packages/opentelemetry-core/src/version.ts b/packages/opentelemetry-core/src/version.ts index 103553581c..f30ba9baca 100644 --- a/packages/opentelemetry-core/src/version.ts +++ b/packages/opentelemetry-core/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.7.0'; +export const VERSION = '0.8.0'; diff --git a/packages/opentelemetry-exporter-collector/package.json b/packages/opentelemetry-exporter-collector/package.json index 27a209fa1a..ab692e771c 100644 --- a/packages/opentelemetry-exporter-collector/package.json +++ b/packages/opentelemetry-exporter-collector/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/exporter-collector", - "version": "0.7.0", + "version": "0.8.0", "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", @@ -84,10 +84,10 @@ }, "dependencies": { "@grpc/proto-loader": "^0.5.3", - "@opentelemetry/api": "^0.7.0", - "@opentelemetry/core": "^0.7.0", - "@opentelemetry/resources": "^0.7.0", - "@opentelemetry/tracing": "^0.7.0", + "@opentelemetry/api": "^0.8.0", + "@opentelemetry/core": "^0.8.0", + "@opentelemetry/resources": "^0.8.0", + "@opentelemetry/tracing": "^0.8.0", "google-protobuf": "^3.11.4", "grpc": "^1.24.2" } diff --git a/packages/opentelemetry-exporter-collector/src/version.ts b/packages/opentelemetry-exporter-collector/src/version.ts index 103553581c..f30ba9baca 100644 --- a/packages/opentelemetry-exporter-collector/src/version.ts +++ b/packages/opentelemetry-exporter-collector/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.7.0'; +export const VERSION = '0.8.0'; diff --git a/packages/opentelemetry-exporter-jaeger/package.json b/packages/opentelemetry-exporter-jaeger/package.json index 99ccd8073d..aa9b64e39b 100644 --- a/packages/opentelemetry-exporter-jaeger/package.json +++ b/packages/opentelemetry-exporter-jaeger/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/exporter-jaeger", - "version": "0.7.0", + "version": "0.8.0", "description": "OpenTelemetry Exporter Jaeger allows user to send collected traces to Jaeger", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -41,7 +41,7 @@ "access": "public" }, "devDependencies": { - "@opentelemetry/resources": "^0.7.0", + "@opentelemetry/resources": "^0.8.0", "@types/mocha": "^7.0.0", "@types/node": "^12.6.9", "codecov": "^3.6.1", @@ -56,9 +56,9 @@ "typescript": "3.7.2" }, "dependencies": { - "@opentelemetry/api": "^0.7.0", - "@opentelemetry/core": "^0.7.0", - "@opentelemetry/tracing": "^0.7.0", + "@opentelemetry/api": "^0.8.0", + "@opentelemetry/core": "^0.8.0", + "@opentelemetry/tracing": "^0.8.0", "jaeger-client": "^3.15.0" } } diff --git a/packages/opentelemetry-exporter-jaeger/src/version.ts b/packages/opentelemetry-exporter-jaeger/src/version.ts index 103553581c..f30ba9baca 100644 --- a/packages/opentelemetry-exporter-jaeger/src/version.ts +++ b/packages/opentelemetry-exporter-jaeger/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.7.0'; +export const VERSION = '0.8.0'; diff --git a/packages/opentelemetry-exporter-prometheus/package.json b/packages/opentelemetry-exporter-prometheus/package.json index d8c759f1be..c4aec9b527 100644 --- a/packages/opentelemetry-exporter-prometheus/package.json +++ b/packages/opentelemetry-exporter-prometheus/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/exporter-prometheus", - "version": "0.7.0", + "version": "0.8.0", "description": "OpenTelemetry Exporter Prometheus provides a metrics endpoint for Prometheus", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -54,9 +54,9 @@ "typescript": "3.7.2" }, "dependencies": { - "@opentelemetry/api": "^0.7.0", - "@opentelemetry/core": "^0.7.0", - "@opentelemetry/metrics": "^0.7.0", + "@opentelemetry/api": "^0.8.0", + "@opentelemetry/core": "^0.8.0", + "@opentelemetry/metrics": "^0.8.0", "prom-client": "^11.5.3" } } diff --git a/packages/opentelemetry-exporter-prometheus/src/version.ts b/packages/opentelemetry-exporter-prometheus/src/version.ts index 103553581c..f30ba9baca 100644 --- a/packages/opentelemetry-exporter-prometheus/src/version.ts +++ b/packages/opentelemetry-exporter-prometheus/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.7.0'; +export const VERSION = '0.8.0'; diff --git a/packages/opentelemetry-exporter-zipkin/package.json b/packages/opentelemetry-exporter-zipkin/package.json index 5dea64a4fb..45133d52b4 100644 --- a/packages/opentelemetry-exporter-zipkin/package.json +++ b/packages/opentelemetry-exporter-zipkin/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/exporter-zipkin", - "version": "0.7.0", + "version": "0.8.0", "description": "OpenTelemetry Zipkin Exporter allows the user to send collected traces to Zipkin.", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -54,9 +54,9 @@ "typescript": "3.7.2" }, "dependencies": { - "@opentelemetry/api": "^0.7.0", - "@opentelemetry/core": "^0.7.0", - "@opentelemetry/resources": "^0.7.0", - "@opentelemetry/tracing": "^0.7.0" + "@opentelemetry/api": "^0.8.0", + "@opentelemetry/core": "^0.8.0", + "@opentelemetry/resources": "^0.8.0", + "@opentelemetry/tracing": "^0.8.0" } } diff --git a/packages/opentelemetry-exporter-zipkin/src/version.ts b/packages/opentelemetry-exporter-zipkin/src/version.ts index 103553581c..f30ba9baca 100644 --- a/packages/opentelemetry-exporter-zipkin/src/version.ts +++ b/packages/opentelemetry-exporter-zipkin/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.7.0'; +export const VERSION = '0.8.0'; diff --git a/packages/opentelemetry-metrics/package.json b/packages/opentelemetry-metrics/package.json index 9ea621828e..b67c1fb8a8 100644 --- a/packages/opentelemetry-metrics/package.json +++ b/packages/opentelemetry-metrics/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/metrics", - "version": "0.7.0", + "version": "0.8.0", "description": "OpenTelemetry metrics SDK", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -57,8 +57,8 @@ "typescript": "3.7.2" }, "dependencies": { - "@opentelemetry/api": "^0.7.0", - "@opentelemetry/core": "^0.7.0", - "@opentelemetry/resources": "^0.7.0" + "@opentelemetry/api": "^0.8.0", + "@opentelemetry/core": "^0.8.0", + "@opentelemetry/resources": "^0.8.0" } } diff --git a/packages/opentelemetry-metrics/src/version.ts b/packages/opentelemetry-metrics/src/version.ts index 103553581c..f30ba9baca 100644 --- a/packages/opentelemetry-metrics/src/version.ts +++ b/packages/opentelemetry-metrics/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.7.0'; +export const VERSION = '0.8.0'; diff --git a/packages/opentelemetry-node/package.json b/packages/opentelemetry-node/package.json index e2eb356c3d..b58b635bfc 100644 --- a/packages/opentelemetry-node/package.json +++ b/packages/opentelemetry-node/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/node", - "version": "0.7.0", + "version": "0.8.0", "description": "OpenTelemetry Node SDK provides automatic telemetry (tracing, metrics, etc) for Node.js applications", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -41,8 +41,8 @@ "access": "public" }, "devDependencies": { - "@opentelemetry/context-base": "^0.7.0", - "@opentelemetry/resources": "^0.7.0", + "@opentelemetry/context-base": "^0.8.0", + "@opentelemetry/resources": "^0.8.0", "@types/mocha": "^7.0.0", "@types/node": "^12.6.8", "@types/semver": "^6.0.1", @@ -60,10 +60,10 @@ "typescript": "3.7.2" }, "dependencies": { - "@opentelemetry/api": "^0.7.0", - "@opentelemetry/context-async-hooks": "^0.7.0", - "@opentelemetry/core": "^0.7.0", - "@opentelemetry/tracing": "^0.7.0", + "@opentelemetry/api": "^0.8.0", + "@opentelemetry/context-async-hooks": "^0.8.0", + "@opentelemetry/core": "^0.8.0", + "@opentelemetry/tracing": "^0.8.0", "require-in-the-middle": "^5.0.0", "semver": "^7.1.3" } diff --git a/packages/opentelemetry-node/src/version.ts b/packages/opentelemetry-node/src/version.ts index 103553581c..f30ba9baca 100644 --- a/packages/opentelemetry-node/src/version.ts +++ b/packages/opentelemetry-node/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.7.0'; +export const VERSION = '0.8.0'; diff --git a/packages/opentelemetry-plugin-grpc/package.json b/packages/opentelemetry-plugin-grpc/package.json index 65e48d832e..10e1eb00b9 100644 --- a/packages/opentelemetry-plugin-grpc/package.json +++ b/packages/opentelemetry-plugin-grpc/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/plugin-grpc", - "version": "0.7.0", + "version": "0.8.0", "description": "OpenTelemetry grpc automatic instrumentation package.", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -41,10 +41,10 @@ "access": "public" }, "devDependencies": { - "@opentelemetry/context-async-hooks": "^0.7.0", - "@opentelemetry/context-base": "^0.7.0", - "@opentelemetry/node": "^0.7.0", - "@opentelemetry/tracing": "^0.7.0", + "@opentelemetry/context-async-hooks": "^0.8.0", + "@opentelemetry/context-base": "^0.8.0", + "@opentelemetry/node": "^0.8.0", + "@opentelemetry/tracing": "^0.8.0", "@types/mocha": "^7.0.0", "@types/node": "^12.6.9", "@types/semver": "^6.2.0", @@ -65,8 +65,8 @@ "typescript": "3.7.2" }, "dependencies": { - "@opentelemetry/api": "^0.7.0", - "@opentelemetry/core": "^0.7.0", + "@opentelemetry/api": "^0.8.0", + "@opentelemetry/core": "^0.8.0", "shimmer": "^1.2.1" } } diff --git a/packages/opentelemetry-plugin-grpc/src/version.ts b/packages/opentelemetry-plugin-grpc/src/version.ts index 103553581c..f30ba9baca 100644 --- a/packages/opentelemetry-plugin-grpc/src/version.ts +++ b/packages/opentelemetry-plugin-grpc/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.7.0'; +export const VERSION = '0.8.0'; diff --git a/packages/opentelemetry-plugin-http/package.json b/packages/opentelemetry-plugin-http/package.json index 9e43384dd5..48a5f4d79e 100644 --- a/packages/opentelemetry-plugin-http/package.json +++ b/packages/opentelemetry-plugin-http/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/plugin-http", - "version": "0.7.0", + "version": "0.8.0", "description": "OpenTelemetry http automatic instrumentation package.", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -41,10 +41,10 @@ "access": "public" }, "devDependencies": { - "@opentelemetry/context-async-hooks": "^0.7.0", - "@opentelemetry/context-base": "^0.7.0", - "@opentelemetry/node": "^0.7.0", - "@opentelemetry/tracing": "^0.7.0", + "@opentelemetry/context-async-hooks": "^0.8.0", + "@opentelemetry/context-base": "^0.8.0", + "@opentelemetry/node": "^0.8.0", + "@opentelemetry/tracing": "^0.8.0", "@types/got": "^9.6.7", "@types/mocha": "^7.0.0", "@types/node": "^12.12.9", @@ -72,8 +72,8 @@ "typescript": "3.7.2" }, "dependencies": { - "@opentelemetry/api": "^0.7.0", - "@opentelemetry/core": "^0.7.0", + "@opentelemetry/api": "^0.8.0", + "@opentelemetry/core": "^0.8.0", "semver": "^7.1.3", "shimmer": "^1.2.1" } diff --git a/packages/opentelemetry-plugin-http/src/version.ts b/packages/opentelemetry-plugin-http/src/version.ts index 103553581c..f30ba9baca 100644 --- a/packages/opentelemetry-plugin-http/src/version.ts +++ b/packages/opentelemetry-plugin-http/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.7.0'; +export const VERSION = '0.8.0'; diff --git a/packages/opentelemetry-plugin-https/package.json b/packages/opentelemetry-plugin-https/package.json index c79f068a7e..337255d0b4 100644 --- a/packages/opentelemetry-plugin-https/package.json +++ b/packages/opentelemetry-plugin-https/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/plugin-https", - "version": "0.7.0", + "version": "0.8.0", "description": "OpenTelemetry https automatic instrumentation package.", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -41,10 +41,10 @@ "access": "public" }, "devDependencies": { - "@opentelemetry/context-async-hooks": "^0.7.0", - "@opentelemetry/context-base": "^0.7.0", - "@opentelemetry/node": "^0.7.0", - "@opentelemetry/tracing": "^0.7.0", + "@opentelemetry/context-async-hooks": "^0.8.0", + "@opentelemetry/context-base": "^0.8.0", + "@opentelemetry/node": "^0.8.0", + "@opentelemetry/tracing": "^0.8.0", "@types/got": "^9.6.7", "@types/mocha": "^7.0.0", "@types/node": "^12.12.9", @@ -72,9 +72,9 @@ "typescript": "3.7.2" }, "dependencies": { - "@opentelemetry/api": "^0.7.0", - "@opentelemetry/core": "^0.7.0", - "@opentelemetry/plugin-http": "^0.7.0", + "@opentelemetry/api": "^0.8.0", + "@opentelemetry/core": "^0.8.0", + "@opentelemetry/plugin-http": "^0.8.0", "semver": "^7.1.3", "shimmer": "^1.2.1" } diff --git a/packages/opentelemetry-plugin-https/src/version.ts b/packages/opentelemetry-plugin-https/src/version.ts index 103553581c..f30ba9baca 100644 --- a/packages/opentelemetry-plugin-https/src/version.ts +++ b/packages/opentelemetry-plugin-https/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.7.0'; +export const VERSION = '0.8.0'; diff --git a/packages/opentelemetry-plugin-xml-http-request/package.json b/packages/opentelemetry-plugin-xml-http-request/package.json index b12a130ed7..6ddab55278 100644 --- a/packages/opentelemetry-plugin-xml-http-request/package.json +++ b/packages/opentelemetry-plugin-xml-http-request/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/plugin-xml-http-request", - "version": "0.7.0", + "version": "0.8.0", "description": "OpenTelemetry XMLHttpRequest automatic instrumentation package.", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -44,8 +44,8 @@ }, "devDependencies": { "@babel/core": "^7.6.0", - "@opentelemetry/context-zone": "^0.7.0", - "@opentelemetry/tracing": "^0.7.0", + "@opentelemetry/context-zone": "^0.8.0", + "@opentelemetry/tracing": "^0.8.0", "@types/mocha": "^7.0.0", "@types/node": "^12.6.8", "@types/shimmer": "^1.0.1", @@ -76,9 +76,9 @@ "webpack-merge": "^4.2.2" }, "dependencies": { - "@opentelemetry/api": "^0.7.0", - "@opentelemetry/core": "^0.7.0", - "@opentelemetry/web": "^0.7.0", + "@opentelemetry/api": "^0.8.0", + "@opentelemetry/core": "^0.8.0", + "@opentelemetry/web": "^0.8.0", "shimmer": "^1.2.1" } } diff --git a/packages/opentelemetry-plugin-xml-http-request/src/version.ts b/packages/opentelemetry-plugin-xml-http-request/src/version.ts index 103553581c..f30ba9baca 100644 --- a/packages/opentelemetry-plugin-xml-http-request/src/version.ts +++ b/packages/opentelemetry-plugin-xml-http-request/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.7.0'; +export const VERSION = '0.8.0'; diff --git a/packages/opentelemetry-resources/package.json b/packages/opentelemetry-resources/package.json index 21b3d4cfed..bd1b1696c6 100644 --- a/packages/opentelemetry-resources/package.json +++ b/packages/opentelemetry-resources/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/resources", - "version": "0.7.0", + "version": "0.8.0", "description": "OpenTelemetry SDK resources", "main": "build/src/index.js", "browser": { @@ -61,8 +61,8 @@ "typescript": "3.7.2" }, "dependencies": { - "@opentelemetry/api": "^0.7.0", - "@opentelemetry/core": "^0.7.0", + "@opentelemetry/api": "^0.8.0", + "@opentelemetry/core": "^0.8.0", "gcp-metadata": "^3.5.0" } } diff --git a/packages/opentelemetry-resources/src/version.ts b/packages/opentelemetry-resources/src/version.ts index 103553581c..f30ba9baca 100644 --- a/packages/opentelemetry-resources/src/version.ts +++ b/packages/opentelemetry-resources/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.7.0'; +export const VERSION = '0.8.0'; diff --git a/packages/opentelemetry-shim-opentracing/package.json b/packages/opentelemetry-shim-opentracing/package.json index 1f9bdb58da..f9723c9032 100644 --- a/packages/opentelemetry-shim-opentracing/package.json +++ b/packages/opentelemetry-shim-opentracing/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/shim-opentracing", - "version": "0.7.0", + "version": "0.8.0", "description": "OpenTracing to OpenTelemetry shim", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -39,7 +39,7 @@ "access": "public" }, "devDependencies": { - "@opentelemetry/tracing": "^0.7.0", + "@opentelemetry/tracing": "^0.8.0", "@types/mocha": "^7.0.0", "@types/node": "^12.6.9", "codecov": "^3.6.1", @@ -54,8 +54,8 @@ "typescript": "3.7.2" }, "dependencies": { - "@opentelemetry/api": "^0.7.0", - "@opentelemetry/core": "^0.7.0", + "@opentelemetry/api": "^0.8.0", + "@opentelemetry/core": "^0.8.0", "opentracing": "^0.14.4" } } diff --git a/packages/opentelemetry-shim-opentracing/src/version.ts b/packages/opentelemetry-shim-opentracing/src/version.ts index 103553581c..f30ba9baca 100644 --- a/packages/opentelemetry-shim-opentracing/src/version.ts +++ b/packages/opentelemetry-shim-opentracing/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.7.0'; +export const VERSION = '0.8.0'; diff --git a/packages/opentelemetry-test-utils/package.json b/packages/opentelemetry-test-utils/package.json index 9ba91bec73..770b3ee25f 100644 --- a/packages/opentelemetry-test-utils/package.json +++ b/packages/opentelemetry-test-utils/package.json @@ -1,7 +1,7 @@ { "name": "@opentelemetry/test-utils", "private": true, - "version": "0.7.0", + "version": "0.8.0", "description": "Test utilities.", "main": "build/testUtils.js", "scripts": { @@ -23,9 +23,9 @@ }, "homepage": "https://github.com/open-telemetry/opentelemetry-js#readme", "devDependencies": { - "@opentelemetry/api": "^0.7.0", - "@opentelemetry/core": "^0.7.0", - "@opentelemetry/tracing": "^0.7.0", + "@opentelemetry/api": "^0.8.0", + "@opentelemetry/core": "^0.8.0", + "@opentelemetry/tracing": "^0.8.0", "gts": "^1.1.2", "ts-node": "^8.6.2", "tslint-consistent-codestyle": "^1.16.0", diff --git a/packages/opentelemetry-tracing/package.json b/packages/opentelemetry-tracing/package.json index 967241ecb8..c7a241c82d 100644 --- a/packages/opentelemetry-tracing/package.json +++ b/packages/opentelemetry-tracing/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/tracing", - "version": "0.7.0", + "version": "0.8.0", "description": "OpenTelemetry Tracing", "main": "build/src/index.js", "browser": { @@ -73,9 +73,9 @@ "webpack": "^4.35.2" }, "dependencies": { - "@opentelemetry/api": "^0.7.0", - "@opentelemetry/context-base": "^0.7.0", - "@opentelemetry/core": "^0.7.0", - "@opentelemetry/resources": "^0.7.0" + "@opentelemetry/api": "^0.8.0", + "@opentelemetry/context-base": "^0.8.0", + "@opentelemetry/core": "^0.8.0", + "@opentelemetry/resources": "^0.8.0" } } diff --git a/packages/opentelemetry-tracing/src/version.ts b/packages/opentelemetry-tracing/src/version.ts index 103553581c..f30ba9baca 100644 --- a/packages/opentelemetry-tracing/src/version.ts +++ b/packages/opentelemetry-tracing/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.7.0'; +export const VERSION = '0.8.0'; diff --git a/packages/opentelemetry-web/package.json b/packages/opentelemetry-web/package.json index b8ce2dff7d..c46adb82c8 100644 --- a/packages/opentelemetry-web/package.json +++ b/packages/opentelemetry-web/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/web", - "version": "0.7.0", + "version": "0.8.0", "description": "OpenTelemetry Web Tracer", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -43,8 +43,8 @@ }, "devDependencies": { "@babel/core": "^7.6.0", - "@opentelemetry/context-zone": "^0.7.0", - "@opentelemetry/resources": "^0.7.0", + "@opentelemetry/context-zone": "^0.8.0", + "@opentelemetry/resources": "^0.8.0", "@types/jquery": "^3.3.31", "@types/mocha": "^7.0.0", "@types/node": "^12.6.8", @@ -76,9 +76,9 @@ "webpack-merge": "^4.2.2" }, "dependencies": { - "@opentelemetry/api": "^0.7.0", - "@opentelemetry/context-base": "^0.7.0", - "@opentelemetry/core": "^0.7.0", - "@opentelemetry/tracing": "^0.7.0" + "@opentelemetry/api": "^0.8.0", + "@opentelemetry/context-base": "^0.8.0", + "@opentelemetry/core": "^0.8.0", + "@opentelemetry/tracing": "^0.8.0" } } diff --git a/packages/opentelemetry-web/src/version.ts b/packages/opentelemetry-web/src/version.ts index 103553581c..f30ba9baca 100644 --- a/packages/opentelemetry-web/src/version.ts +++ b/packages/opentelemetry-web/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.7.0'; +export const VERSION = '0.8.0'; From 6aa8ed4f98e073b74d08d9ece0c345f5cd715a09 Mon Sep 17 00:00:00 2001 From: shivkanya9146 <62445341+shivkanya9146@users.noreply.github.com> Date: Wed, 13 May 2020 01:57:25 +0530 Subject: [PATCH 04/33] chore(deps): update dependency mocha and ts-mocha to v7 (#1047) --- packages/opentelemetry-api/package.json | 4 ++-- packages/opentelemetry-context-async-hooks/package.json | 4 ++-- packages/opentelemetry-context-base/package.json | 4 ++-- packages/opentelemetry-context-zone-peer-dep/package.json | 4 ++-- packages/opentelemetry-context-zone/package.json | 4 ++-- packages/opentelemetry-core/package.json | 4 ++-- packages/opentelemetry-exporter-collector/package.json | 4 ++-- packages/opentelemetry-exporter-jaeger/package.json | 4 ++-- packages/opentelemetry-exporter-prometheus/package.json | 4 ++-- packages/opentelemetry-exporter-zipkin/package.json | 4 ++-- packages/opentelemetry-metrics/package.json | 4 ++-- packages/opentelemetry-node/package.json | 4 ++-- packages/opentelemetry-plugin-grpc/package.json | 4 ++-- packages/opentelemetry-plugin-http/package.json | 4 ++-- packages/opentelemetry-plugin-https/package.json | 4 ++-- packages/opentelemetry-plugin-xml-http-request/package.json | 4 ++-- packages/opentelemetry-resources/package.json | 4 ++-- packages/opentelemetry-shim-opentracing/package.json | 4 ++-- packages/opentelemetry-tracing/package.json | 4 ++-- packages/opentelemetry-web/package.json | 4 ++-- 20 files changed, 40 insertions(+), 40 deletions(-) diff --git a/packages/opentelemetry-api/package.json b/packages/opentelemetry-api/package.json index 0baf882d78..f989a2ef7b 100644 --- a/packages/opentelemetry-api/package.json +++ b/packages/opentelemetry-api/package.json @@ -63,10 +63,10 @@ "karma-spec-reporter": "^0.0.32", "karma-webpack": "^4.0.2", "linkinator": "^2.0.3", - "mocha": "^6.1.0", + "mocha": "^7.1.2", "nyc": "^15.0.0", "ts-loader": "^6.0.4", - "ts-mocha": "^6.0.0", + "ts-mocha": "^7.0.0", "tslint-consistent-codestyle": "^1.16.0", "tslint-microsoft-contrib": "^6.2.0", "typedoc": "^0.15.0", diff --git a/packages/opentelemetry-context-async-hooks/package.json b/packages/opentelemetry-context-async-hooks/package.json index 635a8d37e2..673bb39f7f 100644 --- a/packages/opentelemetry-context-async-hooks/package.json +++ b/packages/opentelemetry-context-async-hooks/package.json @@ -46,10 +46,10 @@ "@types/shimmer": "^1.0.1", "codecov": "^3.6.1", "gts": "^1.1.0", - "mocha": "^6.1.0", + "mocha": "^7.1.2", "nyc": "^15.0.0", "rimraf": "^3.0.0", - "ts-mocha": "^6.0.0", + "ts-mocha": "^7.0.0", "ts-node": "^8.6.2", "tslint-consistent-codestyle": "^1.16.0", "tslint-microsoft-contrib": "^6.2.0", diff --git a/packages/opentelemetry-context-base/package.json b/packages/opentelemetry-context-base/package.json index 309d9ef05b..d02a3a7dd7 100644 --- a/packages/opentelemetry-context-base/package.json +++ b/packages/opentelemetry-context-base/package.json @@ -47,10 +47,10 @@ "@types/node": "^12.6.8", "codecov": "^3.6.1", "gts": "^1.1.0", - "mocha": "^6.1.0", + "mocha": "^7.1.2", "nyc": "^15.0.0", "rimraf": "^3.0.0", - "ts-mocha": "^6.0.0", + "ts-mocha": "^7.0.0", "ts-node": "^8.6.2", "tslint-consistent-codestyle": "^1.16.0", "tslint-microsoft-contrib": "^6.2.0", diff --git a/packages/opentelemetry-context-zone-peer-dep/package.json b/packages/opentelemetry-context-zone-peer-dep/package.json index f2e4c379d2..007f2ef543 100644 --- a/packages/opentelemetry-context-zone-peer-dep/package.json +++ b/packages/opentelemetry-context-zone-peer-dep/package.json @@ -57,12 +57,12 @@ "karma-mocha": "^1.3.0", "karma-spec-reporter": "^0.0.32", "karma-webpack": "^4.0.2", - "mocha": "^6.1.0", + "mocha": "^7.1.2", "nyc": "^15.0.0", "rimraf": "^3.0.0", "sinon": "^7.5.0", "ts-loader": "^6.0.4", - "ts-mocha": "^6.0.0", + "ts-mocha": "^7.0.0", "ts-node": "^8.6.2", "tslint-consistent-codestyle": "^1.16.0", "tslint-microsoft-contrib": "^6.2.0", diff --git a/packages/opentelemetry-context-zone/package.json b/packages/opentelemetry-context-zone/package.json index e21b5872ac..5a77cfb031 100644 --- a/packages/opentelemetry-context-zone/package.json +++ b/packages/opentelemetry-context-zone/package.json @@ -51,12 +51,12 @@ "karma-mocha": "^1.3.0", "karma-spec-reporter": "^0.0.32", "karma-webpack": "^4.0.2", - "mocha": "^6.1.0", + "mocha": "^7.1.2", "nyc": "^15.0.0", "rimraf": "^3.0.0", "sinon": "^7.5.0", "ts-loader": "^6.0.4", - "ts-mocha": "^6.0.0", + "ts-mocha": "^7.0.0", "ts-node": "^8.6.2", "tslint-consistent-codestyle": "^1.16.0", "tslint-microsoft-contrib": "^6.2.0", diff --git a/packages/opentelemetry-core/package.json b/packages/opentelemetry-core/package.json index ec6e048e78..1a9fafff21 100644 --- a/packages/opentelemetry-core/package.json +++ b/packages/opentelemetry-core/package.json @@ -65,12 +65,12 @@ "karma-mocha": "^1.3.0", "karma-spec-reporter": "^0.0.32", "karma-webpack": "^4.0.2", - "mocha": "^6.1.0", + "mocha": "^7.1.2", "nyc": "^15.0.0", "rimraf": "^3.0.0", "sinon": "^7.5.0", "ts-loader": "^6.0.4", - "ts-mocha": "^6.0.0", + "ts-mocha": "^7.0.0", "ts-node": "^8.6.2", "tslint-consistent-codestyle": "^1.16.0", "tslint-microsoft-contrib": "^6.2.0", diff --git a/packages/opentelemetry-exporter-collector/package.json b/packages/opentelemetry-exporter-collector/package.json index ab692e771c..c9d3eb0084 100644 --- a/packages/opentelemetry-exporter-collector/package.json +++ b/packages/opentelemetry-exporter-collector/package.json @@ -68,12 +68,12 @@ "karma-mocha": "^1.3.0", "karma-spec-reporter": "^0.0.32", "karma-webpack": "^4.0.2", - "mocha": "^6.1.0", + "mocha": "^7.1.2", "nyc": "^15.0.0", "rimraf": "^3.0.0", "sinon": "^7.5.0", "ts-loader": "^6.0.4", - "ts-mocha": "^6.0.0", + "ts-mocha": "^7.0.0", "ts-node": "^8.6.2", "tslint-consistent-codestyle": "^1.16.0", "tslint-microsoft-contrib": "^6.2.0", diff --git a/packages/opentelemetry-exporter-jaeger/package.json b/packages/opentelemetry-exporter-jaeger/package.json index aa9b64e39b..12c3ca1f27 100644 --- a/packages/opentelemetry-exporter-jaeger/package.json +++ b/packages/opentelemetry-exporter-jaeger/package.json @@ -46,10 +46,10 @@ "@types/node": "^12.6.9", "codecov": "^3.6.1", "gts": "^1.1.0", - "mocha": "^6.2.0", + "mocha": "^7.1.2", "nyc": "^15.0.0", "rimraf": "^3.0.0", - "ts-mocha": "^6.0.0", + "ts-mocha": "^7.0.0", "ts-node": "^8.6.2", "tslint-consistent-codestyle": "^1.16.0", "tslint-microsoft-contrib": "^6.2.0", diff --git a/packages/opentelemetry-exporter-prometheus/package.json b/packages/opentelemetry-exporter-prometheus/package.json index c4aec9b527..64c953d526 100644 --- a/packages/opentelemetry-exporter-prometheus/package.json +++ b/packages/opentelemetry-exporter-prometheus/package.json @@ -44,10 +44,10 @@ "@types/node": "^12.6.9", "codecov": "^3.6.1", "gts": "^1.1.0", - "mocha": "^6.2.2", + "mocha": "^7.1.2", "nyc": "^15.0.0", "rimraf": "^3.0.0", - "ts-mocha": "^6.0.0", + "ts-mocha": "^7.0.0", "ts-node": "^8.6.2", "tslint-consistent-codestyle": "^1.16.0", "tslint-microsoft-contrib": "^6.2.0", diff --git a/packages/opentelemetry-exporter-zipkin/package.json b/packages/opentelemetry-exporter-zipkin/package.json index 45133d52b4..d9e8eaea70 100644 --- a/packages/opentelemetry-exporter-zipkin/package.json +++ b/packages/opentelemetry-exporter-zipkin/package.json @@ -43,11 +43,11 @@ "@types/node": "^12.6.9", "codecov": "^3.6.1", "gts": "^1.1.0", - "mocha": "^6.2.0", + "mocha": "^7.1.2", "nock": "^11.0.0", "nyc": "^15.0.0", "rimraf": "^3.0.0", - "ts-mocha": "^6.0.0", + "ts-mocha": "^7.0.0", "ts-node": "^8.6.2", "tslint-consistent-codestyle": "^1.16.0", "tslint-microsoft-contrib": "^6.2.0", diff --git a/packages/opentelemetry-metrics/package.json b/packages/opentelemetry-metrics/package.json index b67c1fb8a8..266faba938 100644 --- a/packages/opentelemetry-metrics/package.json +++ b/packages/opentelemetry-metrics/package.json @@ -46,11 +46,11 @@ "@types/sinon": "^7.0.13", "codecov": "^3.6.1", "gts": "^1.1.0", - "mocha": "^6.2.0", + "mocha": "^7.1.2", "nyc": "^15.0.0", "rimraf": "^3.0.0", "sinon": "^7.5.0", - "ts-mocha": "^6.0.0", + "ts-mocha": "^7.0.0", "ts-node": "^8.6.2", "tslint-consistent-codestyle": "^1.16.0", "tslint-microsoft-contrib": "^6.2.0", diff --git a/packages/opentelemetry-node/package.json b/packages/opentelemetry-node/package.json index b58b635bfc..a76b01860e 100644 --- a/packages/opentelemetry-node/package.json +++ b/packages/opentelemetry-node/package.json @@ -49,11 +49,11 @@ "@types/shimmer": "^1.0.1", "codecov": "^3.6.1", "gts": "^1.1.0", - "mocha": "^6.1.0", + "mocha": "^7.1.2", "nyc": "^15.0.0", "rimraf": "^3.0.0", "shimmer": "^1.2.0", - "ts-mocha": "^6.0.0", + "ts-mocha": "^7.0.0", "ts-node": "^8.6.2", "tslint-consistent-codestyle": "^1.16.0", "tslint-microsoft-contrib": "^6.2.0", diff --git a/packages/opentelemetry-plugin-grpc/package.json b/packages/opentelemetry-plugin-grpc/package.json index 10e1eb00b9..56d55c520a 100644 --- a/packages/opentelemetry-plugin-grpc/package.json +++ b/packages/opentelemetry-plugin-grpc/package.json @@ -53,12 +53,12 @@ "codecov": "^3.6.1", "grpc": "^1.23.3", "gts": "^1.1.0", - "mocha": "^6.2.0", + "mocha": "^7.1.2", "node-pre-gyp": "^0.12.0", "nyc": "^15.0.0", "rimraf": "^3.0.0", "sinon": "^7.5.0", - "ts-mocha": "^6.0.0", + "ts-mocha": "^7.0.0", "ts-node": "^8.6.2", "tslint-consistent-codestyle": "^1.16.0", "tslint-microsoft-contrib": "^6.2.0", diff --git a/packages/opentelemetry-plugin-http/package.json b/packages/opentelemetry-plugin-http/package.json index 48a5f4d79e..7d0c6618c1 100644 --- a/packages/opentelemetry-plugin-http/package.json +++ b/packages/opentelemetry-plugin-http/package.json @@ -57,7 +57,7 @@ "codecov": "^3.6.1", "got": "^9.6.0", "gts": "^1.1.0", - "mocha": "^6.2.1", + "mocha": "^7.1.2", "nock": "^11.3.5", "nyc": "^15.0.0", "request": "^2.88.0", @@ -65,7 +65,7 @@ "rimraf": "^3.0.0", "sinon": "^7.5.0", "superagent": "5.1.0", - "ts-mocha": "^6.0.0", + "ts-mocha": "^7.0.0", "ts-node": "^8.6.2", "tslint-consistent-codestyle": "^1.16.0", "tslint-microsoft-contrib": "^6.2.0", diff --git a/packages/opentelemetry-plugin-https/package.json b/packages/opentelemetry-plugin-https/package.json index 337255d0b4..838c14155c 100644 --- a/packages/opentelemetry-plugin-https/package.json +++ b/packages/opentelemetry-plugin-https/package.json @@ -57,7 +57,7 @@ "codecov": "^3.6.1", "got": "^9.6.0", "gts": "^1.1.0", - "mocha": "^6.2.1", + "mocha": "^7.1.2", "nock": "^11.3.5", "nyc": "^15.0.0", "request": "^2.88.0", @@ -65,7 +65,7 @@ "rimraf": "^3.0.0", "sinon": "^7.5.0", "superagent": "5.1.0", - "ts-mocha": "^6.0.0", + "ts-mocha": "^7.0.0", "ts-node": "^8.6.2", "tslint-consistent-codestyle": "^1.16.0", "tslint-microsoft-contrib": "^6.2.0", diff --git a/packages/opentelemetry-plugin-xml-http-request/package.json b/packages/opentelemetry-plugin-xml-http-request/package.json index 6ddab55278..8a325a147f 100644 --- a/packages/opentelemetry-plugin-xml-http-request/package.json +++ b/packages/opentelemetry-plugin-xml-http-request/package.json @@ -61,12 +61,12 @@ "karma-mocha": "^1.3.0", "karma-spec-reporter": "^0.0.32", "karma-webpack": "^4.0.2", - "mocha": "^6.1.0", + "mocha": "^7.1.2", "nyc": "^15.0.0", "rimraf": "^3.0.0", "sinon": "^7.5.0", "ts-loader": "^6.0.4", - "ts-mocha": "^6.0.0", + "ts-mocha": "^7.0.0", "ts-node": "^8.6.2", "tslint-consistent-codestyle": "^1.16.0", "tslint-microsoft-contrib": "^6.2.0", diff --git a/packages/opentelemetry-resources/package.json b/packages/opentelemetry-resources/package.json index bd1b1696c6..9afe631cd5 100644 --- a/packages/opentelemetry-resources/package.json +++ b/packages/opentelemetry-resources/package.json @@ -49,12 +49,12 @@ "@types/sinon": "^7.0.13", "codecov": "^3.6.1", "gts": "^1.1.0", - "mocha": "^6.2.0", + "mocha": "^7.1.2", "nock": "^12.0.2", "nyc": "^15.0.0", "rimraf": "^3.0.0", "sinon": "^7.5.0", - "ts-mocha": "^6.0.0", + "ts-mocha": "^7.0.0", "ts-node": "^8.6.2", "tslint-consistent-codestyle": "^1.16.0", "tslint-microsoft-contrib": "^6.2.0", diff --git a/packages/opentelemetry-shim-opentracing/package.json b/packages/opentelemetry-shim-opentracing/package.json index f9723c9032..a727c44c8a 100644 --- a/packages/opentelemetry-shim-opentracing/package.json +++ b/packages/opentelemetry-shim-opentracing/package.json @@ -44,10 +44,10 @@ "@types/node": "^12.6.9", "codecov": "^3.6.1", "gts": "^1.1.0", - "mocha": "^6.2.0", + "mocha": "^7.1.2", "nyc": "^15.0.0", "rimraf": "^3.0.0", - "ts-mocha": "^6.0.0", + "ts-mocha": "^7.0.0", "ts-node": "^8.6.2", "tslint-consistent-codestyle": "^1.16.0", "tslint-microsoft-contrib": "^6.2.0", diff --git a/packages/opentelemetry-tracing/package.json b/packages/opentelemetry-tracing/package.json index c7a241c82d..93670bccbd 100644 --- a/packages/opentelemetry-tracing/package.json +++ b/packages/opentelemetry-tracing/package.json @@ -60,12 +60,12 @@ "karma-mocha": "^1.3.0", "karma-spec-reporter": "^0.0.32", "karma-webpack": "^4.0.2", - "mocha": "^6.1.0", + "mocha": "^7.1.2", "nyc": "^15.0.0", "rimraf": "^3.0.0", "sinon": "^7.5.0", "ts-loader": "^6.0.4", - "ts-mocha": "^6.0.0", + "ts-mocha": "^7.0.0", "ts-node": "^8.6.2", "tslint-consistent-codestyle": "^1.16.0", "tslint-microsoft-contrib": "^6.2.0", diff --git a/packages/opentelemetry-web/package.json b/packages/opentelemetry-web/package.json index c46adb82c8..b08e4b4582 100644 --- a/packages/opentelemetry-web/package.json +++ b/packages/opentelemetry-web/package.json @@ -61,12 +61,12 @@ "karma-mocha": "^1.3.0", "karma-spec-reporter": "^0.0.32", "karma-webpack": "^4.0.2", - "mocha": "^6.1.0", + "mocha": "^7.1.2", "nyc": "^15.0.0", "rimraf": "^3.0.0", "sinon": "^7.5.0", "ts-loader": "^6.0.4", - "ts-mocha": "^6.0.0", + "ts-mocha": "^7.0.0", "ts-node": "^8.6.2", "tslint-consistent-codestyle": "^1.16.0", "tslint-microsoft-contrib": "^6.2.0", From 18278703e3956a3d7cc0b6bb8a31caf6e4aee239 Mon Sep 17 00:00:00 2001 From: Matthew Wear Date: Wed, 13 May 2020 07:23:02 -0700 Subject: [PATCH 05/33] chore: pipe resource through to MetricRecord (#1049) --- packages/opentelemetry-metrics/src/Metric.ts | 1 + .../opentelemetry-metrics/src/export/types.ts | 2 ++ .../opentelemetry-metrics/test/Meter.test.ts | 23 ++++++++++++++++--- 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/packages/opentelemetry-metrics/src/Metric.ts b/packages/opentelemetry-metrics/src/Metric.ts index ce9d89df52..5785fa0374 100644 --- a/packages/opentelemetry-metrics/src/Metric.ts +++ b/packages/opentelemetry-metrics/src/Metric.ts @@ -87,6 +87,7 @@ export abstract class Metric descriptor: this._descriptor, labels: instrument.getLabels(), aggregator: instrument.getAggregator(), + resource: this.resource, })); } diff --git a/packages/opentelemetry-metrics/src/export/types.ts b/packages/opentelemetry-metrics/src/export/types.ts index cffe91bc47..0fe741905e 100644 --- a/packages/opentelemetry-metrics/src/export/types.ts +++ b/packages/opentelemetry-metrics/src/export/types.ts @@ -16,6 +16,7 @@ import { ValueType, HrTime, Labels } from '@opentelemetry/api'; import { ExportResult } from '@opentelemetry/core'; +import { Resource } from '@opentelemetry/resources'; /** The kind of metric. */ export enum MetricKind { @@ -68,6 +69,7 @@ export interface MetricRecord { readonly descriptor: MetricDescriptor; readonly labels: Labels; readonly aggregator: Aggregator; + readonly resource: Resource; } export interface MetricDescriptor { diff --git a/packages/opentelemetry-metrics/test/Meter.test.ts b/packages/opentelemetry-metrics/test/Meter.test.ts index ffa85fe634..e7172f1661 100644 --- a/packages/opentelemetry-metrics/test/Meter.test.ts +++ b/packages/opentelemetry-metrics/test/Meter.test.ts @@ -92,9 +92,14 @@ describe('Meter', () => { ); }); - it('should return counter with resource', () => { + it('should pipe through resource', () => { const counter = meter.createCounter('name') as CounterMetric; assert.ok(counter.resource instanceof Resource); + + counter.add(1, { foo: 'bar' }); + + const [record] = counter.getMetricRecord(); + assert.ok(record.resource instanceof Resource); }); describe('.bind()', () => { @@ -284,9 +289,14 @@ describe('Meter', () => { assert.strictEqual((measure as MeasureMetric)['_absolute'], false); }); - it('should return a measure with resource', () => { + it('should pipe through resource', () => { const measure = meter.createMeasure('name') as MeasureMetric; assert.ok(measure.resource instanceof Resource); + + measure.record(1, { foo: 'bar' }); + + const [record] = measure.getMetricRecord(); + assert.ok(record.resource instanceof Resource); }); describe('names', () => { @@ -487,9 +497,16 @@ describe('Meter', () => { ensureMetric(metric5); }); - it('should return an observer with resource', () => { + it('should pipe through resource', () => { const observer = meter.createObserver('name') as ObserverMetric; assert.ok(observer.resource instanceof Resource); + + observer.setCallback(result => { + result.observe(() => 42, { foo: 'bar' }); + }); + + const [record] = observer.getMetricRecord(); + assert.ok(record.resource instanceof Resource); }); }); From 6b2a9b731fdb0b66dd6ab816c1fc533318117a81 Mon Sep 17 00:00:00 2001 From: Amir Blum Date: Wed, 13 May 2020 19:26:14 +0300 Subject: [PATCH 06/33] feat(plugin-http): add plugin hooks before processing req and res (#963) --- packages/opentelemetry-plugin-http/README.md | 2 + .../opentelemetry-plugin-http/src/http.ts | 35 +++++++++++++ .../opentelemetry-plugin-http/src/types.ts | 14 ++++- .../test/functionals/http-enable.test.ts | 51 +++++++++++++++++++ 4 files changed, 101 insertions(+), 1 deletion(-) diff --git a/packages/opentelemetry-plugin-http/README.md b/packages/opentelemetry-plugin-http/README.md index bcdc59e230..247b50996a 100644 --- a/packages/opentelemetry-plugin-http/README.md +++ b/packages/opentelemetry-plugin-http/README.md @@ -52,6 +52,8 @@ Http plugin has few options available to choose from. You can set the following: | Options | Type | Description | | ------- | ---- | ----------- | | [`applyCustomAttributesOnSpan`](https://github.com/open-telemetry/opentelemetry-js/blob/master/packages/opentelemetry-plugin-http/src/types.ts#L52) | `HttpCustomAttributeFunction` | Function for adding custom attributes | +| [`requestHook`](https://github.com/open-telemetry/opentelemetry-js/blob/master/packages/opentelemetry-plugin-http/src/types.ts#L60) | `HttpRequestCustomAttributeFunction` | Function for adding custom attributes before request is handled | +| [`responseHook`](https://github.com/open-telemetry/opentelemetry-js/blob/master/packages/opentelemetry-plugin-http/src/types.ts#L67) | `HttpResponseCustomAttributeFunction` | Function for adding custom attributes before response is handled | | [`ignoreIncomingPaths`](https://github.com/open-telemetry/opentelemetry-js/blob/master/packages/opentelemetry-plugin-http/src/types.ts#L28) | `IgnoreMatcher[]` | Http plugin will not trace all incoming requests that match paths | | [`ignoreOutgoingUrls`](https://github.com/open-telemetry/opentelemetry-js/blob/master/packages/opentelemetry-plugin-http/src/types.ts#L28) | `IgnoreMatcher[]` | Http plugin will not trace all outgoing requests that match urls | | [`serverName`](https://github.com/open-telemetry/opentelemetry-js/blob/master/packages/opentelemetry-plugin-http/src/types.ts#L28) | `string` | The primary server name of the matched virtual host. | diff --git a/packages/opentelemetry-plugin-http/src/http.ts b/packages/opentelemetry-plugin-http/src/http.ts index b145b4a49e..3697ba492c 100644 --- a/packages/opentelemetry-plugin-http/src/http.ts +++ b/packages/opentelemetry-plugin-http/src/http.ts @@ -203,6 +203,9 @@ export class HttpPlugin extends BasePlugin { hostname, }); span.setAttributes(attributes); + if (this._config.requestHook) { + this._callRequestHook(span, request); + } request.on( 'response', @@ -212,6 +215,9 @@ export class HttpPlugin extends BasePlugin { { hostname } ); span.setAttributes(attributes); + if (this._config.responseHook) { + this._callResponseHook(span, response); + } this._tracer.bind(response); this._logger.debug('outgoingRequest on response()'); @@ -316,6 +322,13 @@ export class HttpPlugin extends BasePlugin { context.bind(request); context.bind(response); + if (plugin._config.requestHook) { + plugin._callRequestHook(span, request); + } + if (plugin._config.responseHook) { + plugin._callResponseHook(span, response); + } + // Wraps end (inspired by: // https://github.com/GoogleCloudPlatform/cloud-trace-nodejs/blob/master/src/plugins/plugin-connect.ts#L75) const originalEnd = response.end; @@ -465,6 +478,28 @@ export class HttpPlugin extends BasePlugin { this._spanNotEnded.delete(span); } + private _callResponseHook( + span: Span, + response: IncomingMessage | ServerResponse + ) { + this._safeExecute( + span, + () => this._config.responseHook!(span, response), + false + ); + } + + private _callRequestHook( + span: Span, + request: ClientRequest | IncomingMessage + ) { + this._safeExecute( + span, + () => this._config.requestHook!(span, request), + false + ); + } + private _safeExecute< T extends (...args: unknown[]) => ReturnType, K extends boolean diff --git a/packages/opentelemetry-plugin-http/src/types.ts b/packages/opentelemetry-plugin-http/src/types.ts index b7e230d37a..da55e0fff8 100644 --- a/packages/opentelemetry-plugin-http/src/types.ts +++ b/packages/opentelemetry-plugin-http/src/types.ts @@ -57,6 +57,14 @@ export interface HttpCustomAttributeFunction { ): void; } +export interface HttpRequestCustomAttributeFunction { + (span: Span, request: ClientRequest | IncomingMessage): void; +} + +export interface HttpResponseCustomAttributeFunction { + (span: Span, response: IncomingMessage | ServerResponse): void; +} + /** * Options available for the HTTP Plugin (see [documentation](https://github.com/open-telemetry/opentelemetry-js/tree/master/packages/opentelemetry-plugin-http#http-plugin-options)) */ @@ -65,8 +73,12 @@ export interface HttpPluginConfig extends PluginConfig { ignoreIncomingPaths?: IgnoreMatcher[]; /** Not trace all outgoing requests that match urls */ ignoreOutgoingUrls?: IgnoreMatcher[]; - /** Function for adding custom attributes */ + /** Function for adding custom attributes after response is handled */ applyCustomAttributesOnSpan?: HttpCustomAttributeFunction; + /** Function for adding custom attributes before request is handled */ + requestHook?: HttpRequestCustomAttributeFunction; + /** Function for adding custom attributes before response is handled */ + responseHook?: HttpResponseCustomAttributeFunction; /** The primary server name of the matched virtual host. */ serverName?: string; /** Require parent to create span for outgoing requests */ diff --git a/packages/opentelemetry-plugin-http/test/functionals/http-enable.test.ts b/packages/opentelemetry-plugin-http/test/functionals/http-enable.test.ts index 1fec14144f..51400d239c 100644 --- a/packages/opentelemetry-plugin-http/test/functionals/http-enable.test.ts +++ b/packages/opentelemetry-plugin-http/test/functionals/http-enable.test.ts @@ -40,6 +40,7 @@ import { DummyPropagation } from '../utils/DummyPropagation'; import { httpRequest } from '../utils/httpRequest'; import { ContextManager } from '@opentelemetry/context-base'; import { AsyncHooksContextManager } from '@opentelemetry/context-async-hooks'; +import { ClientRequest, IncomingMessage, ServerResponse } from 'http'; const applyCustomAttributesOnSpanErrorMessage = 'bad applyCustomAttributesOnSpan function'; @@ -76,6 +77,20 @@ export const customAttributeFunction = (span: ISpan): void => { span.setAttribute('span kind', SpanKind.CLIENT); }; +export const requestHookFunction = ( + span: ISpan, + request: ClientRequest | IncomingMessage +): void => { + span.setAttribute('custom request hook attribute', 'request'); +}; + +export const responseHookFunction = ( + span: ISpan, + response: IncomingMessage | ServerResponse +): void => { + span.setAttribute('custom response hook attribute', 'response'); +}; + describe('HttpPlugin', () => { let contextManager: ContextManager; @@ -207,6 +222,8 @@ describe('HttpPlugin', () => { (url: string) => url.endsWith(`/ignored/function`), ], applyCustomAttributesOnSpan: customAttributeFunction, + requestHook: requestHookFunction, + responseHook: responseHookFunction, serverName, }; plugin.enable(http, provider, provider.logger, config); @@ -703,6 +720,40 @@ describe('HttpPlugin', () => { }); req.end(); }); + + it('custom attributes should show up on client and server spans', async () => { + await httpRequest.get( + `${protocol}://${hostname}:${serverPort}${pathname}` + ); + const spans = memoryExporter.getFinishedSpans(); + const [incomingSpan, outgoingSpan] = spans; + + assert.strictEqual( + incomingSpan.attributes['custom request hook attribute'], + 'request' + ); + assert.strictEqual( + incomingSpan.attributes['custom response hook attribute'], + 'response' + ); + assert.strictEqual( + incomingSpan.attributes['span kind'], + SpanKind.CLIENT + ); + + assert.strictEqual( + outgoingSpan.attributes['custom request hook attribute'], + 'request' + ); + assert.strictEqual( + outgoingSpan.attributes['custom response hook attribute'], + 'response' + ); + assert.strictEqual( + outgoingSpan.attributes['span kind'], + SpanKind.CLIENT + ); + }); }); describe('with require parent span', () => { From 48de7ffc5d7a386a09cff05aa75a929bc4ef5fb3 Mon Sep 17 00:00:00 2001 From: Alan Storm Date: Wed, 13 May 2020 10:34:13 -0700 Subject: [PATCH 07/33] Make Labels Optional for CounterMetric::add (#1032) --- packages/opentelemetry-api/src/metrics/Metric.ts | 4 ++-- packages/opentelemetry-metrics/src/Metric.ts | 6 +++--- packages/opentelemetry-metrics/test/Meter.test.ts | 13 +++++++++++++ 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/packages/opentelemetry-api/src/metrics/Metric.ts b/packages/opentelemetry-api/src/metrics/Metric.ts index 4b02812723..4023a73393 100644 --- a/packages/opentelemetry-api/src/metrics/Metric.ts +++ b/packages/opentelemetry-api/src/metrics/Metric.ts @@ -110,14 +110,14 @@ export interface Counter extends UnboundMetric { /** * Adds the given value to the current value. Values cannot be negative. */ - add(value: number, labels: Labels): void; + add(value: number, labels?: Labels): void; } export interface Measure extends UnboundMetric { /** * Records the given value to this measure. */ - record(value: number, labels: Labels): void; + record(value: number, labels?: Labels): void; record( value: number, diff --git a/packages/opentelemetry-metrics/src/Metric.ts b/packages/opentelemetry-metrics/src/Metric.ts index 5785fa0374..9547d210e3 100644 --- a/packages/opentelemetry-metrics/src/Metric.ts +++ b/packages/opentelemetry-metrics/src/Metric.ts @@ -131,10 +131,10 @@ export class CounterMetric extends Metric implements api.Counter { /** * Adds the given value to the current value. Values cannot be negative. * @param value the value to add. - * @param labels key-values pairs that are associated with a specific metric + * @param [labels = {}] key-values pairs that are associated with a specific metric * that you want to record. */ - add(value: number, labels: api.Labels) { + add(value: number, labels: api.Labels = {}) { this.bind(labels).add(value); } } @@ -164,7 +164,7 @@ export class MeasureMetric extends Metric implements api.Measure { ); } - record(value: number, labels: api.Labels) { + record(value: number, labels: api.Labels = {}) { this.bind(labels).record(value); } } diff --git a/packages/opentelemetry-metrics/test/Meter.test.ts b/packages/opentelemetry-metrics/test/Meter.test.ts index e7172f1661..5826f09a90 100644 --- a/packages/opentelemetry-metrics/test/Meter.test.ts +++ b/packages/opentelemetry-metrics/test/Meter.test.ts @@ -92,6 +92,19 @@ describe('Meter', () => { ); }); + it('should be able to call add with no labels', () => { + const counter = meter.createCounter('name', { + description: 'desc', + unit: '1', + disabled: false, + monotonic: true, + }); + counter.add(1); + meter.collect(); + const [record1] = meter.getBatcher().checkPointSet(); + assert.strictEqual(record1.aggregator.toPoint().value, 1); + }); + it('should pipe through resource', () => { const counter = meter.createCounter('name') as CounterMetric; assert.ok(counter.resource instanceof Resource); From e83174f8bacd33896d6d19acc2a668a7b53ebce5 Mon Sep 17 00:00:00 2001 From: Daniel Dyla Date: Wed, 13 May 2020 14:04:36 -0400 Subject: [PATCH 08/33] fix: include proto files in deployment package (#1053) --- packages/opentelemetry-exporter-collector/package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/opentelemetry-exporter-collector/package.json b/packages/opentelemetry-exporter-collector/package.json index c9d3eb0084..0e4265b732 100644 --- a/packages/opentelemetry-exporter-collector/package.json +++ b/packages/opentelemetry-exporter-collector/package.json @@ -44,6 +44,7 @@ "files": [ "build/src/**/*.js", "build/src/**/*.d.ts", + "build/src/**/*.proto", "doc", "LICENSE", "README.md" From 7ccf1d01e1c4924bcf8d752e997a4da072132e40 Mon Sep 17 00:00:00 2001 From: Daniel Dyla Date: Wed, 13 May 2020 14:27:01 -0400 Subject: [PATCH 09/33] chore: deploy docs using github action (#1051) --- .circleci/config.yml | 31 ------------------------------- .github/workflows/docs.yml | 27 +++++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 31 deletions(-) create mode 100644 .github/workflows/docs.yml diff --git a/.circleci/config.yml b/.circleci/config.yml index e1dc9feb5b..2a72e5aea3 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -140,35 +140,12 @@ jobs: - run: name: Docs tests command: npm run docs-test - - persist_to_workspace: - root: packages/opentelemetry-api/docs - paths: - - out - run: name: Install minimal modules to lint examples command: npm i --no-save eslint eslint-plugin-import eslint-config-airbnb-base - run: name: Lint examples command: npm run lint:examples - docs-deploy: - docker: - - image: node:12 - steps: - - checkout - - attach_workspace: - at: packages/opentelemetry-api/docs - - run: - name: Install and configure dependencies - command: | - npm install --silent --no-save gh-pages - git config user.email noreply@opentelemetry.io - git config user.name "ci-build" - - add_ssh_keys: - fingerprints: - - "1d:a3:60:b5:b4:8d:e7:8a:96:ce:6a:0a:e9:58:4c:54" - - run: - name: Deploy docs to gh-pages branch - command: gh-pages --dist packages/opentelemetry-api/docs/out node8: docker: - image: node:8 @@ -207,14 +184,6 @@ workflows: filters: branches: only: /.*/ - - docs-deploy: - requires: - - lint_&_docs - filters: - tags: - only: /^v\d+\.\d+\.\d$/ - branches: - ignore: /.*/ - node8 - node10 - node12 diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 0000000000..bbc666ce6d --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,27 @@ +name: Deploy docs on a new release + +on: + release: + types: [published] + +jobs: + build-and-deploy: + runs-on: ubuntu-latest + steps: + - name: Checkout 🛎️ + uses: actions/checkout@v2 # If you're using actions/checkout@v2 you must set persist-credentials to false in most cases for the deployment to work correctly. + with: + persist-credentials: false + + - name: Install and Build 🔧 + run: | + npm install --ignore-scripts + npx lerna bootstrap --scope @opentelemetry/api --include-filtered-dependencies + npm run docs + + - name: Deploy 🚀 + uses: JamesIves/github-pages-deploy-action@releases/v3 + with: + ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }} + BRANCH: gh-pages # The branch the action should deploy to. + FOLDER: packages/opentelemetry-api/docs/out # The folder the action should deploy. \ No newline at end of file From c0aad1d22430d816187a6c1d4a3abb56d48f8d18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20L=C3=BCbken?= Date: Thu, 14 May 2020 11:04:24 -0500 Subject: [PATCH 10/33] fix: setting labelKeys when creating the counter (#1056) --- packages/opentelemetry-exporter-prometheus/README.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/opentelemetry-exporter-prometheus/README.md b/packages/opentelemetry-exporter-prometheus/README.md index 69ab91e5ff..dee3d8e227 100644 --- a/packages/opentelemetry-exporter-prometheus/README.md +++ b/packages/opentelemetry-exporter-prometheus/README.md @@ -35,12 +35,15 @@ const meter = new MeterProvider({ }).getMeter('example-prometheus'); // Now, start recording data -const counter = meter.createCounter('metric_name'); -counter.add(10, { [key]: 'value' }); +const counter = meter.createCounter('metric_name', { + labelKeys: ['pid'], + description: 'Example of a counter' +}); +counter.add(10, { pid: process.pid }); // Record data using Instrument: It is recommended to keep a reference to the Bound Instrument instead of // always calling `bind()` method for every operations. -const boundCounter = counter.bind({ [key]: 'value' }); +const boundCounter = counter.bind({ pid: process.pid }); boundCounter.add(10); // .. some other work From 4ab4a2955fe1604da72a2ff7181e21afb47a12ac Mon Sep 17 00:00:00 2001 From: shivkanya9146 <62445341+shivkanya9146@users.noreply.github.com> Date: Fri, 15 May 2020 01:58:10 +0530 Subject: [PATCH 11/33] Update dependency karma,karma-coverage-istanbul-reporter and karma mocha (#1061) --- packages/opentelemetry-api/package.json | 6 +++--- packages/opentelemetry-context-zone-peer-dep/package.json | 6 +++--- packages/opentelemetry-context-zone/package.json | 4 ++-- packages/opentelemetry-core/package.json | 6 +++--- packages/opentelemetry-exporter-collector/package.json | 6 +++--- packages/opentelemetry-plugin-xml-http-request/package.json | 6 +++--- packages/opentelemetry-tracing/package.json | 6 +++--- packages/opentelemetry-web/package.json | 6 +++--- 8 files changed, 23 insertions(+), 23 deletions(-) diff --git a/packages/opentelemetry-api/package.json b/packages/opentelemetry-api/package.json index f989a2ef7b..ed050d7bd5 100644 --- a/packages/opentelemetry-api/package.json +++ b/packages/opentelemetry-api/package.json @@ -56,10 +56,10 @@ "codecov": "^3.6.1", "gts": "^1.1.0", "istanbul-instrumenter-loader": "^3.0.1", - "karma": "^4.4.1", + "karma": "^5.0.5", "karma-chrome-launcher": "^3.1.0", - "karma-coverage-istanbul-reporter": "^2.1.0", - "karma-mocha": "^1.3.0", + "karma-coverage-istanbul-reporter": "^3.0.2", + "karma-mocha": "^2.0.1", "karma-spec-reporter": "^0.0.32", "karma-webpack": "^4.0.2", "linkinator": "^2.0.3", diff --git a/packages/opentelemetry-context-zone-peer-dep/package.json b/packages/opentelemetry-context-zone-peer-dep/package.json index 007f2ef543..08e885fcff 100644 --- a/packages/opentelemetry-context-zone-peer-dep/package.json +++ b/packages/opentelemetry-context-zone-peer-dep/package.json @@ -51,10 +51,10 @@ "codecov": "^3.6.1", "gts": "^1.1.0", "istanbul-instrumenter-loader": "^3.0.1", - "karma": "^4.4.1", + "karma": "^5.0.5", "karma-chrome-launcher": "^3.1.0", - "karma-coverage-istanbul-reporter": "^2.1.0", - "karma-mocha": "^1.3.0", + "karma-coverage-istanbul-reporter": "^3.0.2", + "karma-mocha": "^2.0.1", "karma-spec-reporter": "^0.0.32", "karma-webpack": "^4.0.2", "mocha": "^7.1.2", diff --git a/packages/opentelemetry-context-zone/package.json b/packages/opentelemetry-context-zone/package.json index 5a77cfb031..b3c5fb2ab7 100644 --- a/packages/opentelemetry-context-zone/package.json +++ b/packages/opentelemetry-context-zone/package.json @@ -46,9 +46,9 @@ "babel-loader": "^8.0.6", "codecov": "^3.6.1", "gts": "^1.1.0", - "karma": "^4.1.0", + "karma": "^5.0.5", "karma-chrome-launcher": "^2.2.0", - "karma-mocha": "^1.3.0", + "karma-mocha": "^2.0.1", "karma-spec-reporter": "^0.0.32", "karma-webpack": "^4.0.2", "mocha": "^7.1.2", diff --git a/packages/opentelemetry-core/package.json b/packages/opentelemetry-core/package.json index 1a9fafff21..71f6aef5ef 100644 --- a/packages/opentelemetry-core/package.json +++ b/packages/opentelemetry-core/package.json @@ -59,10 +59,10 @@ "codecov": "^3.6.1", "gts": "^1.1.0", "istanbul-instrumenter-loader": "^3.0.1", - "karma": "^4.4.1", + "karma": "^5.0.5", "karma-chrome-launcher": "^3.1.0", - "karma-coverage-istanbul-reporter": "^2.1.0", - "karma-mocha": "^1.3.0", + "karma-coverage-istanbul-reporter": "^3.0.2", + "karma-mocha": "^2.0.1", "karma-spec-reporter": "^0.0.32", "karma-webpack": "^4.0.2", "mocha": "^7.1.2", diff --git a/packages/opentelemetry-exporter-collector/package.json b/packages/opentelemetry-exporter-collector/package.json index 0e4265b732..95c5003124 100644 --- a/packages/opentelemetry-exporter-collector/package.json +++ b/packages/opentelemetry-exporter-collector/package.json @@ -63,10 +63,10 @@ "cpx": "^1.5.0", "gts": "^1.0.0", "istanbul-instrumenter-loader": "^3.0.1", - "karma": "^4.4.1", + "karma": "^5.0.5", "karma-chrome-launcher": "^3.1.0", - "karma-coverage-istanbul-reporter": "^2.1.0", - "karma-mocha": "^1.3.0", + "karma-coverage-istanbul-reporter": "^3.0.2", + "karma-mocha": "^2.0.1", "karma-spec-reporter": "^0.0.32", "karma-webpack": "^4.0.2", "mocha": "^7.1.2", diff --git a/packages/opentelemetry-plugin-xml-http-request/package.json b/packages/opentelemetry-plugin-xml-http-request/package.json index 8a325a147f..d2fe019be1 100644 --- a/packages/opentelemetry-plugin-xml-http-request/package.json +++ b/packages/opentelemetry-plugin-xml-http-request/package.json @@ -55,10 +55,10 @@ "codecov": "^3.1.0", "gts": "^1.0.0", "istanbul-instrumenter-loader": "^3.0.1", - "karma": "^4.4.1", + "karma": "^5.0.5", "karma-chrome-launcher": "^3.1.0", - "karma-coverage-istanbul-reporter": "^2.1.0", - "karma-mocha": "^1.3.0", + "karma-coverage-istanbul-reporter": "^3.0.2", + "karma-mocha": "^2.0.1", "karma-spec-reporter": "^0.0.32", "karma-webpack": "^4.0.2", "mocha": "^7.1.2", diff --git a/packages/opentelemetry-tracing/package.json b/packages/opentelemetry-tracing/package.json index 93670bccbd..b9f8dd7c39 100644 --- a/packages/opentelemetry-tracing/package.json +++ b/packages/opentelemetry-tracing/package.json @@ -54,10 +54,10 @@ "codecov": "^3.6.1", "gts": "^1.1.0", "istanbul-instrumenter-loader": "^3.0.1", - "karma": "^4.4.1", + "karma": "^5.0.5", "karma-chrome-launcher": "^3.1.0", - "karma-coverage-istanbul-reporter": "^2.1.0", - "karma-mocha": "^1.3.0", + "karma-coverage-istanbul-reporter": "^3.0.2", + "karma-mocha": "^2.0.1", "karma-spec-reporter": "^0.0.32", "karma-webpack": "^4.0.2", "mocha": "^7.1.2", diff --git a/packages/opentelemetry-web/package.json b/packages/opentelemetry-web/package.json index b08e4b4582..d38bbfbd2b 100644 --- a/packages/opentelemetry-web/package.json +++ b/packages/opentelemetry-web/package.json @@ -54,11 +54,11 @@ "codecov": "^3.6.1", "gts": "^1.1.0", "istanbul-instrumenter-loader": "^3.0.1", - "karma": "^4.4.1", + "karma": "^5.0.5", "karma-chrome-launcher": "^3.1.0", - "karma-coverage-istanbul-reporter": "^2.1.0", + "karma-coverage-istanbul-reporter": "^3.0.2", "karma-jquery": "^0.2.4", - "karma-mocha": "^1.3.0", + "karma-mocha": "^2.0.1", "karma-spec-reporter": "^0.0.32", "karma-webpack": "^4.0.2", "mocha": "^7.1.2", From 2409821f1c4cf819dd7718292eeceb23f398fec5 Mon Sep 17 00:00:00 2001 From: Justin Walz Date: Thu, 14 May 2020 14:59:20 -0700 Subject: [PATCH 12/33] chore(opentelemetry-resources): add instance type and az to aws detector (#1055) --- .../src/platform/node/detectors/AwsEc2Detector.ts | 4 ++++ .../opentelemetry-resources/test/detect-resources.test.ts | 8 +++++++- .../test/detectors/AwsEc2Detector.test.ts | 4 ++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/packages/opentelemetry-resources/src/platform/node/detectors/AwsEc2Detector.ts b/packages/opentelemetry-resources/src/platform/node/detectors/AwsEc2Detector.ts index d3317b9c09..7e68016925 100644 --- a/packages/opentelemetry-resources/src/platform/node/detectors/AwsEc2Detector.ts +++ b/packages/opentelemetry-resources/src/platform/node/detectors/AwsEc2Detector.ts @@ -44,13 +44,17 @@ class AwsEc2Detector implements Detector { const { accountId, instanceId, + instanceType, region, + availabilityZone, } = await this._awsMetadataAccessor(); return new Resource({ [CLOUD_RESOURCE.PROVIDER]: 'aws', [CLOUD_RESOURCE.ACCOUNT_ID]: accountId, [CLOUD_RESOURCE.REGION]: region, + [CLOUD_RESOURCE.ZONE]: availabilityZone, [HOST_RESOURCE.ID]: instanceId, + [HOST_RESOURCE.TYPE]: instanceType, }); } catch { return Resource.empty(); diff --git a/packages/opentelemetry-resources/test/detect-resources.test.ts b/packages/opentelemetry-resources/test/detect-resources.test.ts index 24efdf7638..583aa48b3a 100644 --- a/packages/opentelemetry-resources/test/detect-resources.test.ts +++ b/packages/opentelemetry-resources/test/detect-resources.test.ts @@ -48,8 +48,10 @@ const { origin: AWS_HOST, pathname: AWS_PATH } = new URL( const mockedAwsResponse = { instanceId: 'my-instance-id', + instanceType: 'my-instance-type', accountId: 'my-account-id', region: 'my-region', + availabilityZone: 'my-zone', }; describe('detectResources', async () => { @@ -132,8 +134,12 @@ describe('detectResources', async () => { provider: 'aws', accountId: 'my-account-id', region: 'my-region', + zone: 'my-zone', + }); + assertHostResource(resource, { + id: 'my-instance-id', + hostType: 'my-instance-type', }); - assertHostResource(resource, { id: 'my-instance-id' }); assertServiceResource(resource, { instanceId: '627cc493', name: 'my-service', diff --git a/packages/opentelemetry-resources/test/detectors/AwsEc2Detector.test.ts b/packages/opentelemetry-resources/test/detectors/AwsEc2Detector.test.ts index 6777d472fe..93e53296d2 100644 --- a/packages/opentelemetry-resources/test/detectors/AwsEc2Detector.test.ts +++ b/packages/opentelemetry-resources/test/detectors/AwsEc2Detector.test.ts @@ -31,8 +31,10 @@ const { origin: AWS_HOST, pathname: AWS_PATH } = new URL( const mockedAwsResponse = { instanceId: 'my-instance-id', + instanceType: 'my-instance-type', accountId: 'my-account-id', region: 'my-region', + availabilityZone: 'my-zone', }; describe('awsEc2Detector', () => { @@ -58,9 +60,11 @@ describe('awsEc2Detector', () => { provider: 'aws', accountId: 'my-account-id', region: 'my-region', + zone: 'my-zone', }); assertHostResource(resource, { id: 'my-instance-id', + hostType: 'my-instance-type', }); }); }); From 52f583df9c4c68c50f5f41c863de618388fc9f01 Mon Sep 17 00:00:00 2001 From: Mayur Kale Date: Fri, 15 May 2020 11:26:40 -0700 Subject: [PATCH 13/33] chore: update README (#1064) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 46ba523ad7..e030fbca34 100644 --- a/README.md +++ b/README.md @@ -186,8 +186,8 @@ These plugins are hosted at https://github.com/open-telemetry/opentelemetry-js-c - [@opentelemetry/plugin-pg-pool][otel-contrib-plugin-pg-pool] - [@opentelemetry/plugin-redis][otel-contrib-plugin-redis] - [@opentelemetry/plugin-ioredis][otel-contrib-plugin-ioredis] +- [@opentelemetry/plugin-express][otel-contrib-plugin-express] - [@opentelemetry/plugin-dns][otel-contrib-plugin-dns] - By default, this plugin is not loaded [#612](https://github.com/open-telemetry/opentelemetry-js/issues/612) -- [@opentelemetry/plugin-express][otel-contrib-plugin-express] - By default, this plugin is not loaded #### Web Plugins ##### Core From 637f982b7e7b00f05ee9e2ba8f329ba344fcfb7b Mon Sep 17 00:00:00 2001 From: Amir Blum Date: Mon, 18 May 2020 16:05:00 +0300 Subject: [PATCH 14/33] fix(http-plugin): don't modify user's headers object in plugin (#1060) --- packages/opentelemetry-plugin-http/src/http.ts | 2 ++ .../test/functionals/http-enable.test.ts | 1 + 2 files changed, 3 insertions(+) diff --git a/packages/opentelemetry-plugin-http/src/http.ts b/packages/opentelemetry-plugin-http/src/http.ts index 3697ba492c..481970e4ea 100644 --- a/packages/opentelemetry-plugin-http/src/http.ts +++ b/packages/opentelemetry-plugin-http/src/http.ts @@ -406,6 +406,8 @@ export class HttpPlugin extends BasePlugin { ); if (utils.isOpenTelemetryRequest(optionsParsed)) { + // clone the headers so delete will not modify the user's object + optionsParsed.headers = Object.assign({}, optionsParsed.headers); delete optionsParsed.headers[utils.OT_REQUEST_HEADER]; return original.apply(this, [optionsParsed, ...args]); } diff --git a/packages/opentelemetry-plugin-http/test/functionals/http-enable.test.ts b/packages/opentelemetry-plugin-http/test/functionals/http-enable.test.ts index 51400d239c..812194e423 100644 --- a/packages/opentelemetry-plugin-http/test/functionals/http-enable.test.ts +++ b/packages/opentelemetry-plugin-http/test/functionals/http-enable.test.ts @@ -202,6 +202,7 @@ describe('HttpPlugin', () => { const spans = memoryExporter.getFinishedSpans(); assert.strictEqual(result.data, 'Ok'); assert.strictEqual(spans.length, 0); + assert.strictEqual(options.headers[OT_REQUEST_HEADER], 1); }); }); describe('with good plugin options', () => { From 4056f361f049717b89d2fb24757f379dcb4e90d1 Mon Sep 17 00:00:00 2001 From: Naseem Date: Mon, 18 May 2020 14:37:43 -0400 Subject: [PATCH 15/33] style: format README (#1065) --- README.md | 86 ++++++++++++++++++++++++++++++++----------------------- 1 file changed, 50 insertions(+), 36 deletions(-) diff --git a/README.md b/README.md index e030fbca34..34e9c14cff 100644 --- a/README.md +++ b/README.md @@ -56,21 +56,23 @@ If you are a library author looking to build OpenTelemetry into your library, pl ## Supported Runtimes -Platform Version | Supported ----------------- | --------- -Node.JS `v14` | ✅ -Node.JS `v13` | ✅ -Node.JS `v12` | ✅ -Node.JS `v10` | ✅ -Node.JS `v8` | See [Node Support](#node-support) below -Web Browsers | ✅ See [Browser Support](#browser-support) below +| Platform Version | Supported | +|------------------|-------------------------------------------------| +| Node.JS `v14` | ✅ | +| Node.JS `v13` | ✅ | +| Node.JS `v12` | ✅ | +| Node.JS `v10` | ✅ | +| Node.JS `v8` | See [Node Support](#node-support) below | +| Web Browsers | ✅ See [Browser Support](#browser-support) below | ### Node Support + Automated tests are run using the latest release of each currently active version of Node.JS. While Node.JS v8 is no longer supported by the Node.JS team, the latest version of Node.JS v8 is still included in our testing suite. Please note that versions of Node.JS v8 prior to `v8.5.0` will NOT work, because OpenTelemetry Node depends on the `perf_hooks` module introduced in `v8.5.0` ### Browser Support + Automated browser tests are run in the latest version of Headless Chrome. There is currently no list of officially supported browsers, but OpenTelemetry is developed using standard web technologies with wide support and should work in currently supported versions of major browsers. @@ -80,28 +82,28 @@ OpenTelemetry JS is under active development. This release isn't guaranteed to conform to a specific version of the specification, and future releases will not attempt to maintain backwards compatibility with the alpha release. -| Component | Initial Version | Release Date | -| --------------------------- | --------------- | ---------------- | -| Tracing API | Alpha v0.1.0 | October 14 2019 | -| Tracing SDK (Node and Web) | Alpha v0.1.0 | October 14 2019 | -| Jaeger Trace Exporter | Alpha v0.1.0 | October 14 2019 | -| Trace Context Propagation | Alpha v0.1.0 | October 14 2019 | -| Zipkin Trace Exporter | Alpha v0.1.0 | October 14 2019 | -| OpenTracing Bridge | Alpha v0.1.0 | October 14 2019 | -| Metrics API | Alpha v0.2.0 | November 04 2019 | -| Metrics SDK | Alpha v0.2.0 | November 04 2019 | -| Prometheus Metric Exporter | Alpha v0.3.0 | December 13 2019 | -| Resources | Beta v0.5.0 | March 16 2020 | -| Metrics SDK (Complete) | Beta v0.5.0 | March 16 2020 | -| OpenCensus Bridge | Unknown | Unknown | -| Support for Tags/Baggage | Unknown | Unknown | +| Component | Initial Version | Release Date | +|----------------------------|-----------------|------------------| +| Tracing API | Alpha v0.1.0 | October 14 2019 | +| Tracing SDK (Node and Web) | Alpha v0.1.0 | October 14 2019 | +| Jaeger Trace Exporter | Alpha v0.1.0 | October 14 2019 | +| Trace Context Propagation | Alpha v0.1.0 | October 14 2019 | +| Zipkin Trace Exporter | Alpha v0.1.0 | October 14 2019 | +| OpenTracing Bridge | Alpha v0.1.0 | October 14 2019 | +| Metrics API | Alpha v0.2.0 | November 04 2019 | +| Metrics SDK | Alpha v0.2.0 | November 04 2019 | +| Prometheus Metric Exporter | Alpha v0.3.0 | December 13 2019 | +| Resources | Beta v0.5.0 | March 16 2020 | +| Metrics SDK (Complete) | Beta v0.5.0 | March 16 2020 | +| OpenCensus Bridge | Unknown | Unknown | +| Support for Tags/Baggage | Unknown | Unknown | ## Feature Status Last updated March 2020 | Feature | API Status | Specification Target | SDK Status | -| ------------------- | ---------- | -------------------- | ----------- | +|---------------------|------------|----------------------|-------------| | Tracing | Beta | v0.3 | Beta | | Metrics | Beta | v0.3 | Beta | | Context | Beta | v0.3 | Beta | @@ -116,6 +118,7 @@ for details on upcoming releases. The dates and features described here are estimates, and subject to change. ## Contributing + We'd love your help!. Use tags [up-for-grabs][up-for-grabs-issues] and [good first issue][good-first-issues] to get started with the project. Follow [CONTRIBUTING](CONTRIBUTING.md) guide to report issues or submit a proposal. @@ -141,6 +144,7 @@ Maintainers ([@open-telemetry/js-maintainers](https://github.com/orgs/open-telem *Find more about the maintainer role in [community repository](https://github.com/open-telemetry/community/blob/master/community-membership.md#maintainer).* ### Thanks to all the people who already contributed! + @@ -149,19 +153,19 @@ Maintainers ([@open-telemetry/js-maintainers](https://github.com/orgs/open-telem ### API -| Package | Description | -| ----------------------- | -----------------| -| [@opentelemetry/api][otel-api] | This package provides TypeScript interfaces, enums and no-op implementations for the OpenTelemetry core trace and metrics model. It is intended for use both on the server and in the browser. | -| [@opentelemetry/core][otel-core] | This package provides default and no-op implementations of the OpenTelemetry api for trace and metrics. It's intended for use both on the server and in the browser. | +| Package | Description | +|----------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| [@opentelemetry/api][otel-api] | This package provides TypeScript interfaces, enums and no-op implementations for the OpenTelemetry core trace and metrics model. It is intended for use both on the server and in the browser. | +| [@opentelemetry/core][otel-core] | This package provides default and no-op implementations of the OpenTelemetry api for trace and metrics. It's intended for use both on the server and in the browser. | ### Implementation / SDKs -| Package | Description | -| ----------------------- | -----------------| +| Package | Description | +|----------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | [@opentelemetry/tracing][otel-tracing] | This module provides a full control over instrumentation and span creation. It doesn't load [`async_hooks`](https://nodejs.org/api/async_hooks.html) or any instrumentation plugin by default. It is intended for use both on the server and in the browser. | -| [@opentelemetry/metrics][otel-metrics] | This module provides instruments and meters for reporting of time series data. | -| [@opentelemetry/node][otel-node] | This module provides automatic tracing for Node.js applications. It is intended for use on the server only. | -| [@opentelemetry/web][otel-web] | This module provides automated instrumentation and tracing for Web applications. It is intended for use in the browser only. | +| [@opentelemetry/metrics][otel-metrics] | This module provides instruments and meters for reporting of time series data. | +| [@opentelemetry/node][otel-node] | This module provides automatic tracing for Node.js applications. It is intended for use on the server only. | +| [@opentelemetry/web][otel-web] | This module provides automated instrumentation and tracing for Web applications. It is intended for use in the browser only. | ### Compatible Exporters @@ -174,12 +178,17 @@ See the [OpenTelemetry registry](https://opentelemetry.io/registry/?s=node.js) f OpenTelemetry can collect tracing data automatically using plugins. Vendors/Users can also create and use their own. Currently, OpenTelemetry supports automatic tracing for: #### Node Plugins + ##### Core + - [@opentelemetry/plugin-grpc][otel-plugin-grpc] - [@opentelemetry/plugin-http][otel-plugin-http] - [@opentelemetry/plugin-https][otel-plugin-https] + ##### Contrib + These plugins are hosted at https://github.com/open-telemetry/opentelemetry-js-contrib/tree/master/plugins/node + - [@opentelemetry/plugin-mongodb][otel-contrib-plugin-mongodb] - [@opentelemetry/plugin-mysql][otel-contrib-plugin-mysql] - [@opentelemetry/plugin-pg][otel-contrib-plugin-pg] @@ -190,10 +199,15 @@ These plugins are hosted at https://github.com/open-telemetry/opentelemetry-js-c - [@opentelemetry/plugin-dns][otel-contrib-plugin-dns] - By default, this plugin is not loaded [#612](https://github.com/open-telemetry/opentelemetry-js/issues/612) #### Web Plugins + ##### Core + - [@opentelemetry/plugin-xml-http-request][otel-plugin-xml-http-request] + ##### Contrib + These plugins are hosted at https://github.com/open-telemetry/opentelemetry-js-contrib/tree/master/plugins/web + - [@opentelemetry/plugin-document-load][otel-contrib-plugin-document-load] - [@opentelemetry/plugin-user-interaction][otel-contrib-plugin-user-interaction] @@ -201,12 +215,12 @@ To request automatic tracing support for a module not on this list, please [file ### Shims -| Package | Description | -| ----------------------- | -----------------| +| Package | Description | +|----------------------------------------------------------|-----------------------------------------------------------------------------------------| | [@opentelemetry/shim-opentracing][otel-shim-opentracing] | OpenTracing shim allows existing OpenTracing instrumentation to report to OpenTelemetry | - ## Useful links + - For more information on OpenTelemetry, visit: - For help or feedback on this project, join us on [gitter][node-gitter-url] From 78d8616fc3efacb65a106b8ec1769e8910a20631 Mon Sep 17 00:00:00 2001 From: Daniel Dyla Date: Mon, 18 May 2020 14:46:43 -0400 Subject: [PATCH 16/33] feat: add plugin metapackages (#1050) --- lerna.json | 1 + metapackages/plugins-node-core/README.md | 35 +++++++++++++++++++++ metapackages/plugins-node-core/package.json | 20 ++++++++++++ metapackages/plugins-web-core/README.md | 31 ++++++++++++++++++ metapackages/plugins-web-core/package.json | 18 +++++++++++ 5 files changed, 105 insertions(+) create mode 100644 metapackages/plugins-node-core/README.md create mode 100644 metapackages/plugins-node-core/package.json create mode 100644 metapackages/plugins-web-core/README.md create mode 100644 metapackages/plugins-web-core/package.json diff --git a/lerna.json b/lerna.json index 8e7c368449..7d6237e74a 100644 --- a/lerna.json +++ b/lerna.json @@ -3,6 +3,7 @@ "npmClient": "npm", "packages": [ "benchmark/*", + "metapackages/*", "packages/*" ], "version": "0.8.0", diff --git a/metapackages/plugins-node-core/README.md b/metapackages/plugins-node-core/README.md new file mode 100644 index 0000000000..8d4d103936 --- /dev/null +++ b/metapackages/plugins-node-core/README.md @@ -0,0 +1,35 @@ +# OpenTelemetry Plugins Node Core +[![Gitter chat][gitter-image]][gitter-url] +[![NPM Published Version][npm-img]][npm-url] +[![dependencies][dependencies-image]][dependencies-url] +[![Apache License][license-image]][license-image] + +This package depends on all core node plugins maintained by OpenTelemetry authors. Installing it installs all core plugins + +## Plugins + +- [@opentelemetry/plugin-grpc][otel-plugin-grpc] +- [@opentelemetry/plugin-http][otel-plugin-http] +- [@opentelemetry/plugin-https][otel-plugin-https] + +## Useful links +- For more information on OpenTelemetry, visit: +- For more about OpenTelemetry JavaScript: +- For help or feedback on this project, join us on [gitter][gitter-url] + +## License + +Apache 2.0 - See [LICENSE][license-url] for more information. + +[gitter-image]: https://badges.gitter.im/open-telemetry/opentelemetry-js.svg +[gitter-url]: https://gitter.im/open-telemetry/opentelemetry-node?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge +[license-url]: https://github.com/open-telemetry/opentelemetry-js/blob/master/LICENSE +[license-image]: https://img.shields.io/badge/license-Apache_2.0-green.svg?style=flat +[dependencies-image]: https://david-dm.org/open-telemetry/opentelemetry-js/status.svg?path=metapackages/plugins-node-core +[dependencies-url]: https://david-dm.org/open-telemetry/opentelemetry-js?path=packages%2Fopentelemetryplugins-node-core +[npm-url]: https://www.npmjs.com/package/@opentelemetry/plugins-node-core +[npm-img]: https://badge.fury.io/js/%40opentelemetry%2Fplugins-node-core.svg + +[otel-plugin-grpc]: https://github.com/open-telemetry/opentelemetry-js/tree/master/packages/opentelemetry-plugin-grpc +[otel-plugin-http]: https://github.com/open-telemetry/opentelemetry-js/tree/master/packages/opentelemetry-plugin-http +[otel-plugin-https]: https://github.com/open-telemetry/opentelemetry-js/tree/master/packages/opentelemetry-plugin-https diff --git a/metapackages/plugins-node-core/package.json b/metapackages/plugins-node-core/package.json new file mode 100644 index 0000000000..bd0981ccde --- /dev/null +++ b/metapackages/plugins-node-core/package.json @@ -0,0 +1,20 @@ +{ + "name": "@opentelemetry/plugins-node-core", + "version": "0.8.0", + "description": "Metapackage which bundles all opentelemetry node core plugins", + "author": "OpenTelemetry Authors", + "homepage": "https://github.com/open-telemetry/opentelemetry-js#readme", + "license": "Apache-2.0", + "repository": { + "type": "git", + "url": "git+https://github.com/open-telemetry/opentelemetry-js.git" + }, + "bugs": { + "url": "https://github.com/open-telemetry/opentelemetry-js/issues" + }, + "dependencies": { + "@opentelemetry/plugin-grpc": "^0.8.0", + "@opentelemetry/plugin-http": "^0.8.0", + "@opentelemetry/plugin-https": "^0.8.0" + } +} diff --git a/metapackages/plugins-web-core/README.md b/metapackages/plugins-web-core/README.md new file mode 100644 index 0000000000..97e9f39250 --- /dev/null +++ b/metapackages/plugins-web-core/README.md @@ -0,0 +1,31 @@ +# OpenTelemetry Plugins Web Core +[![Gitter chat][gitter-image]][gitter-url] +[![NPM Published Version][npm-img]][npm-url] +[![dependencies][dependencies-image]][dependencies-url] +[![Apache License][license-image]][license-image] + +This package depends on all core web plugins maintained by OpenTelemetry authors. Installing it installs all core plugins + +## Plugins + +- [@opentelemetry/plugin-xml-http-request][otel-plugin-xml-http-request] + +## Useful links +- For more information on OpenTelemetry, visit: +- For more about OpenTelemetry JavaScript: +- For help or feedback on this project, join us on [gitter][gitter-url] + +## License + +Apache 2.0 - See [LICENSE][license-url] for more information. + +[gitter-image]: https://badges.gitter.im/open-telemetry/opentelemetry-js.svg +[gitter-url]: https://gitter.im/open-telemetry/opentelemetry-node?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge +[license-url]: https://github.com/open-telemetry/opentelemetry-js/blob/master/LICENSE +[license-image]: https://img.shields.io/badge/license-Apache_2.0-green.svg?style=flat +[dependencies-image]: https://david-dm.org/open-telemetry/opentelemetry-js/status.svg?path=metapackages/plugins-web-core +[dependencies-url]: https://david-dm.org/open-telemetry/opentelemetry-js?path=packages%2Fopentelemetryplugins-web-core +[npm-url]: https://www.npmjs.com/package/@opentelemetry/plugins-web-core +[npm-img]: https://badge.fury.io/js/%40opentelemetry%2Fplugins-web-core.svg + +[otel-plugin-xml-http-request]: https://github.com/open-telemetry/opentelemetry-js/tree/master/packages/opentelemetry-plugin-xml-http-request \ No newline at end of file diff --git a/metapackages/plugins-web-core/package.json b/metapackages/plugins-web-core/package.json new file mode 100644 index 0000000000..7d96b51e74 --- /dev/null +++ b/metapackages/plugins-web-core/package.json @@ -0,0 +1,18 @@ +{ + "name": "@opentelemetry/plugins-web-core", + "version": "0.8.0", + "description": "Metapackage which bundles all opentelemetry web core plugins", + "author": "OpenTelemetry Authors", + "homepage": "https://github.com/open-telemetry/opentelemetry-js#readme", + "license": "Apache-2.0", + "repository": { + "type": "git", + "url": "git+https://github.com/open-telemetry/opentelemetry-js.git" + }, + "bugs": { + "url": "https://github.com/open-telemetry/opentelemetry-js/issues" + }, + "dependencies": { + "@opentelemetry/plugin-xml-http-request": "^0.8.0" + } +} From d808ea72e37c7659063444dae19a557e4f1f7307 Mon Sep 17 00:00:00 2001 From: Daniel Dyla Date: Mon, 18 May 2020 15:24:09 -0400 Subject: [PATCH 17/33] chore: 0.8.1 release proposal (#1054) --- CHANGELOG.md | 40 +++++++++++++++++++ examples/basic-tracer-node/package.json | 8 ++-- examples/collector-exporter-node/package.json | 8 ++-- examples/grpc/package.json | 14 +++---- examples/http/package.json | 14 +++---- examples/https/package.json | 14 +++---- examples/metrics/package.json | 6 +-- examples/opentracing-shim/package.json | 12 +++--- examples/prometheus/package.json | 6 +-- examples/tracer-web/package.json | 14 +++---- .../monitored-example/package.json | 2 +- getting-started/traced-example/package.json | 10 ++--- getting-started/ts-example/package.json | 16 ++++---- lerna.json | 2 +- metapackages/plugins-node-core/package.json | 8 ++-- metapackages/plugins-web-core/package.json | 4 +- package.json | 2 +- packages/opentelemetry-api/package.json | 4 +- packages/opentelemetry-api/src/version.ts | 2 +- .../package.json | 4 +- .../src/version.ts | 2 +- .../opentelemetry-context-base/package.json | 2 +- .../opentelemetry-context-base/src/version.ts | 2 +- .../package.json | 4 +- .../src/version.ts | 2 +- .../opentelemetry-context-zone/package.json | 4 +- .../opentelemetry-context-zone/src/version.ts | 2 +- packages/opentelemetry-core/package.json | 6 +-- packages/opentelemetry-core/src/version.ts | 2 +- .../package.json | 10 ++--- .../src/version.ts | 2 +- .../package.json | 10 ++--- .../src/version.ts | 2 +- .../package.json | 8 ++-- .../src/version.ts | 2 +- .../package.json | 10 ++--- .../src/version.ts | 2 +- packages/opentelemetry-metrics/package.json | 8 ++-- packages/opentelemetry-metrics/src/version.ts | 2 +- packages/opentelemetry-node/package.json | 14 +++---- packages/opentelemetry-node/src/version.ts | 2 +- .../opentelemetry-plugin-grpc/package.json | 14 +++---- .../opentelemetry-plugin-grpc/src/version.ts | 2 +- .../opentelemetry-plugin-http/package.json | 14 +++---- .../opentelemetry-plugin-http/src/version.ts | 2 +- .../opentelemetry-plugin-https/package.json | 16 ++++---- .../opentelemetry-plugin-https/src/version.ts | 2 +- .../package.json | 12 +++--- .../src/version.ts | 2 +- packages/opentelemetry-resources/package.json | 6 +-- .../opentelemetry-resources/src/version.ts | 2 +- .../package.json | 8 ++-- .../src/version.ts | 2 +- .../opentelemetry-test-utils/package.json | 8 ++-- packages/opentelemetry-tracing/package.json | 10 ++--- packages/opentelemetry-tracing/src/version.ts | 2 +- packages/opentelemetry-web/package.json | 14 +++---- packages/opentelemetry-web/src/version.ts | 2 +- 58 files changed, 223 insertions(+), 183 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cbbdb77e02..114437f132 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,46 @@ All notable changes to this project will be documented in this file. ## Unreleased +## 0.8.1 + +#### :rocket: (Enhancement) +* Other + * [#1050](https://github.com/open-telemetry/opentelemetry-js/pull/1050) feat: add plugin metapackages ([@dyladan](https://github.com/dyladan)) +* `opentelemetry-resources` + * [#1055](https://github.com/open-telemetry/opentelemetry-js/pull/1055) chore(opentelemetry-resources): add instance type and az to aws detector ([@justinwalz](https://github.com/justinwalz)) +* `opentelemetry-plugin-http` + * [#963](https://github.com/open-telemetry/opentelemetry-js/pull/963) feat(plugin-http): add plugin hooks before processing req and res ([@BlumAmir](https://github.com/BlumAmir)) +* `opentelemetry-metrics` + * [#1049](https://github.com/open-telemetry/opentelemetry-js/pull/1049) chore: pipe resource through to MetricRecord ([@mwear](https://github.com/mwear)) +* `opentelemetry-api`, `opentelemetry-metrics` + * [#1032](https://github.com/open-telemetry/opentelemetry-js/pull/1032) Make Labels Optional for CounterMetric::add ([@astorm](https://github.com/astorm)) + + +#### :bug: (Bug Fix) +* `opentelemetry-plugin-http` + * [#1060](https://github.com/open-telemetry/opentelemetry-js/pull/1060) fix(http-plugin): don't modify user's headers object in plugin ([@BlumAmir](https://github.com/BlumAmir)) +* `opentelemetry-exporter-collector` + * [#1053](https://github.com/open-telemetry/opentelemetry-js/pull/1053) fix: include proto files in deployment package ([@dyladan](https://github.com/dyladan)) + +#### :books: (Refine Doc) +* Other + * [#1065](https://github.com/open-telemetry/opentelemetry-js/pull/1065) style: format README ([@naseemkullah](https://github.com/naseemkullah)) + * [#1064](https://github.com/open-telemetry/opentelemetry-js/pull/1064) chore: update README ([@mayurkale22](https://github.com/mayurkale22)) + * [#1051](https://github.com/open-telemetry/opentelemetry-js/pull/1051) chore: deploy docs using github action ([@dyladan](https://github.com/dyladan)) +* `opentelemetry-exporter-prometheus` + * [#1056](https://github.com/open-telemetry/opentelemetry-js/pull/1056) fix readme: setting labelKeys when creating the counter ([@luebken](https://github.com/luebken)) + +#### Committers: 9 +- Alan Storm ([@astorm](https://github.com/astorm)) +- Amir Blum ([@BlumAmir](https://github.com/BlumAmir)) +- Daniel Dyla ([@dyladan](https://github.com/dyladan)) +- Justin Walz ([@justinwalz](https://github.com/justinwalz)) +- Matthew Wear ([@mwear](https://github.com/mwear)) +- Matthias Lübken ([@luebken](https://github.com/luebken)) +- Mayur Kale ([@mayurkale22](https://github.com/mayurkale22)) +- Naseem ([@naseemkullah](https://github.com/naseemkullah)) +- [@shivkanya9146](https://github.com/shivkanya9146) + ## 0.8.0 Released 2020-05-12 diff --git a/examples/basic-tracer-node/package.json b/examples/basic-tracer-node/package.json index 7baa5db975..41a48b0358 100644 --- a/examples/basic-tracer-node/package.json +++ b/examples/basic-tracer-node/package.json @@ -1,7 +1,7 @@ { "name": "example-basic-tracer-node", "private": true, - "version": "0.8.0", + "version": "0.8.1", "description": "Example of using @opentelemetry/tracing in Node.js", "main": "index.js", "scripts": { @@ -24,9 +24,9 @@ "url": "https://github.com/open-telemetry/opentelemetry-js/issues" }, "dependencies": { - "@opentelemetry/api": "^0.8.0", - "@opentelemetry/exporter-jaeger": "^0.8.0", - "@opentelemetry/tracing": "^0.8.0" + "@opentelemetry/api": "^0.8.1", + "@opentelemetry/exporter-jaeger": "^0.8.1", + "@opentelemetry/tracing": "^0.8.1" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js#readme" } diff --git a/examples/collector-exporter-node/package.json b/examples/collector-exporter-node/package.json index 03a3a25b1a..59e5051f05 100644 --- a/examples/collector-exporter-node/package.json +++ b/examples/collector-exporter-node/package.json @@ -1,7 +1,7 @@ { "name": "example-collector-exporter-node", "private": true, - "version": "0.8.0", + "version": "0.8.1", "description": "Example of using @opentelemetry/collector-exporter in Node.js", "main": "index.js", "scripts": { @@ -26,9 +26,9 @@ "url": "https://github.com/open-telemetry/opentelemetry-js/issues" }, "dependencies": { - "@opentelemetry/api": "^0.8.0", - "@opentelemetry/exporter-collector": "^0.8.0", - "@opentelemetry/tracing": "^0.8.0" + "@opentelemetry/api": "^0.8.1", + "@opentelemetry/exporter-collector": "^0.8.1", + "@opentelemetry/tracing": "^0.8.1" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js#readme" } diff --git a/examples/grpc/package.json b/examples/grpc/package.json index a31c226443..e7cf1559ca 100644 --- a/examples/grpc/package.json +++ b/examples/grpc/package.json @@ -1,7 +1,7 @@ { "name": "grpc-example", "private": true, - "version": "0.8.0", + "version": "0.8.1", "description": "Example of gRPC integration with OpenTelemetry", "main": "index.js", "scripts": { @@ -28,12 +28,12 @@ "url": "https://github.com/open-telemetry/opentelemetry-js/issues" }, "dependencies": { - "@opentelemetry/api": "^0.8.0", - "@opentelemetry/exporter-jaeger": "^0.8.0", - "@opentelemetry/exporter-zipkin": "^0.8.0", - "@opentelemetry/node": "^0.8.0", - "@opentelemetry/plugin-grpc": "^0.8.0", - "@opentelemetry/tracing": "^0.8.0", + "@opentelemetry/api": "^0.8.1", + "@opentelemetry/exporter-jaeger": "^0.8.1", + "@opentelemetry/exporter-zipkin": "^0.8.1", + "@opentelemetry/node": "^0.8.1", + "@opentelemetry/plugin-grpc": "^0.8.1", + "@opentelemetry/tracing": "^0.8.1", "google-protobuf": "^3.9.2", "grpc": "^1.23.3", "node-pre-gyp": "0.12.0" diff --git a/examples/http/package.json b/examples/http/package.json index 7cb5a78bcc..899b991476 100644 --- a/examples/http/package.json +++ b/examples/http/package.json @@ -1,7 +1,7 @@ { "name": "http-example", "private": true, - "version": "0.8.0", + "version": "0.8.1", "description": "Example of HTTP integration with OpenTelemetry", "main": "index.js", "scripts": { @@ -28,12 +28,12 @@ "url": "https://github.com/open-telemetry/opentelemetry-js/issues" }, "dependencies": { - "@opentelemetry/api": "^0.8.0", - "@opentelemetry/exporter-jaeger": "^0.8.0", - "@opentelemetry/exporter-zipkin": "^0.8.0", - "@opentelemetry/node": "^0.8.0", - "@opentelemetry/plugin-http": "^0.8.0", - "@opentelemetry/tracing": "^0.8.0" + "@opentelemetry/api": "^0.8.1", + "@opentelemetry/exporter-jaeger": "^0.8.1", + "@opentelemetry/exporter-zipkin": "^0.8.1", + "@opentelemetry/node": "^0.8.1", + "@opentelemetry/plugin-http": "^0.8.1", + "@opentelemetry/tracing": "^0.8.1" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js#readme", "devDependencies": { diff --git a/examples/https/package.json b/examples/https/package.json index 43c26c7311..33f0189ad6 100644 --- a/examples/https/package.json +++ b/examples/https/package.json @@ -1,7 +1,7 @@ { "name": "https-example", "private": true, - "version": "0.8.0", + "version": "0.8.1", "description": "Example of HTTPs integration with OpenTelemetry", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -29,12 +29,12 @@ "url": "https://github.com/open-telemetry/opentelemetry-js/issues" }, "dependencies": { - "@opentelemetry/api": "^0.8.0", - "@opentelemetry/exporter-jaeger": "^0.8.0", - "@opentelemetry/exporter-zipkin": "^0.8.0", - "@opentelemetry/node": "^0.8.0", - "@opentelemetry/plugin-https": "^0.8.0", - "@opentelemetry/tracing": "^0.8.0" + "@opentelemetry/api": "^0.8.1", + "@opentelemetry/exporter-jaeger": "^0.8.1", + "@opentelemetry/exporter-zipkin": "^0.8.1", + "@opentelemetry/node": "^0.8.1", + "@opentelemetry/plugin-https": "^0.8.1", + "@opentelemetry/tracing": "^0.8.1" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js#readme", "devDependencies": { diff --git a/examples/metrics/package.json b/examples/metrics/package.json index 266fd69b28..322e50e7ac 100644 --- a/examples/metrics/package.json +++ b/examples/metrics/package.json @@ -1,7 +1,7 @@ { "name": "example-metrics", "private": true, - "version": "0.8.0", + "version": "0.8.1", "description": "Example of using @opentelemetry/metrics", "main": "index.js", "scripts": { @@ -26,8 +26,8 @@ "url": "https://github.com/open-telemetry/opentelemetry-js/issues" }, "dependencies": { - "@opentelemetry/exporter-prometheus": "^0.8.0", - "@opentelemetry/metrics": "^0.8.0" + "@opentelemetry/exporter-prometheus": "^0.8.1", + "@opentelemetry/metrics": "^0.8.1" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js#readme" } diff --git a/examples/opentracing-shim/package.json b/examples/opentracing-shim/package.json index 0b557100bb..ff53c63ac5 100644 --- a/examples/opentracing-shim/package.json +++ b/examples/opentracing-shim/package.json @@ -1,7 +1,7 @@ { "name": "opentracing-shim", "private": true, - "version": "0.8.0", + "version": "0.8.1", "description": "Example of using @opentelemetry/shim-opentracing in Node.js", "main": "index.js", "scripts": { @@ -29,11 +29,11 @@ "url": "https://github.com/open-telemetry/opentelemetry-js/issues" }, "dependencies": { - "@opentelemetry/exporter-jaeger": "^0.8.0", - "@opentelemetry/exporter-zipkin": "^0.8.0", - "@opentelemetry/node": "^0.8.0", - "@opentelemetry/shim-opentracing": "^0.8.0", - "@opentelemetry/tracing": "^0.8.0", + "@opentelemetry/exporter-jaeger": "^0.8.1", + "@opentelemetry/exporter-zipkin": "^0.8.1", + "@opentelemetry/node": "^0.8.1", + "@opentelemetry/shim-opentracing": "^0.8.1", + "@opentelemetry/tracing": "^0.8.1", "opentracing": "^0.14.4" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js#readme", diff --git a/examples/prometheus/package.json b/examples/prometheus/package.json index 5ff555db83..5b25e85915 100644 --- a/examples/prometheus/package.json +++ b/examples/prometheus/package.json @@ -1,6 +1,6 @@ { "name": "prometheus-example", - "version": "0.8.0", + "version": "0.8.1", "description": "Example of using @opentelemetry/metrics and @opentelemetry/exporter-prometheus", "main": "index.js", "scripts": { @@ -9,7 +9,7 @@ "author": "OpenTelemetry Authors", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/exporter-prometheus": "^0.8.0", - "@opentelemetry/metrics": "^0.8.0" + "@opentelemetry/exporter-prometheus": "^0.8.1", + "@opentelemetry/metrics": "^0.8.1" } } diff --git a/examples/tracer-web/package.json b/examples/tracer-web/package.json index baaf835beb..198f4d953a 100644 --- a/examples/tracer-web/package.json +++ b/examples/tracer-web/package.json @@ -1,7 +1,7 @@ { "name": "web-tracer-example", "private": true, - "version": "0.8.0", + "version": "0.8.1", "description": "Example of using @opentelemetry/web in browser", "main": "index.js", "scripts": { @@ -34,14 +34,14 @@ "webpack-merge": "^4.2.2" }, "dependencies": { - "@opentelemetry/context-zone": "^0.8.0", - "@opentelemetry/core": "^0.8.0", - "@opentelemetry/exporter-collector": "^0.8.0", + "@opentelemetry/context-zone": "^0.8.1", + "@opentelemetry/core": "^0.8.1", + "@opentelemetry/exporter-collector": "^0.8.1", "@opentelemetry/plugin-document-load": "^0.6.1", "@opentelemetry/plugin-user-interaction": "^0.6.1", - "@opentelemetry/plugin-xml-http-request": "^0.8.0", - "@opentelemetry/tracing": "^0.8.0", - "@opentelemetry/web": "^0.8.0" + "@opentelemetry/plugin-xml-http-request": "^0.8.1", + "@opentelemetry/tracing": "^0.8.1", + "@opentelemetry/web": "^0.8.1" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js#readme" } diff --git a/getting-started/monitored-example/package.json b/getting-started/monitored-example/package.json index ddcc376f53..36b33e49f5 100644 --- a/getting-started/monitored-example/package.json +++ b/getting-started/monitored-example/package.json @@ -9,7 +9,7 @@ "author": "OpenTelemetry Authors", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/metrics": "^0.8.0", + "@opentelemetry/metrics": "^0.8.1", "axios": "^0.19.0", "express": "^4.17.1" } diff --git a/getting-started/traced-example/package.json b/getting-started/traced-example/package.json index 8da9e2d896..cb57d34ee0 100644 --- a/getting-started/traced-example/package.json +++ b/getting-started/traced-example/package.json @@ -9,11 +9,11 @@ "author": "OpenTelemetry Authors", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "^0.8.0", - "@opentelemetry/exporter-zipkin": "^0.8.0", - "@opentelemetry/node": "^0.8.0", - "@opentelemetry/plugin-http": "^0.8.0", - "@opentelemetry/tracing": "^0.8.0", + "@opentelemetry/core": "^0.8.1", + "@opentelemetry/exporter-zipkin": "^0.8.1", + "@opentelemetry/node": "^0.8.1", + "@opentelemetry/plugin-http": "^0.8.1", + "@opentelemetry/tracing": "^0.8.1", "axios": "^0.19.0", "express": "^4.17.1" } diff --git a/getting-started/ts-example/package.json b/getting-started/ts-example/package.json index 4c600c488f..fe8a24746a 100644 --- a/getting-started/ts-example/package.json +++ b/getting-started/ts-example/package.json @@ -13,14 +13,14 @@ "ts-node": "^8.6.2" }, "dependencies": { - "@opentelemetry/api": "^0.8.0", - "@opentelemetry/core": "^0.8.0", - "@opentelemetry/exporter-prometheus": "^0.8.0", - "@opentelemetry/exporter-zipkin": "^0.8.0", - "@opentelemetry/metrics": "^0.8.0", - "@opentelemetry/node": "^0.8.0", - "@opentelemetry/plugin-http": "^0.8.0", - "@opentelemetry/tracing": "^0.8.0", + "@opentelemetry/api": "^0.8.1", + "@opentelemetry/core": "^0.8.1", + "@opentelemetry/exporter-prometheus": "^0.8.1", + "@opentelemetry/exporter-zipkin": "^0.8.1", + "@opentelemetry/metrics": "^0.8.1", + "@opentelemetry/node": "^0.8.1", + "@opentelemetry/plugin-http": "^0.8.1", + "@opentelemetry/tracing": "^0.8.1", "axios": "^0.19.1", "express": "^4.17.1" } diff --git a/lerna.json b/lerna.json index 7d6237e74a..dc5cc82334 100644 --- a/lerna.json +++ b/lerna.json @@ -6,7 +6,7 @@ "metapackages/*", "packages/*" ], - "version": "0.8.0", + "version": "0.8.1", "changelog": { "repo": "open-telemetry/opentelemetry-js", "labels": { diff --git a/metapackages/plugins-node-core/package.json b/metapackages/plugins-node-core/package.json index bd0981ccde..8ffe08c5c8 100644 --- a/metapackages/plugins-node-core/package.json +++ b/metapackages/plugins-node-core/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/plugins-node-core", - "version": "0.8.0", + "version": "0.8.1", "description": "Metapackage which bundles all opentelemetry node core plugins", "author": "OpenTelemetry Authors", "homepage": "https://github.com/open-telemetry/opentelemetry-js#readme", @@ -13,8 +13,8 @@ "url": "https://github.com/open-telemetry/opentelemetry-js/issues" }, "dependencies": { - "@opentelemetry/plugin-grpc": "^0.8.0", - "@opentelemetry/plugin-http": "^0.8.0", - "@opentelemetry/plugin-https": "^0.8.0" + "@opentelemetry/plugin-grpc": "^0.8.1", + "@opentelemetry/plugin-http": "^0.8.1", + "@opentelemetry/plugin-https": "^0.8.1" } } diff --git a/metapackages/plugins-web-core/package.json b/metapackages/plugins-web-core/package.json index 7d96b51e74..f1f8734e73 100644 --- a/metapackages/plugins-web-core/package.json +++ b/metapackages/plugins-web-core/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/plugins-web-core", - "version": "0.8.0", + "version": "0.8.1", "description": "Metapackage which bundles all opentelemetry web core plugins", "author": "OpenTelemetry Authors", "homepage": "https://github.com/open-telemetry/opentelemetry-js#readme", @@ -13,6 +13,6 @@ "url": "https://github.com/open-telemetry/opentelemetry-js/issues" }, "dependencies": { - "@opentelemetry/plugin-xml-http-request": "^0.8.0" + "@opentelemetry/plugin-xml-http-request": "^0.8.1" } } diff --git a/package.json b/package.json index 43c0c45ddd..9d801343c5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "opentelemetry-base", - "version": "0.8.0", + "version": "0.8.1", "description": "OpenTelemetry is a distributed tracing and stats collection framework.", "main": "build/src/index.js", "types": "build/src/index.d.ts", diff --git a/packages/opentelemetry-api/package.json b/packages/opentelemetry-api/package.json index ed050d7bd5..89b6b46ad6 100644 --- a/packages/opentelemetry-api/package.json +++ b/packages/opentelemetry-api/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/api", - "version": "0.8.0", + "version": "0.8.1", "description": "Public API for OpenTelemetry", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -47,7 +47,7 @@ "access": "public" }, "dependencies": { - "@opentelemetry/context-base": "^0.8.0" + "@opentelemetry/context-base": "^0.8.1" }, "devDependencies": { "@types/mocha": "^7.0.0", diff --git a/packages/opentelemetry-api/src/version.ts b/packages/opentelemetry-api/src/version.ts index f30ba9baca..fcfa16a915 100644 --- a/packages/opentelemetry-api/src/version.ts +++ b/packages/opentelemetry-api/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.8.0'; +export const VERSION = '0.8.1'; diff --git a/packages/opentelemetry-context-async-hooks/package.json b/packages/opentelemetry-context-async-hooks/package.json index 673bb39f7f..af89ec54d4 100644 --- a/packages/opentelemetry-context-async-hooks/package.json +++ b/packages/opentelemetry-context-async-hooks/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/context-async-hooks", - "version": "0.8.0", + "version": "0.8.1", "description": "OpenTelemetry AsyncHooks-based Context Manager", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -56,6 +56,6 @@ "typescript": "3.7.2" }, "dependencies": { - "@opentelemetry/context-base": "^0.8.0" + "@opentelemetry/context-base": "^0.8.1" } } diff --git a/packages/opentelemetry-context-async-hooks/src/version.ts b/packages/opentelemetry-context-async-hooks/src/version.ts index f30ba9baca..fcfa16a915 100644 --- a/packages/opentelemetry-context-async-hooks/src/version.ts +++ b/packages/opentelemetry-context-async-hooks/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.8.0'; +export const VERSION = '0.8.1'; diff --git a/packages/opentelemetry-context-base/package.json b/packages/opentelemetry-context-base/package.json index d02a3a7dd7..276f5ff338 100644 --- a/packages/opentelemetry-context-base/package.json +++ b/packages/opentelemetry-context-base/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/context-base", - "version": "0.8.0", + "version": "0.8.1", "description": "OpenTelemetry Base Context Manager", "main": "build/src/index.js", "types": "build/src/index.d.ts", diff --git a/packages/opentelemetry-context-base/src/version.ts b/packages/opentelemetry-context-base/src/version.ts index f30ba9baca..fcfa16a915 100644 --- a/packages/opentelemetry-context-base/src/version.ts +++ b/packages/opentelemetry-context-base/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.8.0'; +export const VERSION = '0.8.1'; diff --git a/packages/opentelemetry-context-zone-peer-dep/package.json b/packages/opentelemetry-context-zone-peer-dep/package.json index 08e885fcff..7fd60fba5d 100644 --- a/packages/opentelemetry-context-zone-peer-dep/package.json +++ b/packages/opentelemetry-context-zone-peer-dep/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/context-zone-peer-dep", - "version": "0.8.0", + "version": "0.8.1", "description": "OpenTelemetry Context Zone with peer dependency for zone.js", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -72,7 +72,7 @@ "zone.js": "^0.10.2" }, "dependencies": { - "@opentelemetry/context-base": "^0.8.0" + "@opentelemetry/context-base": "^0.8.1" }, "peerDependencies": { "zone.js": "^0.10.2" diff --git a/packages/opentelemetry-context-zone-peer-dep/src/version.ts b/packages/opentelemetry-context-zone-peer-dep/src/version.ts index f30ba9baca..fcfa16a915 100644 --- a/packages/opentelemetry-context-zone-peer-dep/src/version.ts +++ b/packages/opentelemetry-context-zone-peer-dep/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.8.0'; +export const VERSION = '0.8.1'; diff --git a/packages/opentelemetry-context-zone/package.json b/packages/opentelemetry-context-zone/package.json index b3c5fb2ab7..ecfbb41ef7 100644 --- a/packages/opentelemetry-context-zone/package.json +++ b/packages/opentelemetry-context-zone/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/context-zone", - "version": "0.8.0", + "version": "0.8.1", "description": "OpenTelemetry Context Zone", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -66,7 +66,7 @@ "webpack-merge": "^4.2.2" }, "dependencies": { - "@opentelemetry/context-zone-peer-dep": "^0.8.0", + "@opentelemetry/context-zone-peer-dep": "^0.8.1", "zone.js": "^0.10.2" }, "sideEffects": true diff --git a/packages/opentelemetry-context-zone/src/version.ts b/packages/opentelemetry-context-zone/src/version.ts index f30ba9baca..fcfa16a915 100644 --- a/packages/opentelemetry-context-zone/src/version.ts +++ b/packages/opentelemetry-context-zone/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.8.0'; +export const VERSION = '0.8.1'; diff --git a/packages/opentelemetry-core/package.json b/packages/opentelemetry-core/package.json index 71f6aef5ef..e6e3418db5 100644 --- a/packages/opentelemetry-core/package.json +++ b/packages/opentelemetry-core/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/core", - "version": "0.8.0", + "version": "0.8.1", "description": "OpenTelemetry Core provides default and no-op implementations of the OpenTelemetry types for trace and metrics", "main": "build/src/index.js", "browser": { @@ -78,8 +78,8 @@ "webpack": "^4.35.2" }, "dependencies": { - "@opentelemetry/api": "^0.8.0", - "@opentelemetry/context-base": "^0.8.0", + "@opentelemetry/api": "^0.8.1", + "@opentelemetry/context-base": "^0.8.1", "semver": "^7.1.3" } } diff --git a/packages/opentelemetry-core/src/version.ts b/packages/opentelemetry-core/src/version.ts index f30ba9baca..fcfa16a915 100644 --- a/packages/opentelemetry-core/src/version.ts +++ b/packages/opentelemetry-core/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.8.0'; +export const VERSION = '0.8.1'; diff --git a/packages/opentelemetry-exporter-collector/package.json b/packages/opentelemetry-exporter-collector/package.json index 95c5003124..25adab6274 100644 --- a/packages/opentelemetry-exporter-collector/package.json +++ b/packages/opentelemetry-exporter-collector/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/exporter-collector", - "version": "0.8.0", + "version": "0.8.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", @@ -85,10 +85,10 @@ }, "dependencies": { "@grpc/proto-loader": "^0.5.3", - "@opentelemetry/api": "^0.8.0", - "@opentelemetry/core": "^0.8.0", - "@opentelemetry/resources": "^0.8.0", - "@opentelemetry/tracing": "^0.8.0", + "@opentelemetry/api": "^0.8.1", + "@opentelemetry/core": "^0.8.1", + "@opentelemetry/resources": "^0.8.1", + "@opentelemetry/tracing": "^0.8.1", "google-protobuf": "^3.11.4", "grpc": "^1.24.2" } diff --git a/packages/opentelemetry-exporter-collector/src/version.ts b/packages/opentelemetry-exporter-collector/src/version.ts index f30ba9baca..fcfa16a915 100644 --- a/packages/opentelemetry-exporter-collector/src/version.ts +++ b/packages/opentelemetry-exporter-collector/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.8.0'; +export const VERSION = '0.8.1'; diff --git a/packages/opentelemetry-exporter-jaeger/package.json b/packages/opentelemetry-exporter-jaeger/package.json index 12c3ca1f27..3629807c00 100644 --- a/packages/opentelemetry-exporter-jaeger/package.json +++ b/packages/opentelemetry-exporter-jaeger/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/exporter-jaeger", - "version": "0.8.0", + "version": "0.8.1", "description": "OpenTelemetry Exporter Jaeger allows user to send collected traces to Jaeger", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -41,7 +41,7 @@ "access": "public" }, "devDependencies": { - "@opentelemetry/resources": "^0.8.0", + "@opentelemetry/resources": "^0.8.1", "@types/mocha": "^7.0.0", "@types/node": "^12.6.9", "codecov": "^3.6.1", @@ -56,9 +56,9 @@ "typescript": "3.7.2" }, "dependencies": { - "@opentelemetry/api": "^0.8.0", - "@opentelemetry/core": "^0.8.0", - "@opentelemetry/tracing": "^0.8.0", + "@opentelemetry/api": "^0.8.1", + "@opentelemetry/core": "^0.8.1", + "@opentelemetry/tracing": "^0.8.1", "jaeger-client": "^3.15.0" } } diff --git a/packages/opentelemetry-exporter-jaeger/src/version.ts b/packages/opentelemetry-exporter-jaeger/src/version.ts index f30ba9baca..fcfa16a915 100644 --- a/packages/opentelemetry-exporter-jaeger/src/version.ts +++ b/packages/opentelemetry-exporter-jaeger/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.8.0'; +export const VERSION = '0.8.1'; diff --git a/packages/opentelemetry-exporter-prometheus/package.json b/packages/opentelemetry-exporter-prometheus/package.json index 64c953d526..228ada918f 100644 --- a/packages/opentelemetry-exporter-prometheus/package.json +++ b/packages/opentelemetry-exporter-prometheus/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/exporter-prometheus", - "version": "0.8.0", + "version": "0.8.1", "description": "OpenTelemetry Exporter Prometheus provides a metrics endpoint for Prometheus", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -54,9 +54,9 @@ "typescript": "3.7.2" }, "dependencies": { - "@opentelemetry/api": "^0.8.0", - "@opentelemetry/core": "^0.8.0", - "@opentelemetry/metrics": "^0.8.0", + "@opentelemetry/api": "^0.8.1", + "@opentelemetry/core": "^0.8.1", + "@opentelemetry/metrics": "^0.8.1", "prom-client": "^11.5.3" } } diff --git a/packages/opentelemetry-exporter-prometheus/src/version.ts b/packages/opentelemetry-exporter-prometheus/src/version.ts index f30ba9baca..fcfa16a915 100644 --- a/packages/opentelemetry-exporter-prometheus/src/version.ts +++ b/packages/opentelemetry-exporter-prometheus/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.8.0'; +export const VERSION = '0.8.1'; diff --git a/packages/opentelemetry-exporter-zipkin/package.json b/packages/opentelemetry-exporter-zipkin/package.json index d9e8eaea70..a9be5e41b4 100644 --- a/packages/opentelemetry-exporter-zipkin/package.json +++ b/packages/opentelemetry-exporter-zipkin/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/exporter-zipkin", - "version": "0.8.0", + "version": "0.8.1", "description": "OpenTelemetry Zipkin Exporter allows the user to send collected traces to Zipkin.", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -54,9 +54,9 @@ "typescript": "3.7.2" }, "dependencies": { - "@opentelemetry/api": "^0.8.0", - "@opentelemetry/core": "^0.8.0", - "@opentelemetry/resources": "^0.8.0", - "@opentelemetry/tracing": "^0.8.0" + "@opentelemetry/api": "^0.8.1", + "@opentelemetry/core": "^0.8.1", + "@opentelemetry/resources": "^0.8.1", + "@opentelemetry/tracing": "^0.8.1" } } diff --git a/packages/opentelemetry-exporter-zipkin/src/version.ts b/packages/opentelemetry-exporter-zipkin/src/version.ts index f30ba9baca..fcfa16a915 100644 --- a/packages/opentelemetry-exporter-zipkin/src/version.ts +++ b/packages/opentelemetry-exporter-zipkin/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.8.0'; +export const VERSION = '0.8.1'; diff --git a/packages/opentelemetry-metrics/package.json b/packages/opentelemetry-metrics/package.json index 266faba938..0233b18379 100644 --- a/packages/opentelemetry-metrics/package.json +++ b/packages/opentelemetry-metrics/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/metrics", - "version": "0.8.0", + "version": "0.8.1", "description": "OpenTelemetry metrics SDK", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -57,8 +57,8 @@ "typescript": "3.7.2" }, "dependencies": { - "@opentelemetry/api": "^0.8.0", - "@opentelemetry/core": "^0.8.0", - "@opentelemetry/resources": "^0.8.0" + "@opentelemetry/api": "^0.8.1", + "@opentelemetry/core": "^0.8.1", + "@opentelemetry/resources": "^0.8.1" } } diff --git a/packages/opentelemetry-metrics/src/version.ts b/packages/opentelemetry-metrics/src/version.ts index f30ba9baca..fcfa16a915 100644 --- a/packages/opentelemetry-metrics/src/version.ts +++ b/packages/opentelemetry-metrics/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.8.0'; +export const VERSION = '0.8.1'; diff --git a/packages/opentelemetry-node/package.json b/packages/opentelemetry-node/package.json index a76b01860e..af7073a531 100644 --- a/packages/opentelemetry-node/package.json +++ b/packages/opentelemetry-node/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/node", - "version": "0.8.0", + "version": "0.8.1", "description": "OpenTelemetry Node SDK provides automatic telemetry (tracing, metrics, etc) for Node.js applications", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -41,8 +41,8 @@ "access": "public" }, "devDependencies": { - "@opentelemetry/context-base": "^0.8.0", - "@opentelemetry/resources": "^0.8.0", + "@opentelemetry/context-base": "^0.8.1", + "@opentelemetry/resources": "^0.8.1", "@types/mocha": "^7.0.0", "@types/node": "^12.6.8", "@types/semver": "^6.0.1", @@ -60,10 +60,10 @@ "typescript": "3.7.2" }, "dependencies": { - "@opentelemetry/api": "^0.8.0", - "@opentelemetry/context-async-hooks": "^0.8.0", - "@opentelemetry/core": "^0.8.0", - "@opentelemetry/tracing": "^0.8.0", + "@opentelemetry/api": "^0.8.1", + "@opentelemetry/context-async-hooks": "^0.8.1", + "@opentelemetry/core": "^0.8.1", + "@opentelemetry/tracing": "^0.8.1", "require-in-the-middle": "^5.0.0", "semver": "^7.1.3" } diff --git a/packages/opentelemetry-node/src/version.ts b/packages/opentelemetry-node/src/version.ts index f30ba9baca..fcfa16a915 100644 --- a/packages/opentelemetry-node/src/version.ts +++ b/packages/opentelemetry-node/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.8.0'; +export const VERSION = '0.8.1'; diff --git a/packages/opentelemetry-plugin-grpc/package.json b/packages/opentelemetry-plugin-grpc/package.json index 56d55c520a..3615d85ce8 100644 --- a/packages/opentelemetry-plugin-grpc/package.json +++ b/packages/opentelemetry-plugin-grpc/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/plugin-grpc", - "version": "0.8.0", + "version": "0.8.1", "description": "OpenTelemetry grpc automatic instrumentation package.", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -41,10 +41,10 @@ "access": "public" }, "devDependencies": { - "@opentelemetry/context-async-hooks": "^0.8.0", - "@opentelemetry/context-base": "^0.8.0", - "@opentelemetry/node": "^0.8.0", - "@opentelemetry/tracing": "^0.8.0", + "@opentelemetry/context-async-hooks": "^0.8.1", + "@opentelemetry/context-base": "^0.8.1", + "@opentelemetry/node": "^0.8.1", + "@opentelemetry/tracing": "^0.8.1", "@types/mocha": "^7.0.0", "@types/node": "^12.6.9", "@types/semver": "^6.2.0", @@ -65,8 +65,8 @@ "typescript": "3.7.2" }, "dependencies": { - "@opentelemetry/api": "^0.8.0", - "@opentelemetry/core": "^0.8.0", + "@opentelemetry/api": "^0.8.1", + "@opentelemetry/core": "^0.8.1", "shimmer": "^1.2.1" } } diff --git a/packages/opentelemetry-plugin-grpc/src/version.ts b/packages/opentelemetry-plugin-grpc/src/version.ts index f30ba9baca..fcfa16a915 100644 --- a/packages/opentelemetry-plugin-grpc/src/version.ts +++ b/packages/opentelemetry-plugin-grpc/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.8.0'; +export const VERSION = '0.8.1'; diff --git a/packages/opentelemetry-plugin-http/package.json b/packages/opentelemetry-plugin-http/package.json index 7d0c6618c1..7f40afcb25 100644 --- a/packages/opentelemetry-plugin-http/package.json +++ b/packages/opentelemetry-plugin-http/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/plugin-http", - "version": "0.8.0", + "version": "0.8.1", "description": "OpenTelemetry http automatic instrumentation package.", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -41,10 +41,10 @@ "access": "public" }, "devDependencies": { - "@opentelemetry/context-async-hooks": "^0.8.0", - "@opentelemetry/context-base": "^0.8.0", - "@opentelemetry/node": "^0.8.0", - "@opentelemetry/tracing": "^0.8.0", + "@opentelemetry/context-async-hooks": "^0.8.1", + "@opentelemetry/context-base": "^0.8.1", + "@opentelemetry/node": "^0.8.1", + "@opentelemetry/tracing": "^0.8.1", "@types/got": "^9.6.7", "@types/mocha": "^7.0.0", "@types/node": "^12.12.9", @@ -72,8 +72,8 @@ "typescript": "3.7.2" }, "dependencies": { - "@opentelemetry/api": "^0.8.0", - "@opentelemetry/core": "^0.8.0", + "@opentelemetry/api": "^0.8.1", + "@opentelemetry/core": "^0.8.1", "semver": "^7.1.3", "shimmer": "^1.2.1" } diff --git a/packages/opentelemetry-plugin-http/src/version.ts b/packages/opentelemetry-plugin-http/src/version.ts index f30ba9baca..fcfa16a915 100644 --- a/packages/opentelemetry-plugin-http/src/version.ts +++ b/packages/opentelemetry-plugin-http/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.8.0'; +export const VERSION = '0.8.1'; diff --git a/packages/opentelemetry-plugin-https/package.json b/packages/opentelemetry-plugin-https/package.json index 838c14155c..4f419d414e 100644 --- a/packages/opentelemetry-plugin-https/package.json +++ b/packages/opentelemetry-plugin-https/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/plugin-https", - "version": "0.8.0", + "version": "0.8.1", "description": "OpenTelemetry https automatic instrumentation package.", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -41,10 +41,10 @@ "access": "public" }, "devDependencies": { - "@opentelemetry/context-async-hooks": "^0.8.0", - "@opentelemetry/context-base": "^0.8.0", - "@opentelemetry/node": "^0.8.0", - "@opentelemetry/tracing": "^0.8.0", + "@opentelemetry/context-async-hooks": "^0.8.1", + "@opentelemetry/context-base": "^0.8.1", + "@opentelemetry/node": "^0.8.1", + "@opentelemetry/tracing": "^0.8.1", "@types/got": "^9.6.7", "@types/mocha": "^7.0.0", "@types/node": "^12.12.9", @@ -72,9 +72,9 @@ "typescript": "3.7.2" }, "dependencies": { - "@opentelemetry/api": "^0.8.0", - "@opentelemetry/core": "^0.8.0", - "@opentelemetry/plugin-http": "^0.8.0", + "@opentelemetry/api": "^0.8.1", + "@opentelemetry/core": "^0.8.1", + "@opentelemetry/plugin-http": "^0.8.1", "semver": "^7.1.3", "shimmer": "^1.2.1" } diff --git a/packages/opentelemetry-plugin-https/src/version.ts b/packages/opentelemetry-plugin-https/src/version.ts index f30ba9baca..fcfa16a915 100644 --- a/packages/opentelemetry-plugin-https/src/version.ts +++ b/packages/opentelemetry-plugin-https/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.8.0'; +export const VERSION = '0.8.1'; diff --git a/packages/opentelemetry-plugin-xml-http-request/package.json b/packages/opentelemetry-plugin-xml-http-request/package.json index d2fe019be1..7e7f69a31d 100644 --- a/packages/opentelemetry-plugin-xml-http-request/package.json +++ b/packages/opentelemetry-plugin-xml-http-request/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/plugin-xml-http-request", - "version": "0.8.0", + "version": "0.8.1", "description": "OpenTelemetry XMLHttpRequest automatic instrumentation package.", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -44,8 +44,8 @@ }, "devDependencies": { "@babel/core": "^7.6.0", - "@opentelemetry/context-zone": "^0.8.0", - "@opentelemetry/tracing": "^0.8.0", + "@opentelemetry/context-zone": "^0.8.1", + "@opentelemetry/tracing": "^0.8.1", "@types/mocha": "^7.0.0", "@types/node": "^12.6.8", "@types/shimmer": "^1.0.1", @@ -76,9 +76,9 @@ "webpack-merge": "^4.2.2" }, "dependencies": { - "@opentelemetry/api": "^0.8.0", - "@opentelemetry/core": "^0.8.0", - "@opentelemetry/web": "^0.8.0", + "@opentelemetry/api": "^0.8.1", + "@opentelemetry/core": "^0.8.1", + "@opentelemetry/web": "^0.8.1", "shimmer": "^1.2.1" } } diff --git a/packages/opentelemetry-plugin-xml-http-request/src/version.ts b/packages/opentelemetry-plugin-xml-http-request/src/version.ts index f30ba9baca..fcfa16a915 100644 --- a/packages/opentelemetry-plugin-xml-http-request/src/version.ts +++ b/packages/opentelemetry-plugin-xml-http-request/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.8.0'; +export const VERSION = '0.8.1'; diff --git a/packages/opentelemetry-resources/package.json b/packages/opentelemetry-resources/package.json index 9afe631cd5..42391b0a28 100644 --- a/packages/opentelemetry-resources/package.json +++ b/packages/opentelemetry-resources/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/resources", - "version": "0.8.0", + "version": "0.8.1", "description": "OpenTelemetry SDK resources", "main": "build/src/index.js", "browser": { @@ -61,8 +61,8 @@ "typescript": "3.7.2" }, "dependencies": { - "@opentelemetry/api": "^0.8.0", - "@opentelemetry/core": "^0.8.0", + "@opentelemetry/api": "^0.8.1", + "@opentelemetry/core": "^0.8.1", "gcp-metadata": "^3.5.0" } } diff --git a/packages/opentelemetry-resources/src/version.ts b/packages/opentelemetry-resources/src/version.ts index f30ba9baca..fcfa16a915 100644 --- a/packages/opentelemetry-resources/src/version.ts +++ b/packages/opentelemetry-resources/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.8.0'; +export const VERSION = '0.8.1'; diff --git a/packages/opentelemetry-shim-opentracing/package.json b/packages/opentelemetry-shim-opentracing/package.json index a727c44c8a..195aba65af 100644 --- a/packages/opentelemetry-shim-opentracing/package.json +++ b/packages/opentelemetry-shim-opentracing/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/shim-opentracing", - "version": "0.8.0", + "version": "0.8.1", "description": "OpenTracing to OpenTelemetry shim", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -39,7 +39,7 @@ "access": "public" }, "devDependencies": { - "@opentelemetry/tracing": "^0.8.0", + "@opentelemetry/tracing": "^0.8.1", "@types/mocha": "^7.0.0", "@types/node": "^12.6.9", "codecov": "^3.6.1", @@ -54,8 +54,8 @@ "typescript": "3.7.2" }, "dependencies": { - "@opentelemetry/api": "^0.8.0", - "@opentelemetry/core": "^0.8.0", + "@opentelemetry/api": "^0.8.1", + "@opentelemetry/core": "^0.8.1", "opentracing": "^0.14.4" } } diff --git a/packages/opentelemetry-shim-opentracing/src/version.ts b/packages/opentelemetry-shim-opentracing/src/version.ts index f30ba9baca..fcfa16a915 100644 --- a/packages/opentelemetry-shim-opentracing/src/version.ts +++ b/packages/opentelemetry-shim-opentracing/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.8.0'; +export const VERSION = '0.8.1'; diff --git a/packages/opentelemetry-test-utils/package.json b/packages/opentelemetry-test-utils/package.json index 770b3ee25f..af64ee68bd 100644 --- a/packages/opentelemetry-test-utils/package.json +++ b/packages/opentelemetry-test-utils/package.json @@ -1,7 +1,7 @@ { "name": "@opentelemetry/test-utils", "private": true, - "version": "0.8.0", + "version": "0.8.1", "description": "Test utilities.", "main": "build/testUtils.js", "scripts": { @@ -23,9 +23,9 @@ }, "homepage": "https://github.com/open-telemetry/opentelemetry-js#readme", "devDependencies": { - "@opentelemetry/api": "^0.8.0", - "@opentelemetry/core": "^0.8.0", - "@opentelemetry/tracing": "^0.8.0", + "@opentelemetry/api": "^0.8.1", + "@opentelemetry/core": "^0.8.1", + "@opentelemetry/tracing": "^0.8.1", "gts": "^1.1.2", "ts-node": "^8.6.2", "tslint-consistent-codestyle": "^1.16.0", diff --git a/packages/opentelemetry-tracing/package.json b/packages/opentelemetry-tracing/package.json index b9f8dd7c39..d58a268b39 100644 --- a/packages/opentelemetry-tracing/package.json +++ b/packages/opentelemetry-tracing/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/tracing", - "version": "0.8.0", + "version": "0.8.1", "description": "OpenTelemetry Tracing", "main": "build/src/index.js", "browser": { @@ -73,9 +73,9 @@ "webpack": "^4.35.2" }, "dependencies": { - "@opentelemetry/api": "^0.8.0", - "@opentelemetry/context-base": "^0.8.0", - "@opentelemetry/core": "^0.8.0", - "@opentelemetry/resources": "^0.8.0" + "@opentelemetry/api": "^0.8.1", + "@opentelemetry/context-base": "^0.8.1", + "@opentelemetry/core": "^0.8.1", + "@opentelemetry/resources": "^0.8.1" } } diff --git a/packages/opentelemetry-tracing/src/version.ts b/packages/opentelemetry-tracing/src/version.ts index f30ba9baca..fcfa16a915 100644 --- a/packages/opentelemetry-tracing/src/version.ts +++ b/packages/opentelemetry-tracing/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.8.0'; +export const VERSION = '0.8.1'; diff --git a/packages/opentelemetry-web/package.json b/packages/opentelemetry-web/package.json index d38bbfbd2b..dabdc09b09 100644 --- a/packages/opentelemetry-web/package.json +++ b/packages/opentelemetry-web/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/web", - "version": "0.8.0", + "version": "0.8.1", "description": "OpenTelemetry Web Tracer", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -43,8 +43,8 @@ }, "devDependencies": { "@babel/core": "^7.6.0", - "@opentelemetry/context-zone": "^0.8.0", - "@opentelemetry/resources": "^0.8.0", + "@opentelemetry/context-zone": "^0.8.1", + "@opentelemetry/resources": "^0.8.1", "@types/jquery": "^3.3.31", "@types/mocha": "^7.0.0", "@types/node": "^12.6.8", @@ -76,9 +76,9 @@ "webpack-merge": "^4.2.2" }, "dependencies": { - "@opentelemetry/api": "^0.8.0", - "@opentelemetry/context-base": "^0.8.0", - "@opentelemetry/core": "^0.8.0", - "@opentelemetry/tracing": "^0.8.0" + "@opentelemetry/api": "^0.8.1", + "@opentelemetry/context-base": "^0.8.1", + "@opentelemetry/core": "^0.8.1", + "@opentelemetry/tracing": "^0.8.1" } } diff --git a/packages/opentelemetry-web/src/version.ts b/packages/opentelemetry-web/src/version.ts index f30ba9baca..fcfa16a915 100644 --- a/packages/opentelemetry-web/src/version.ts +++ b/packages/opentelemetry-web/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.8.0'; +export const VERSION = '0.8.1'; From ad17d9c3ad44cd25a5885132bbdaa3534195efdf Mon Sep 17 00:00:00 2001 From: Daniel Dyla Date: Mon, 18 May 2020 15:52:21 -0400 Subject: [PATCH 18/33] chore: mark metapackages as public (#1072) --- metapackages/plugins-node-core/package.json | 5 ++++- metapackages/plugins-web-core/package.json | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/metapackages/plugins-node-core/package.json b/metapackages/plugins-node-core/package.json index 8ffe08c5c8..05a7b3249d 100644 --- a/metapackages/plugins-node-core/package.json +++ b/metapackages/plugins-node-core/package.json @@ -5,6 +5,9 @@ "author": "OpenTelemetry Authors", "homepage": "https://github.com/open-telemetry/opentelemetry-js#readme", "license": "Apache-2.0", + "publishConfig": { + "access": "public" + }, "repository": { "type": "git", "url": "git+https://github.com/open-telemetry/opentelemetry-js.git" @@ -17,4 +20,4 @@ "@opentelemetry/plugin-http": "^0.8.1", "@opentelemetry/plugin-https": "^0.8.1" } -} +} \ No newline at end of file diff --git a/metapackages/plugins-web-core/package.json b/metapackages/plugins-web-core/package.json index f1f8734e73..df0f875ac5 100644 --- a/metapackages/plugins-web-core/package.json +++ b/metapackages/plugins-web-core/package.json @@ -5,6 +5,9 @@ "author": "OpenTelemetry Authors", "homepage": "https://github.com/open-telemetry/opentelemetry-js#readme", "license": "Apache-2.0", + "publishConfig": { + "access": "public" + }, "repository": { "type": "git", "url": "git+https://github.com/open-telemetry/opentelemetry-js.git" From a26862430044c2fef65005b812c19e41f87448d8 Mon Sep 17 00:00:00 2001 From: Daniel Dyla Date: Mon, 18 May 2020 15:57:47 -0400 Subject: [PATCH 19/33] chore: change personal access token to github token (#1073) --- .github/workflows/docs.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index bbc666ce6d..c7c67816fd 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -9,9 +9,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout 🛎️ - uses: actions/checkout@v2 # If you're using actions/checkout@v2 you must set persist-credentials to false in most cases for the deployment to work correctly. - with: - persist-credentials: false + uses: actions/checkout@v2 - name: Install and Build 🔧 run: | @@ -22,6 +20,6 @@ jobs: - name: Deploy 🚀 uses: JamesIves/github-pages-deploy-action@releases/v3 with: - ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} BRANCH: gh-pages # The branch the action should deploy to. FOLDER: packages/opentelemetry-api/docs/out # The folder the action should deploy. \ No newline at end of file From f978377f2f324fa0b52c4964caf9d8c810821123 Mon Sep 17 00:00:00 2001 From: Ruben Vargas Palma Date: Mon, 18 May 2020 19:29:53 -0500 Subject: [PATCH 20/33] feat: implement W3C Correlation Context propagator (#838) --- .../correlation-context.ts | 45 +++++ .../propagation/HttpCorrelationContext.ts | 119 ++++++++++++ packages/opentelemetry-core/src/index.ts | 2 + .../HttpCorrelationContext.test.ts | 170 ++++++++++++++++++ 4 files changed, 336 insertions(+) create mode 100644 packages/opentelemetry-core/src/correlation-context/correlation-context.ts create mode 100644 packages/opentelemetry-core/src/correlation-context/propagation/HttpCorrelationContext.ts create mode 100644 packages/opentelemetry-core/test/correlation-context/HttpCorrelationContext.test.ts diff --git a/packages/opentelemetry-core/src/correlation-context/correlation-context.ts b/packages/opentelemetry-core/src/correlation-context/correlation-context.ts new file mode 100644 index 0000000000..08df15bc0a --- /dev/null +++ b/packages/opentelemetry-core/src/correlation-context/correlation-context.ts @@ -0,0 +1,45 @@ +/*! + * Copyright 2020, 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. + */ + +import { CorrelationContext } from '@opentelemetry/api'; +import { Context } from '@opentelemetry/context-base'; + +const CORRELATION_CONTEXT = Context.createKey( + 'OpenTelemetry Distributed Contexts Key' +); + +/** + * @param {Context} Context that manage all context values + * @returns {CorrelationContext} Extracted correlation context from the context + */ +export function getCorrelationContext( + context: Context +): CorrelationContext | undefined { + return ( + (context.getValue(CORRELATION_CONTEXT) as CorrelationContext) || undefined + ); +} + +/** + * @param {Context} Context that manage all context values + * @param {CorrelationContext} correlation context that will be set in the actual context + */ +export function setCorrelationContext( + context: Context, + correlationContext: CorrelationContext +): Context { + return context.setValue(CORRELATION_CONTEXT, correlationContext); +} diff --git a/packages/opentelemetry-core/src/correlation-context/propagation/HttpCorrelationContext.ts b/packages/opentelemetry-core/src/correlation-context/propagation/HttpCorrelationContext.ts new file mode 100644 index 0000000000..c4134364a3 --- /dev/null +++ b/packages/opentelemetry-core/src/correlation-context/propagation/HttpCorrelationContext.ts @@ -0,0 +1,119 @@ +/*! + * Copyright 2020, 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. + */ + +import { + Context, + CorrelationContext, + GetterFunction, + HttpTextPropagator, + SetterFunction, +} from '@opentelemetry/api'; +import { + getCorrelationContext, + setCorrelationContext, +} from '../correlation-context'; + +const KEY_PAIR_SEPARATOR = '='; +const PROPERTIES_SEPARATOR = ';'; +const ITEMS_SEPARATOR = ','; + +// Name of the http header used to propagate the correlation context +export const CORRELATION_CONTEXT_HEADER = 'otcorrelations'; +// Maximum number of name-value pairs allowed by w3c spec +export const MAX_NAME_VALUE_PAIRS = 180; +// Maximum number of bytes per a single name-value pair allowed by w3c spec +export const MAX_PER_NAME_VALUE_PAIRS = 4096; +// Maximum total length of all name-value pairs allowed by w3c spec +export const MAX_TOTAL_LENGTH = 8192; +type KeyPair = { + key: string; + value: string; +}; + +/** + * Propagates {@link CorrelationContext} through Context format propagation. + * + * Based on the Correlation Context specification: + * https://w3c.github.io/correlation-context/ + */ +export class HttpCorrelationContext implements HttpTextPropagator { + inject(context: Context, carrier: unknown, setter: SetterFunction) { + const correlationContext = getCorrelationContext(context); + if (!correlationContext) return; + const keyPairs = this._getKeyPairs(correlationContext) + .filter((pair: string) => { + return pair.length <= MAX_PER_NAME_VALUE_PAIRS; + }) + .slice(0, MAX_NAME_VALUE_PAIRS); + const headerValue = this._serializeKeyPairs(keyPairs); + if (headerValue.length > 0) { + setter(carrier, CORRELATION_CONTEXT_HEADER, headerValue); + } + } + + private _serializeKeyPairs(keyPairs: string[]) { + return keyPairs.reduce((hValue: String, current: String) => { + const value = `${hValue}${hValue != '' ? ITEMS_SEPARATOR : ''}${current}`; + return value.length > MAX_TOTAL_LENGTH ? hValue : value; + }, ''); + } + + private _getKeyPairs(correlationContext: CorrelationContext): string[] { + return Object.keys(correlationContext).map( + (key: string) => + `${encodeURIComponent(key)}=${encodeURIComponent( + correlationContext[key].value + )}` + ); + } + + extract(context: Context, carrier: unknown, getter: GetterFunction): Context { + const headerValue: string = getter( + carrier, + CORRELATION_CONTEXT_HEADER + ) as string; + if (!headerValue) return context; + const correlationContext: CorrelationContext = {}; + if (headerValue.length == 0) { + return context; + } + const pairs = headerValue.split(ITEMS_SEPARATOR); + if (pairs.length == 1) return context; + pairs.forEach(entry => { + const keyPair = this._parsePairKeyValue(entry); + if (keyPair) { + correlationContext[keyPair.key] = { value: keyPair.value }; + } + }); + return setCorrelationContext(context, correlationContext); + } + + private _parsePairKeyValue(entry: string): KeyPair | undefined { + const valueProps = entry.split(PROPERTIES_SEPARATOR); + if (valueProps.length <= 0) return; + const keyPairPart = valueProps.shift(); + if (!keyPairPart) return; + const keyPair = keyPairPart.split(KEY_PAIR_SEPARATOR); + if (keyPair.length <= 1) return; + const key = decodeURIComponent(keyPair[0].trim()); + let value = decodeURIComponent(keyPair[1].trim()); + if (valueProps.length > 0) { + value = + value + PROPERTIES_SEPARATOR + valueProps.join(PROPERTIES_SEPARATOR); + } + return { key, value }; + } +} diff --git a/packages/opentelemetry-core/src/index.ts b/packages/opentelemetry-core/src/index.ts index 7e561a52bb..f9266cd2ce 100644 --- a/packages/opentelemetry-core/src/index.ts +++ b/packages/opentelemetry-core/src/index.ts @@ -25,6 +25,8 @@ export * from './context/propagation/B3Propagator'; export * from './context/propagation/composite'; export * from './context/propagation/HttpTraceContext'; export * from './context/propagation/types'; +export * from './correlation-context/correlation-context'; +export * from './correlation-context/propagation/HttpCorrelationContext'; export * from './platform'; export * from './trace/NoRecordingSpan'; export * from './trace/sampler/ProbabilitySampler'; diff --git a/packages/opentelemetry-core/test/correlation-context/HttpCorrelationContext.test.ts b/packages/opentelemetry-core/test/correlation-context/HttpCorrelationContext.test.ts new file mode 100644 index 0000000000..da903819ac --- /dev/null +++ b/packages/opentelemetry-core/test/correlation-context/HttpCorrelationContext.test.ts @@ -0,0 +1,170 @@ +/*! + * Copyright 2020, 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. + */ + +import { + defaultGetter, + defaultSetter, + CorrelationContext, +} from '@opentelemetry/api'; +import { Context } from '@opentelemetry/context-base'; +import * as assert from 'assert'; +import { + getCorrelationContext, + setCorrelationContext, +} from '../../src/correlation-context/correlation-context'; +import { + HttpCorrelationContext, + CORRELATION_CONTEXT_HEADER, + MAX_PER_NAME_VALUE_PAIRS, +} from '../../src/correlation-context/propagation/HttpCorrelationContext'; + +describe('HttpCorrelationContext', () => { + const httpTraceContext = new HttpCorrelationContext(); + + let carrier: { [key: string]: unknown }; + + beforeEach(() => { + carrier = {}; + }); + + describe('.inject()', () => { + it('should set correlation context header', () => { + const correlationContext: CorrelationContext = { + key1: { value: 'd4cda95b652f4a1592b449d5929fda1b' }, + key3: { value: 'c88815a7-0fa9-4d95-a1f1-cdccce3c5c2a' }, + 'with/slash': { value: 'with spaces' }, + }; + + httpTraceContext.inject( + setCorrelationContext(Context.ROOT_CONTEXT, correlationContext), + carrier, + defaultSetter + ); + assert.deepStrictEqual( + carrier[CORRELATION_CONTEXT_HEADER], + 'key1=d4cda95b652f4a1592b449d5929fda1b,key3=c88815a7-0fa9-4d95-a1f1-cdccce3c5c2a,with%2Fslash=with%20spaces' + ); + }); + + it('should skip long key-value pairs', () => { + const correlationContext: CorrelationContext = { + key1: { value: 'd4cda95b' }, + key3: { value: 'c88815a7' }, + }; + + // Generate long value 2*MAX_PER_NAME_VALUE_PAIRS + const value = '1a'.repeat(MAX_PER_NAME_VALUE_PAIRS); + correlationContext['longPair'] = { value }; + + httpTraceContext.inject( + setCorrelationContext(Context.ROOT_CONTEXT, correlationContext), + carrier, + defaultSetter + ); + assert.deepStrictEqual( + carrier[CORRELATION_CONTEXT_HEADER], + 'key1=d4cda95b,key3=c88815a7' + ); + }); + + it('should skip all keys that surpassed the max limit of the header', () => { + const correlationContext: CorrelationContext = {}; + + const zeroPad = (num: number, places: number) => + String(num).padStart(places, '0'); + + // key=value with same size , 1024 => 8 keys + for (let i = 0; i < 9; ++i) { + const index = zeroPad(i, 510); + correlationContext[`k${index}`] = { value: `${index}` }; + } + + // Build expected + let expected = ''; + for (let i = 0; i < 8; ++i) { + const index = zeroPad(i, 510); + expected += `k${index}=${index},`; + } + expected = expected.slice(0, -1); + + httpTraceContext.inject( + setCorrelationContext(Context.ROOT_CONTEXT, correlationContext), + carrier, + defaultSetter + ); + assert.deepStrictEqual(carrier[CORRELATION_CONTEXT_HEADER], expected); + }); + }); + + describe('.extract()', () => { + it('should extract context of a sampled span from carrier', () => { + carrier[CORRELATION_CONTEXT_HEADER] = + 'key1=d4cda95b,key3=c88815a7, keyn = valn, keym =valm'; + const extractedCorrelationContext = getCorrelationContext( + httpTraceContext.extract(Context.ROOT_CONTEXT, carrier, defaultGetter) + ); + + const expected: CorrelationContext = { + key1: { value: 'd4cda95b' }, + key3: { value: 'c88815a7' }, + keyn: { value: 'valn' }, + keym: { value: 'valm' }, + }; + assert.deepStrictEqual(extractedCorrelationContext, expected); + }); + }); + + it('returns undefined if header is missing', () => { + assert.deepStrictEqual( + getCorrelationContext( + httpTraceContext.extract(Context.ROOT_CONTEXT, carrier, defaultGetter) + ), + undefined + ); + }); + + it('returns keys with their properties', () => { + carrier[CORRELATION_CONTEXT_HEADER] = + 'key1=d4cda95b,key3=c88815a7;prop1=value1'; + const expected: CorrelationContext = { + key1: { value: 'd4cda95b' }, + key3: { value: 'c88815a7;prop1=value1' }, + }; + assert.deepStrictEqual( + getCorrelationContext( + httpTraceContext.extract(Context.ROOT_CONTEXT, carrier, defaultGetter) + ), + expected + ); + }); + + it('should gracefully handle an invalid header', () => { + const testCases: Record = { + invalidNoKeyValuePair: '289371298nekjh2939299283jbk2b', + invalidDoubleEqual: 'key1==value;key2=value2', + invalidWrongKeyValueFormat: 'key1:value;key2=value2', + invalidDoubleSemicolon: 'key1:value;;key2=value2', + }; + Object.getOwnPropertyNames(testCases).forEach(testCase => { + carrier[CORRELATION_CONTEXT_HEADER] = testCases[testCase]; + + const extractedSpanContext = getCorrelationContext( + httpTraceContext.extract(Context.ROOT_CONTEXT, carrier, defaultGetter) + ); + assert.deepStrictEqual(extractedSpanContext, undefined, testCase); + }); + }); +}); From 088921a203a1d32f22dfb66958a282a62857a68e Mon Sep 17 00:00:00 2001 From: Ruben Vargas Palma Date: Tue, 19 May 2020 14:13:21 -0500 Subject: [PATCH 21/33] =?UTF-8?q?docs:=20document=20CorrelationContext=20p?= =?UTF-8?q?ropagator=20under=20Built-in=20Implement=E2=80=A6=20(#1080)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/opentelemetry-core/README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/packages/opentelemetry-core/README.md b/packages/opentelemetry-core/README.md index 491c1041f8..8aa5f23148 100644 --- a/packages/opentelemetry-core/README.md +++ b/packages/opentelemetry-core/README.md @@ -13,6 +13,7 @@ This package provides default implementations of the OpenTelemetry API for trace * [HttpTraceContext Propagator](#httptracecontext-propagator) * [B3 Propagator](#b3-propagator) * [Composite Propagator](#composite-propagator) + * [Correlation Context Propagator](#correlation-context-propagator) - [Built-in Sampler](#built-in-sampler) * [Always Sampler](#always-sampler) * [Never Sampler](#never-sampler) @@ -55,6 +56,17 @@ const { CompositePropagator } = require("@opentelemetry/core"); api.propagation.setGlobalPropagator(new CompositePropagator()); ``` +#### Correlation Context Propagator +Provides a text-based approach to propagate [correlation context](https://w3c.github.io/correlation-context/) to remote services using the [OpenTelemetry CorrelationContext Propagation](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/correlationcontext/api.md#header-name) HTTP headers. + +```js +const api = require("@opentelemetry/api"); +const { HttpCorrelationContext } = require("@opentelemetry/core"); + +/* Set Global Propagator */ +api.propagation.setGlobalPropagator(new HttpCorrelationContext()); +``` + ### Built-in Sampler Sampler is used to make decisions on `Span` sampling. From e91284277112f459f8e7155bda5996673f585fae Mon Sep 17 00:00:00 2001 From: Marian Zagoruiko Date: Wed, 20 May 2020 01:11:54 +0300 Subject: [PATCH 22/33] feat: exporter collector TLS option (#1063) --- .../README.md | 28 +++ ...orExporter.ts => CollectorExporterBase.ts} | 41 ++-- .../src/index.ts | 4 +- .../src/platform/browser/CollectorExporter.ts | 115 +++++++++++ .../src/platform/browser/index.ts | 2 +- .../src/platform/browser/sendSpans.ts | 141 ------------- .../src/platform/node/CollectorExporter.ts | 138 +++++++++++++ .../src/platform/node/index.ts | 2 +- .../src/platform/node/sendSpans.ts | 145 ------------- .../src/platform/node/types.ts | 9 - .../src/transform.ts | 17 +- .../test/browser/CollectorExporter.test.ts | 2 +- .../test/certs/ca.crt | 31 +++ .../test/certs/ca.key | 54 +++++ .../test/certs/client.crt | 31 +++ .../test/certs/client.csr | 28 +++ .../test/certs/client.key | 51 +++++ .../test/certs/regenerate.sh | 19 ++ .../test/certs/server.crt | 31 +++ .../test/certs/server.csr | 28 +++ .../test/certs/server.key | 51 +++++ .../test/common/CollectorExporter.test.ts | 25 ++- .../test/node/CollectorExporter.test.ts | 193 ++++++++++-------- 23 files changed, 775 insertions(+), 411 deletions(-) rename packages/opentelemetry-exporter-collector/src/{CollectorExporter.ts => CollectorExporterBase.ts} (78%) create mode 100644 packages/opentelemetry-exporter-collector/src/platform/browser/CollectorExporter.ts delete mode 100644 packages/opentelemetry-exporter-collector/src/platform/browser/sendSpans.ts create mode 100644 packages/opentelemetry-exporter-collector/src/platform/node/CollectorExporter.ts delete mode 100644 packages/opentelemetry-exporter-collector/src/platform/node/sendSpans.ts create mode 100644 packages/opentelemetry-exporter-collector/test/certs/ca.crt create mode 100644 packages/opentelemetry-exporter-collector/test/certs/ca.key create mode 100644 packages/opentelemetry-exporter-collector/test/certs/client.crt create mode 100644 packages/opentelemetry-exporter-collector/test/certs/client.csr create mode 100644 packages/opentelemetry-exporter-collector/test/certs/client.key create mode 100755 packages/opentelemetry-exporter-collector/test/certs/regenerate.sh create mode 100644 packages/opentelemetry-exporter-collector/test/certs/server.crt create mode 100644 packages/opentelemetry-exporter-collector/test/certs/server.csr create mode 100644 packages/opentelemetry-exporter-collector/test/certs/server.key diff --git a/packages/opentelemetry-exporter-collector/README.md b/packages/opentelemetry-exporter-collector/README.md index 6d27c508c1..30ed47caa4 100644 --- a/packages/opentelemetry-exporter-collector/README.md +++ b/packages/opentelemetry-exporter-collector/README.md @@ -49,6 +49,34 @@ provider.register(); ``` +By default, plaintext connection is used. In order to use TLS in Node.js, provide `credentials` option like so: +```js +const fs = require('fs'); +const grpc = require('grpc'); +const { BasicTracerProvider, SimpleSpanProcessor } = require('@opentelemetry/tracing'); +const { CollectorExporter } = require('@opentelemetry/exporter-collector'); + +const collectorOptions = { + serviceName: 'basic-service', + url: '', // url is optional and can be omitted - default is http://localhost:55678/v1/trace + credentials: grpc.credentials.createSsl( + fs.readFileSync('./ca.crt'), + fs.readFileSync('./client.key'), + fs.readFileSync('./client.crt') + ) +}; + +const provider = new BasicTracerProvider(); +const exporter = new CollectorExporter(collectorOptions); +provider.addSpanProcessor(new SimpleSpanProcessor(exporter)); + +provider.register(); +``` + +To see how to generate credentials, you can refer to the script used to generate certificates for tests [here](./test/certs/regenerate.sh) + +Note, that this will only work if TLS is also configured on the server. + ## Running opentelemetry-collector locally to see the traces 1. Go to examples/basic-tracer-node 2. run `npm run collector:docker:ot` diff --git a/packages/opentelemetry-exporter-collector/src/CollectorExporter.ts b/packages/opentelemetry-exporter-collector/src/CollectorExporterBase.ts similarity index 78% rename from packages/opentelemetry-exporter-collector/src/CollectorExporter.ts rename to packages/opentelemetry-exporter-collector/src/CollectorExporterBase.ts index 070042b121..5163451c90 100644 --- a/packages/opentelemetry-exporter-collector/src/CollectorExporter.ts +++ b/packages/opentelemetry-exporter-collector/src/CollectorExporterBase.ts @@ -14,16 +14,15 @@ * limitations under the License. */ +import { Attributes, Logger } from '@opentelemetry/api'; import { ExportResult, NoopLogger } from '@opentelemetry/core'; import { ReadableSpan, SpanExporter } from '@opentelemetry/tracing'; -import { Attributes, Logger } from '@opentelemetry/api'; -import { onInit, onShutdown, sendSpans } from './platform/index'; -import { opentelemetryProto } from './types'; +import { opentelemetryProto, CollectorExporterError } from './types'; /** - * Collector Exporter Config + * Collector Exporter base config */ -export interface CollectorExporterConfig { +export interface CollectorExporterConfigBase { hostName?: string; logger?: Logger; serviceName?: string; @@ -35,20 +34,22 @@ const DEFAULT_SERVICE_NAME = 'collector-exporter'; const DEFAULT_COLLECTOR_URL = 'http://localhost:55678/v1/trace'; /** - * Collector Exporter + * Collector Exporter abstract base class */ -export class CollectorExporter implements SpanExporter { - readonly serviceName: string; - readonly url: string; - readonly logger: Logger; - readonly hostName: string | undefined; - readonly attributes?: Attributes; +export abstract class CollectorExporterBase< + T extends CollectorExporterConfigBase +> implements SpanExporter { + public readonly serviceName: string; + public readonly url: string; + public readonly logger: Logger; + public readonly hostName: string | undefined; + public readonly attributes?: Attributes; private _isShutdown: boolean = false; /** * @param config */ - constructor(config: CollectorExporterConfig = {}) { + constructor(config: T = {} as T) { this.serviceName = config.serviceName || DEFAULT_SERVICE_NAME; this.url = config.url || DEFAULT_COLLECTOR_URL; if (typeof config.hostName === 'string') { @@ -62,7 +63,7 @@ export class CollectorExporter implements SpanExporter { this.shutdown = this.shutdown.bind(this); // platform dependent - onInit(this); + this.onInit(config); } /** @@ -105,7 +106,7 @@ export class CollectorExporter implements SpanExporter { this.logger.debug('spans to be sent', spans); // Send spans to [opentelemetry collector]{@link https://github.com/open-telemetry/opentelemetry-collector} // it will use the appropriate transport layer automatically depends on platform - sendSpans(spans, resolve, reject, this); + this.sendSpans(spans, resolve, reject); } catch (e) { reject(e); } @@ -124,6 +125,14 @@ export class CollectorExporter implements SpanExporter { this.logger.debug('shutdown started'); // platform dependent - onShutdown(this); + this.onShutdown(); } + + abstract onShutdown(): void; + abstract onInit(config: T): void; + abstract sendSpans( + spans: ReadableSpan[], + onSuccess: () => void, + onError: (error: CollectorExporterError) => void + ): void; } diff --git a/packages/opentelemetry-exporter-collector/src/index.ts b/packages/opentelemetry-exporter-collector/src/index.ts index df00fee615..c09b6b9bcb 100644 --- a/packages/opentelemetry-exporter-collector/src/index.ts +++ b/packages/opentelemetry-exporter-collector/src/index.ts @@ -1,5 +1,5 @@ /*! - * Copyright 2019, OpenTelemetry Authors + * Copyright 2020, OpenTelemetry Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,4 +14,4 @@ * limitations under the License. */ -export * from './CollectorExporter'; +export * from './platform'; diff --git a/packages/opentelemetry-exporter-collector/src/platform/browser/CollectorExporter.ts b/packages/opentelemetry-exporter-collector/src/platform/browser/CollectorExporter.ts new file mode 100644 index 0000000000..2a1a90d13d --- /dev/null +++ b/packages/opentelemetry-exporter-collector/src/platform/browser/CollectorExporter.ts @@ -0,0 +1,115 @@ +/*! + * Copyright 2020, 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. + */ + +import { + CollectorExporterBase, + CollectorExporterConfigBase, +} from '../../CollectorExporterBase'; +import { ReadableSpan } from '@opentelemetry/tracing'; +import { toCollectorExportTraceServiceRequest } from '../../transform'; +import * as collectorTypes from '../../types'; + +export interface CollectorExporterConfig extends CollectorExporterConfigBase {} + +/** + * Collector Exporter for Web + */ +export class CollectorExporter extends CollectorExporterBase< + CollectorExporterConfig +> { + onInit(): void { + window.addEventListener('unload', this.shutdown); + } + + onShutdown(): void { + window.removeEventListener('unload', this.shutdown); + } + + sendSpans( + spans: ReadableSpan[], + onSuccess: () => void, + onError: (error: collectorTypes.CollectorExporterError) => void + ) { + const exportTraceServiceRequest = toCollectorExportTraceServiceRequest( + spans, + this + ); + + const body = JSON.stringify(exportTraceServiceRequest); + + if (typeof navigator.sendBeacon === 'function') { + this._sendSpansWithBeacon(body, onSuccess, onError); + } else { + this._sendSpansWithXhr(body, onSuccess, onError); + } + } + + /** + * send spans using browser navigator.sendBeacon + * @param body + * @param onSuccess + * @param onError + */ + private _sendSpansWithBeacon( + body: string, + onSuccess: () => void, + onError: (error: collectorTypes.CollectorExporterError) => void + ) { + if (navigator.sendBeacon(this.url, body)) { + this.logger.debug('sendBeacon - can send', body); + onSuccess(); + } else { + this.logger.error('sendBeacon - cannot send', body); + onError({}); + } + } + + /** + * function to send spans using browser XMLHttpRequest + * used when navigator.sendBeacon is not available + * @param body + * @param onSuccess + * @param onError + */ + private _sendSpansWithXhr( + body: string, + onSuccess: () => void, + onError: (error: collectorTypes.CollectorExporterError) => void + ) { + const xhr = new XMLHttpRequest(); + xhr.open('POST', this.url); + xhr.setRequestHeader(collectorTypes.OT_REQUEST_HEADER, '1'); + xhr.setRequestHeader('Accept', 'application/json'); + xhr.setRequestHeader('Content-Type', 'application/json'); + xhr.send(body); + + xhr.onreadystatechange = () => { + if (xhr.readyState === XMLHttpRequest.DONE) { + if (xhr.status >= 200 && xhr.status <= 299) { + this.logger.debug('xhr success', body); + onSuccess(); + } else { + this.logger.error('body', body); + this.logger.error('xhr error', xhr); + onError({ + code: xhr.status, + message: xhr.responseText, + }); + } + } + }; + } +} diff --git a/packages/opentelemetry-exporter-collector/src/platform/browser/index.ts b/packages/opentelemetry-exporter-collector/src/platform/browser/index.ts index e2ba0ac5a4..df00fee615 100644 --- a/packages/opentelemetry-exporter-collector/src/platform/browser/index.ts +++ b/packages/opentelemetry-exporter-collector/src/platform/browser/index.ts @@ -14,4 +14,4 @@ * limitations under the License. */ -export * from './sendSpans'; +export * from './CollectorExporter'; diff --git a/packages/opentelemetry-exporter-collector/src/platform/browser/sendSpans.ts b/packages/opentelemetry-exporter-collector/src/platform/browser/sendSpans.ts deleted file mode 100644 index a718cf17d4..0000000000 --- a/packages/opentelemetry-exporter-collector/src/platform/browser/sendSpans.ts +++ /dev/null @@ -1,141 +0,0 @@ -/*! - * Copyright 2020, 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. - */ - -import { Logger } from '@opentelemetry/api'; -import { ReadableSpan } from '@opentelemetry/tracing'; -import { CollectorExporter } from '../../CollectorExporter'; -import { toCollectorExportTraceServiceRequest } from '../../transform'; -import * as collectorTypes from '../../types'; - -/** - * function that is called once when {@link ExporterCollector} is initialised - * @param collectorExporter CollectorExporter {@link ExporterCollector} - */ -export function onInit(collectorExporter: CollectorExporter) { - window.addEventListener('unload', collectorExporter.shutdown); -} - -/** - * function to be called once when {@link ExporterCollector} is shutdown - * @param collectorExporter CollectorExporter {@link ExporterCollector} - */ -export function onShutdown(collectorExporter: CollectorExporter) { - window.removeEventListener('unload', collectorExporter.shutdown); -} - -/** - * function to send spans to the [opentelemetry collector]{@link https://github.com/open-telemetry/opentelemetry-collector} - * using the standard http/https node module - * @param spans - * @param onSuccess - * @param onError - * @param collectorExporter - */ -export function sendSpans( - spans: ReadableSpan[], - onSuccess: () => void, - onError: (error: collectorTypes.CollectorExporterError) => void, - collectorExporter: CollectorExporter -) { - const exportTraceServiceRequest = toCollectorExportTraceServiceRequest( - spans, - collectorExporter - ); - - const body = JSON.stringify(exportTraceServiceRequest); - - if (typeof navigator.sendBeacon === 'function') { - sendSpansWithBeacon( - body, - onSuccess, - onError, - collectorExporter.logger, - collectorExporter.url - ); - } else { - sendSpansWithXhr( - body, - onSuccess, - onError, - collectorExporter.logger, - collectorExporter.url - ); - } -} - -/** - * function to send spans using browser navigator.sendBeacon - * @param body - * @param onSuccess - * @param onError - * @param logger - * @param collectorUrl - */ -function sendSpansWithBeacon( - body: string, - onSuccess: () => void, - onError: (error: collectorTypes.CollectorExporterError) => void, - logger: Logger, - collectorUrl: string -) { - if (navigator.sendBeacon(collectorUrl, body)) { - logger.debug('sendBeacon - can send', body); - onSuccess(); - } else { - logger.error('sendBeacon - cannot send', body); - onError({}); - } -} - -/** - * function to send spans using browser XMLHttpRequest - * used when navigator.sendBeacon is not available - * @param body - * @param onSuccess - * @param onError - * @param logger - * @param collectorUrl - */ -function sendSpansWithXhr( - body: string, - onSuccess: () => void, - onError: (error: collectorTypes.CollectorExporterError) => void, - logger: Logger, - collectorUrl: string -) { - const xhr = new XMLHttpRequest(); - xhr.open('POST', collectorUrl); - xhr.setRequestHeader(collectorTypes.OT_REQUEST_HEADER, '1'); - xhr.setRequestHeader('Accept', 'application/json'); - xhr.setRequestHeader('Content-Type', 'application/json'); - xhr.send(body); - - xhr.onreadystatechange = () => { - if (xhr.readyState === XMLHttpRequest.DONE) { - if (xhr.status >= 200 && xhr.status <= 299) { - logger.debug('xhr success', body); - onSuccess(); - } else { - logger.error('body', body); - logger.error('xhr error', xhr); - onError({ - code: xhr.status, - message: xhr.responseText, - }); - } - } - }; -} diff --git a/packages/opentelemetry-exporter-collector/src/platform/node/CollectorExporter.ts b/packages/opentelemetry-exporter-collector/src/platform/node/CollectorExporter.ts new file mode 100644 index 0000000000..639d373685 --- /dev/null +++ b/packages/opentelemetry-exporter-collector/src/platform/node/CollectorExporter.ts @@ -0,0 +1,138 @@ +/*! + * Copyright 2019, 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. + */ + +import * as protoLoader from '@grpc/proto-loader'; +import * as grpc from 'grpc'; +import * as path from 'path'; +import * as collectorTypes from '../../types'; + +import { ReadableSpan } from '@opentelemetry/tracing'; +import { + CollectorExporterBase, + CollectorExporterConfigBase, +} from '../../CollectorExporterBase'; +import { CollectorExporterError } from '../../types'; +import { toCollectorExportTraceServiceRequest } from '../../transform'; +import { GRPCQueueItem, TraceServiceClient } from './types'; +import { removeProtocol } from './util'; + +/** + * Collector Exporter Config for Node + */ +export interface CollectorExporterConfig extends CollectorExporterConfigBase { + credentials?: grpc.ChannelCredentials; +} + +/** + * Collector Exporter for Node + */ +export class CollectorExporter extends CollectorExporterBase< + CollectorExporterConfig +> { + isShutDown: boolean = false; + traceServiceClient?: TraceServiceClient = undefined; + grpcSpansQueue: GRPCQueueItem[] = []; + + /** + * @param config + */ + constructor(config: CollectorExporterConfig = {}) { + super(config); + } + + onShutdown(): void { + this.isShutDown = true; + if (this.traceServiceClient) { + this.traceServiceClient.close(); + } + } + + onInit(config: CollectorExporterConfig): void { + this.isShutDown = false; + this.grpcSpansQueue = []; + const serverAddress = removeProtocol(this.url); + const credentials: grpc.ChannelCredentials = + config.credentials || grpc.credentials.createInsecure(); + + const traceServiceProtoPath = + 'opentelemetry/proto/collector/trace/v1/trace_service.proto'; + const includeDirs = [path.resolve(__dirname, 'protos')]; + + protoLoader + .load(traceServiceProtoPath, { + keepCase: false, + longs: String, + enums: String, + defaults: true, + oneofs: true, + includeDirs, + }) + .then(packageDefinition => { + const packageObject: any = grpc.loadPackageDefinition( + packageDefinition + ); + this.traceServiceClient = new packageObject.opentelemetry.proto.collector.trace.v1.TraceService( + serverAddress, + credentials + ); + if (this.grpcSpansQueue.length > 0) { + const queue = this.grpcSpansQueue.splice(0); + queue.forEach((item: GRPCQueueItem) => { + this.sendSpans(item.spans, item.onSuccess, item.onError); + }); + } + }); + } + + sendSpans( + spans: ReadableSpan[], + onSuccess: () => void, + onError: (error: CollectorExporterError) => void + ): void { + if (this.isShutDown) { + return; + } + if (this.traceServiceClient) { + const exportTraceServiceRequest = toCollectorExportTraceServiceRequest( + spans, + this + ); + + this.traceServiceClient.export( + exportTraceServiceRequest, + ( + err: collectorTypes.opentelemetryProto.collector.trace.v1.ExportTraceServiceError + ) => { + if (err) { + this.logger.error( + 'exportTraceServiceRequest', + exportTraceServiceRequest + ); + onError(err); + } else { + onSuccess(); + } + } + ); + } else { + this.grpcSpansQueue.push({ + spans, + onSuccess, + onError, + }); + } + } +} diff --git a/packages/opentelemetry-exporter-collector/src/platform/node/index.ts b/packages/opentelemetry-exporter-collector/src/platform/node/index.ts index e2ba0ac5a4..df00fee615 100644 --- a/packages/opentelemetry-exporter-collector/src/platform/node/index.ts +++ b/packages/opentelemetry-exporter-collector/src/platform/node/index.ts @@ -14,4 +14,4 @@ * limitations under the License. */ -export * from './sendSpans'; +export * from './CollectorExporter'; diff --git a/packages/opentelemetry-exporter-collector/src/platform/node/sendSpans.ts b/packages/opentelemetry-exporter-collector/src/platform/node/sendSpans.ts deleted file mode 100644 index 5b7c9035b7..0000000000 --- a/packages/opentelemetry-exporter-collector/src/platform/node/sendSpans.ts +++ /dev/null @@ -1,145 +0,0 @@ -/*! - * Copyright 2019, 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. - */ - -import * as protoLoader from '@grpc/proto-loader'; -import { ReadableSpan } from '@opentelemetry/tracing'; -import * as grpc from 'grpc'; -import * as path from 'path'; - -import { CollectorExporter } from '../../CollectorExporter'; -import * as collectorTypes from '../../types'; -import { toCollectorExportTraceServiceRequest } from '../../transform'; -import { CollectorData, GRPCQueueItem } from './types'; -import { removeProtocol } from './util'; - -const traceServiceClients: WeakMap< - CollectorExporter, - CollectorData -> = new WeakMap(); - -/** - * function that is called once when {@link ExporterCollector} is initialised - * @param collectorExporter CollectorExporter {@link ExporterCollector} - */ -export function onInit(collectorExporter: CollectorExporter) { - traceServiceClients.set(collectorExporter, { - isShutDown: false, - grpcSpansQueue: [], - }); - const serverAddress = removeProtocol(collectorExporter.url); - const credentials: grpc.ChannelCredentials = grpc.credentials.createInsecure(); - - const traceServiceProtoPath = - 'opentelemetry/proto/collector/trace/v1/trace_service.proto'; - const includeDirs = [path.resolve(__dirname, 'protos')]; - - protoLoader - .load(traceServiceProtoPath, { - keepCase: false, - longs: String, - enums: String, - defaults: true, - oneofs: true, - includeDirs, - }) - .then(packageDefinition => { - const packageObject: any = grpc.loadPackageDefinition(packageDefinition); - const exporter = traceServiceClients.get(collectorExporter); - if (!exporter) { - return; - } - exporter.traceServiceClient = new packageObject.opentelemetry.proto.collector.trace.v1.TraceService( - serverAddress, - credentials - ); - if (exporter.grpcSpansQueue.length > 0) { - const queue = exporter.grpcSpansQueue.splice(0); - queue.forEach((item: GRPCQueueItem) => { - sendSpans( - item.spans, - item.onSuccess, - item.onError, - collectorExporter - ); - }); - } - }); -} - -/** - * function to be called once when {@link ExporterCollector} is shutdown - * @param collectorExporter CollectorExporter {@link ExporterCollector} - */ -export function onShutdown(collectorExporter: CollectorExporter) { - const exporter = traceServiceClients.get(collectorExporter); - if (!exporter) { - return; - } - exporter.isShutDown = true; - - if (exporter.traceServiceClient) { - exporter.traceServiceClient.close(); - } -} - -/** - * function to send spans to the [opentelemetry collector]{@link https://github.com/open-telemetry/opentelemetry-collector} - * using the standard http/https node module - * @param spans - * @param onSuccess - * @param onError - * @param collectorExporter - */ -export function sendSpans( - spans: ReadableSpan[], - onSuccess: () => void, - onError: (error: collectorTypes.CollectorExporterError) => void, - collectorExporter: CollectorExporter -) { - const exporter = traceServiceClients.get(collectorExporter); - if (!exporter || exporter.isShutDown) { - return; - } - if (exporter.traceServiceClient) { - const exportTraceServiceRequest = toCollectorExportTraceServiceRequest( - spans, - collectorExporter - ); - - exporter.traceServiceClient.export( - exportTraceServiceRequest, - ( - err: collectorTypes.opentelemetryProto.collector.trace.v1.ExportTraceServiceError - ) => { - if (err) { - collectorExporter.logger.error( - 'exportTraceServiceRequest', - exportTraceServiceRequest - ); - onError(err); - } else { - onSuccess(); - } - } - ); - } else { - exporter.grpcSpansQueue.push({ - spans, - onSuccess, - onError, - }); - } -} diff --git a/packages/opentelemetry-exporter-collector/src/platform/node/types.ts b/packages/opentelemetry-exporter-collector/src/platform/node/types.ts index 8a7786038a..b36b9a65ad 100644 --- a/packages/opentelemetry-exporter-collector/src/platform/node/types.ts +++ b/packages/opentelemetry-exporter-collector/src/platform/node/types.ts @@ -34,12 +34,3 @@ export interface GRPCQueueItem { export interface TraceServiceClient extends grpc.Client { export: (request: any, callback: Function) => {}; } - -/** - * Interface to store helper information - */ -export interface CollectorData { - traceServiceClient?: TraceServiceClient; - isShutDown: boolean; - grpcSpansQueue: GRPCQueueItem[]; -} diff --git a/packages/opentelemetry-exporter-collector/src/transform.ts b/packages/opentelemetry-exporter-collector/src/transform.ts index 3f67635ce6..4078a3ea60 100644 --- a/packages/opentelemetry-exporter-collector/src/transform.ts +++ b/packages/opentelemetry-exporter-collector/src/transform.ts @@ -24,7 +24,10 @@ import { import * as core from '@opentelemetry/core'; import { Resource } from '@opentelemetry/resources'; import { ReadableSpan } from '@opentelemetry/tracing'; -import { CollectorExporter } from './CollectorExporter'; +import { + CollectorExporterBase, + CollectorExporterConfigBase, +} from './CollectorExporterBase'; import { COLLETOR_SPAN_KIND_MAPPING, opentelemetryProto } from './types'; import ValueType = opentelemetryProto.common.v1.ValueType; @@ -189,12 +192,14 @@ export function toCollectorTraceState( /** * Prepares trace service request to be sent to collector * @param spans spans - * @param collectorExporter + * @param collectorExporterBase * @param [name] Instrumentation Library Name */ -export function toCollectorExportTraceServiceRequest( +export function toCollectorExportTraceServiceRequest< + T extends CollectorExporterConfigBase +>( spans: ReadableSpan[], - collectorExporter: CollectorExporter, + collectorExporterBase: CollectorExporterBase, name: string = '' ): opentelemetryProto.collector.trace.v1.ExportTraceServiceRequest { const spansToBeSent: opentelemetryProto.trace.v1.Span[] = spans.map(span => @@ -205,9 +210,9 @@ export function toCollectorExportTraceServiceRequest( const additionalAttributes = Object.assign( {}, - collectorExporter.attributes || {}, + collectorExporterBase.attributes || {}, { - 'service.name': collectorExporter.serviceName, + 'service.name': collectorExporterBase.serviceName, } ); const protoResource: opentelemetryProto.resource.v1.Resource = toCollectorResource( diff --git a/packages/opentelemetry-exporter-collector/test/browser/CollectorExporter.test.ts b/packages/opentelemetry-exporter-collector/test/browser/CollectorExporter.test.ts index d17551c866..f8e5decc0d 100644 --- a/packages/opentelemetry-exporter-collector/test/browser/CollectorExporter.test.ts +++ b/packages/opentelemetry-exporter-collector/test/browser/CollectorExporter.test.ts @@ -21,7 +21,7 @@ import * as sinon from 'sinon'; import { CollectorExporter, CollectorExporterConfig, -} from '../../src/CollectorExporter'; +} from '../../src/platform/browser/index'; import * as collectorTypes from '../../src/types'; import { diff --git a/packages/opentelemetry-exporter-collector/test/certs/ca.crt b/packages/opentelemetry-exporter-collector/test/certs/ca.crt new file mode 100644 index 0000000000..455c498aa2 --- /dev/null +++ b/packages/opentelemetry-exporter-collector/test/certs/ca.crt @@ -0,0 +1,31 @@ +-----BEGIN CERTIFICATE----- +MIIFPjCCAyYCCQDSzsM0Ou9GwDANBgkqhkiG9w0BAQsFADBhMQswCQYDVQQGEwJD +TDELMAkGA1UECAwCUk0xGjAYBgNVBAcMEU9wZW5UZWxlbWV0cnlUZXN0MQ0wCwYD +VQQKDARSb290MQ0wCwYDVQQLDARUZXN0MQswCQYDVQQDDAJjYTAeFw0yMDA1MTUx +NTQ0MzVaFw0yMTA1MTUxNTQ0MzVaMGExCzAJBgNVBAYTAkNMMQswCQYDVQQIDAJS +TTEaMBgGA1UEBwwRT3BlblRlbGVtZXRyeVRlc3QxDTALBgNVBAoMBFJvb3QxDTAL +BgNVBAsMBFRlc3QxCzAJBgNVBAMMAmNhMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A +MIICCgKCAgEAs1AVbpZ642HATrkqW0WpzsOAne677zDftkvIhWcto3x+nwP6kSOE +vHtPR7xem9Yl5LUy1aDpd0WnBSke1JIYdJCAmmlitFVShrpolGRb9MqYJPXp5FfH +OFltziG00/MSKwNv7GiwN3ehyvzfS9L46mCcUWnQLJkjkThvlV0JRCfaTBRF3m8M +fKYvQ71G/9ZwbRvRqPCk8CZmzhqKLvRFBmzM2FGj0CY5fFqPcBRM08MWNkxAR/4B +IGKTaz5qzaFEvxHgQMQaXOQZYeNwiCFBoGygOId96x8GX9AT1PwW2ltMU3rNtVCf +9xu3JUREHjkIReNqM9h1qq5YIfrEQYeM1Q5Kyr3+Bpj6EhZqGmfc37z/nootxG3z +VmYZ4+z0zx24s117J7CfD2OLL2OaLyWheXXYqB0gOgoTwwwTsB5DYOv15fjsqs3F +kuYR/hbxs1GQO9RcOmlvynIleiVkm1x+UmOuIltfMjolBPc7ZKKxjlAxbC4oY7Za +3th3UkDIVFJmWsJhj+z87qLq0EW4m5UYV3uIUDN4P6Pko3iTqKG2qUtnnhrlbvhd +/YfSCWJRMSlgCfKFuhGkiVDEpJhza5LxNeM2EYD/PIydotyASw2Btp+VowC6yDJV +yR2cTVEGeYxQXpOI0wqJT8DrhWsdAqioLtaFxNJkdTKWAbfC8MP5wp8CAwEAATAN +BgkqhkiG9w0BAQsFAAOCAgEAP7u8IlEOTBrL3OISH9vUqFbiRdTzPfpFJ2ZVxM3H +C4iLdndKVmJLRJyMeGhD/kEnTMmHrt/mZTw6tI87+PE1ZMqSe4+q2NlHz0BouiQa +ukGj+OzZ4gw+IlDfyiXtsggCb1dRZldGoddiP8ldP0ohvR7nErG0RrRuBp860yPD +qBzItTzpC4dNVBbOBf+m9T914dsznFKlyU+QSVA2TXpJnmfEKCwlyk2gVH9olQlG +ND4cBdnOnarV5eflIj+LXjZh2wt/F0qLpTmUmxEyCc1M1il+hC6hnbarzin+8Cxu +VqjKzG7KcLxlWx9wj6ruBA1kPL0Jx31c8wDJ8b7HtsDzehcwrKKnZwA3qs3r417c +n7Dddbix9Gxxi2MTY83Q3MKbVj+oKxz0wZxa29fvlf3Gv98wzSMcS2cK+bjQwwuJ +WQxH9KksKU6g1Dv3fVz2E5CP9gwHaQBVBNSKxlqQsB2nhNglpigmglCKrfX07c7x +ryzoDE1E7tYguyWa4W+LFJ85EirUkGIBL7IoGCsol/elF6noGiuaNMO3KsWmp/C6 +YsXQJPWrnep93CCZdZ7bY6L6BTPdz1RaXMh8Rc65MlIlTzxPnhFTYrXz/FlK2uv7 +lPvT0+cGOvuiN26vqfKnrid1I2theKhKDWSdv3Rshg0ZJatNWS0u8gTE4f+qCjHP +9CI= +-----END CERTIFICATE----- diff --git a/packages/opentelemetry-exporter-collector/test/certs/ca.key b/packages/opentelemetry-exporter-collector/test/certs/ca.key new file mode 100644 index 0000000000..e8b01e04ea --- /dev/null +++ b/packages/opentelemetry-exporter-collector/test/certs/ca.key @@ -0,0 +1,54 @@ +-----BEGIN RSA PRIVATE KEY----- +Proc-Type: 4,ENCRYPTED +DEK-Info: DES-EDE3-CBC,C088BF4BACFE1D5E + +TKzb0xd1SS8So+VGtAOqj7XhYJNaTSl7HrF5UXoL835lzU6qIdgJWp8REOATdYTP +wqL5x3OlRy/X9GUtXApQx4OoCy1hOMXB10/T1nD+EuxBf4ChEtRow1synEfOVlX8 +JZvRHuvN1AGnOzn8YpCnZ19ufw9ASX1cOFjefJKiR8vi32/LEO5No2jqODTWK3V2 +ijiV01hDkbiWvIoxcLQRXm+F2TAZ7MYz/DEjtbAr+4vCDMobJicWHim6yHpor/B0 +7bBVEsR0/R7kb+fLtv9cBDUqu40m7LfuMFtJDD5deRce2hSs+rm9nO01qvo5KvR5 +XA9WdKdFjk3WKjE0uAhRCzXXvRO1S9i6Ym0E3zoW6zcXItQUo30BhBgn4DALMMw/ +aLAsq0trmXqTiJCq8QDYgQOj59jwVxMuAsvinhqBI8koy92hBiXAhZd0r2+2jm/b +yqELuX+0b+FW0hSRL/BsXaTXrzW9cSpSM+EsCtoZloNecGGKNUIhVF6+LmALQ5xD +5dwIIooQTpNzLpc55rK6C01VWQLRWClJdbASdYD5hmY/0KNq/LB7F4TY9DjnJnWx +Lrkalyl8lv1oZHjPUqA8NAY+Rf+Ps6BxxP2ShAfVwybVFh0ACh5stWpAbmWId86p +vnf4gW2y5g4p9HNK/+XuFJ4PQj4/SJNRrc7HvwlCnAg1lXRYtt2C2awbKPzBU7bw +4sqOKlIOSeox6x3APcO+nTuYZf2XJ9s/jtlPqPgGBaaWB6IANiMBwi2LnVCjxaL5 +tjiBQlwcYSla7YPz7AAuRYcv2zPJVSk8pZqObBZO+1JN/BJf0LUqW4fOKSwud8gG +rDHp5YS/+MOnygvuyooqdFoFwS6/fKzdLKz5Ug0ZsIPEVdd0gQUrNReATptmRuxJ +/dA58RLpsosCz2iMkYxEJ75acmPsZU6DZCHrI/WwDR6xOVN+3YttpEoGXa16D7Hk +Pa+tmObX3aK+iAQBoSsiztxaBYRNc+QbpKl1/qU86+2m8yXnsbKDXk3WnFVMBCw2 +VbdgD7Rx72sYhzn2VPGmoRkOn/yOkhful7R/tNTK040FuBQaFWer5yDsUlWIoYgd +wnTdSdXisib4rfq/t50xfCGS67eyaH/CMbAni/x+eikDFAA3/OLMM+46hZaoZHqP +sOcbcD+JUIwo00xW2Xv2gF8NT4mcdVphRs9u1pcoyZCQm4OuE4qfJhYH2k48imCC +yfQVgr/fitMm9/oNcEkCuGI5iNm0f88dIKZSuAaxBQ9AXxRjgGVxjdasTcFwkMMo +ahgasfOXq53HoPgX7UOB9V4DdtzwwUg2cS3G0aC8Z2botQ7JlA87QvHddLPrFE3r +ybHIgxOOhabCNpO0ER0xaaS6dKhq/oEuh4owPm7fnfx6lYVmxELJoyuGvGJjlDjk +Zks4Du6Ew6KuZRbGJQOod+FAT1uCIOt83Vslp+3rURe9NmUmU6xHSOnb3La3pLco +upb7x8ufsE8y143uyiqDAyF7MluCl/Cc0rO7BPOu/QsXUcm+oE/b+WLCfDkWETHp +6UK6bW9gi3iohm1S5ViLLSQGcXF62rkP0PQMZpxemQdsKJaynjUmtY13h65L8GRh +4Btxb3/fZgsBDT8us5SP1qSNFsygJwKuRGLaGqrbx+o/deA7kSwX/UFrAemAkysE +1WuFvGlrhTUXcYmjKGbP+78IyPuhcG+lxp1QZXpdIv9Bos2m475we1gSAi2qOF02 +2op60zNo8ZsBRSI/QKtojfG+0SlCNO7owzu+j6PH+7rHpSL1DaPK9C1xwxQCsRaO +MIU+ELIWboJK3lNChQ11mnyMjoIMsfR9fP7Cmr4FuvCHYQbCFERLOzJ6FU7974+b +ul6VAsbvsutLRziQ3LN+QdQRsrrvq9YU0CgB8jLUHf137x4Goegb3cxlDjwzpGkt +R3HM1KAbxcbyziQz2NuSZK5Jfg/OO+C6o5HN2j3IfhQyM1PZ7MsO6sEaRWBxgC99 +xjXYUyDRt2Ho1mFmRtdXjmeGExz3QBQ7X66swHwMcBov6uL9x060VXfzFB6Gbn6O +2UabP4eriWuGUSk/fVBg3jqe+iMMM4z++mScmCqWUnp6lzUSzhsCyZ6a/11zsyvF +Lq8GDu+4rCFzj8/jgE3rqPHGPM7cgn8kv7IC1cOMDMWmELPZW38bxbPYPbNiNgtv +Cq0OjCCSyB307gC2VjwbXyN7AAT0mul7BhQOxU/qIqRoGKUGuQLWIp42Fe0TAe8x +Im1baX8SV35KagGLvcBlw1uwA6olzo4WyxH2SyVEfYxBqek7DmZ8LUwH7s+Xs2+M +svr++dv3drLOdz75Wj7N6KiK0KDxv5EHLiP3YD8/UqP3GzMDv+yj3lpVOcE40kEo +HWhlv7X7fZWUCV9iiRSKWzYBhps0LWjJ4ryB/5wU5X/iSTLyP9cYPKiQIFyaWDK6 +POcYrgNN62e32PScENlwy+YuL4xuaa3KnOTS4e4emjzdH576y213D+n7bpFVOvi0 +JEm8qJJ7PgrwnuGcnNjIfIJNDrLqXDYJWn0K59Pjfd0i3VRhOiNFzcIRnNePR//h +lwBlhy0+XpUvxNEt9Ju+xaaSxg16cyKlz6lz8P+4TGuw8cgXdSXcZw6w+RDdmiv/ +NkVUPEwtMh3+H6L4Lfy9h0HA0bnpnOdgbfeTbHHv5/ViJd7cAjF4Z7PTEpC8nT++ +RTqp4q1upJjb5vk2IkrvhPAO/ZjK01ijSx/sieYoSxp2+vme/4yYloD3IjoUR3SB +0DOv5ATQUNABKAOkZkkpeA0IRuPdbLqpd4FQLYi08oJbOEiVkCUzmBwxbvCAkN83 +KCey8TP/OXVg9+lsh5UgaVPNZmNWGabHIsAnp4TszQZWsxAywOvBSWAb+Z8GOCTP +8T24RYphijZALkXzssYeCZ6qOl/V6YKa7dkIrWAyVRsZKQYH73HzJr7qR0N84eXu +4yyi8rb31d/6Gl+ZyvvDMeQBOFlKtHRx01VG/jLlq2qBuv4lY+UFFDpV2l7F4rVV +IwAuU/pYcuJ97bocLvrdCZJIdszlNgGHpKcBn4MWT+lcod/iBsloXy6J6kluaXBu +q8Ub9zwiF/aKM29CcBRnIHMIVSZ5FY9/Zbu8EhnZjTe7NUNNWi9uV0Arht5S/3RS +-----END RSA PRIVATE KEY----- diff --git a/packages/opentelemetry-exporter-collector/test/certs/client.crt b/packages/opentelemetry-exporter-collector/test/certs/client.crt new file mode 100644 index 0000000000..9534695d80 --- /dev/null +++ b/packages/opentelemetry-exporter-collector/test/certs/client.crt @@ -0,0 +1,31 @@ +-----BEGIN CERTIFICATE----- +MIIFPzCCAycCAQEwDQYJKoZIhvcNAQEFBQAwYTELMAkGA1UEBhMCQ0wxCzAJBgNV +BAgMAlJNMRowGAYDVQQHDBFPcGVuVGVsZW1ldHJ5VGVzdDENMAsGA1UECgwEUm9v +dDENMAsGA1UECwwEVGVzdDELMAkGA1UEAwwCY2EwHhcNMjAwNTE1MTU0NDM3WhcN +MjEwNTE1MTU0NDM3WjBqMQswCQYDVQQGEwJDTDELMAkGA1UECAwCUk0xGjAYBgNV +BAcMEU9wZW5UZWxlbWV0cnlUZXN0MQ0wCwYDVQQKDARUZXN0MQ8wDQYDVQQLDAZD +bGllbnQxEjAQBgNVBAMMCWxvY2FsaG9zdDCCAiIwDQYJKoZIhvcNAQEBBQADggIP +ADCCAgoCggIBAMm4t0aiZqouBsW/VilH/McgrMECz6RYMnAxAZVG0AwvlzZPMc46 +Vpbggpsn5j/N/teragpiqIwIIN+1apGXGmAg4IDgyrswq37Oj4JrvmzXWK1PGGFs +YpWISmNR1DKkEL8ts41KDEZejsItFYctnvIctRYPoYB+6No2iddj5gioHyq/yDLN +zD0c0C3r9tXm+Ed9BO4pgu6Rl6zuPf3sttE5eNa/O6qV1dD3nxnpPS3fIbXqKviD ++xhgXrfLM43X0QBQt6sPFuunpcvhWDsgtWMQ6EShQUhb0DXr6PgGXj/1Vl3nVsxP +4gnCOE5x13jzw/tqijbKin2+dpEGdi+c0QeVfDWoMZA9mlitZiLsenKdB8sYaoCw +QZHu3zzfXruMqA6x6DyLPa6PEFzw4v5PAvsd4Re0cLTBDsw1Fdx/eGzBg7k1KCFZ +HA3RdzNqCMvxcumH7hUg1n0cEtHX/bVSdpndK7iWVPbDYv98bFNOq8fZzsoqZgOk +Jl4TJyil/oPDkzowc8F8+p4vWdgHevjkqk5rtyMLBb6KnUmJgYPef7FuZ97oSi+r +TrAUs595+RZefDRdu5MGV/2NMbpN992Yewg7LTiP+gwNuYBDQmEYyQf0sxMNcwXc +ZVrWw+RdI8udSFowmOd/g0NNz3CaAXX8n6BLMJBBxRx0zet/88VFtLNrAgMBAAEw +DQYJKoZIhvcNAQEFBQADggIBADfQTBf/n+r+E6/GH3kyiI4jg0vIlkOlABsypKvY +iPXGTrtTlFB4s18/f0I416ez1U129OYyE2mUHKDKAUHu/Qf3Cl5N983DCx7czVJZ +Maxafe7DS5rAwF1wpfxR6u4Ti0gK0HO29bsCDah5C5+s4Vzv5t6AFmyg+ESQG6cM +vbkIs5nbcU1ydMdfvSb3vmjvPLh41lWnRVkkbjgzTS312EnHmqV3wIx12UAb16J4 +zXOjI+7JU9TZRnTEf3xOyByA5h8pCYha3nOlETR+vRN1byUYesCWsgj0wFU1u6K6 +AqSMU4sqtNIIlwN50CPLvYjB3FBPh8DpB5iQ4GxM636X06dQqQF7n4cWMOMHRlT1 +DgafEpVdxSeJMzuBQHJzF0UbyaAwKkDKGuAZWfihlNEUMdVm4EvKpE82cevM/2Mo +VEuPlcmf+D0ERu6bK5RAjXkH+cxYWXJGRtx823IEEgXOk0F4AMCaMiuNHI7buBi7 +AnBvIUv67b6FRS6Hw8sMDNvVTpavsnUKwSJJUATPU+rRIgD3Dl7SJ9XqmFdgPO+E +eRxvCCZvzEL77SLslv6CkKLseNQQ7MrOgTotYOrHA/AwF1GtFSDoYTRifKGynRPO +Vg3CscBOkIz9Plmy6dq8CEIygdmcN2Bb8BwA97q1epU4vzmx7fhqLLyMq+YztPRp +6SLz +-----END CERTIFICATE----- diff --git a/packages/opentelemetry-exporter-collector/test/certs/client.csr b/packages/opentelemetry-exporter-collector/test/certs/client.csr new file mode 100644 index 0000000000..2c7d0f9c04 --- /dev/null +++ b/packages/opentelemetry-exporter-collector/test/certs/client.csr @@ -0,0 +1,28 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIIErzCCApcCAQAwajELMAkGA1UEBhMCQ0wxCzAJBgNVBAgMAlJNMRowGAYDVQQH +DBFPcGVuVGVsZW1ldHJ5VGVzdDENMAsGA1UECgwEVGVzdDEPMA0GA1UECwwGQ2xp +ZW50MRIwEAYDVQQDDAlsb2NhbGhvc3QwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw +ggIKAoICAQDJuLdGomaqLgbFv1YpR/zHIKzBAs+kWDJwMQGVRtAML5c2TzHOOlaW +4IKbJ+Y/zf7Xq2oKYqiMCCDftWqRlxpgIOCA4Mq7MKt+zo+Ca75s11itTxhhbGKV +iEpjUdQypBC/LbONSgxGXo7CLRWHLZ7yHLUWD6GAfujaNonXY+YIqB8qv8gyzcw9 +HNAt6/bV5vhHfQTuKYLukZes7j397LbROXjWvzuqldXQ958Z6T0t3yG16ir4g/sY +YF63yzON19EAULerDxbrp6XL4Vg7ILVjEOhEoUFIW9A16+j4Bl4/9VZd51bMT+IJ +wjhOcdd488P7aoo2yop9vnaRBnYvnNEHlXw1qDGQPZpYrWYi7HpynQfLGGqAsEGR +7t883167jKgOseg8iz2ujxBc8OL+TwL7HeEXtHC0wQ7MNRXcf3hswYO5NSghWRwN +0XczagjL8XLph+4VINZ9HBLR1/21UnaZ3Su4llT2w2L/fGxTTqvH2c7KKmYDpCZe +Eycopf6Dw5M6MHPBfPqeL1nYB3r45KpOa7cjCwW+ip1JiYGD3n+xbmfe6Eovq06w +FLOfefkWXnw0XbuTBlf9jTG6TffdmHsIOy04j/oMDbmAQ0JhGMkH9LMTDXMF3GVa +1sPkXSPLnUhaMJjnf4NDTc9wmgF1/J+gSzCQQcUcdM3rf/PFRbSzawIDAQABoAAw +DQYJKoZIhvcNAQELBQADggIBAFjedQr52vLv7YxeLxIvyHrMhbx7Iz4ztj3NlnOJ +EMGm7pcum/rGol1z8m7Y3mFbfJJp8IY/jn1w92x+M9pc6zsRo9MsKdqEAKhAjwVh +jYNBWHekrcwGIy6YUSFvZeUZ82IxFcf6N70CH4sLUJLbZXcd5Nui8mZJCPC4SLoC +E51P0vUClnS/l4O+Dz/IfBy9cSvGg3YvF8GGmW7IZdTD4bWg9O8lQi0zcnDGR0Er +N1Tegoe38Mrx49IHpWMEQzJhI6R22CQ0wtk6e8oBuz2No8hnY0yrAvBGI9v8GUE3 +FJAQxHzyUXCA50IcHFruevsgEzixmYb8OfDd1LC3nZJHfq2r5j0jOU6XXxukH8R3 +UyGIf8UpJQqBKHe0Ld0tOWSyByiWHvw4/Nir/DhANezIEsq4A0Y9hq6y2GTtFUnx +HdsYqTmVlrghBiqZF2H9f7YWaRBnsbu6Kkpyc55r8pBZMT2Myu2Gjq/8GAWtEy1J +BYmQfIZUnYksFaZiXvSiyfNaX5M7nvddxkBCyhtwtCzVutL+ZoqwXD2PPaUCuBbu +lu4M7iSjKiibiCqQEVyRPn2o8V4R5r0NmqS+B9CYJECeAnLPO49Z3l4wdJUEww9i +U14lM75e2tfFzaa/ZqOCQFuu84NKacTJUALpdg1aHcPtTG51F2U8EwsoZEBxUBb+ +WR7X +-----END CERTIFICATE REQUEST----- diff --git a/packages/opentelemetry-exporter-collector/test/certs/client.key b/packages/opentelemetry-exporter-collector/test/certs/client.key new file mode 100644 index 0000000000..e0fea66664 --- /dev/null +++ b/packages/opentelemetry-exporter-collector/test/certs/client.key @@ -0,0 +1,51 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIJKQIBAAKCAgEAybi3RqJmqi4Gxb9WKUf8xyCswQLPpFgycDEBlUbQDC+XNk8x +zjpWluCCmyfmP83+16tqCmKojAgg37VqkZcaYCDggODKuzCrfs6Pgmu+bNdYrU8Y +YWxilYhKY1HUMqQQvy2zjUoMRl6Owi0Vhy2e8hy1Fg+hgH7o2jaJ12PmCKgfKr/I +Ms3MPRzQLev21eb4R30E7imC7pGXrO49/ey20Tl41r87qpXV0PefGek9Ld8hteoq ++IP7GGBet8szjdfRAFC3qw8W66ely+FYOyC1YxDoRKFBSFvQNevo+AZeP/VWXedW +zE/iCcI4TnHXePPD+2qKNsqKfb52kQZ2L5zRB5V8NagxkD2aWK1mIux6cp0Hyxhq +gLBBke7fPN9eu4yoDrHoPIs9ro8QXPDi/k8C+x3hF7RwtMEOzDUV3H94bMGDuTUo +IVkcDdF3M2oIy/Fy6YfuFSDWfRwS0df9tVJ2md0ruJZU9sNi/3xsU06rx9nOyipm +A6QmXhMnKKX+g8OTOjBzwXz6ni9Z2Ad6+OSqTmu3IwsFvoqdSYmBg95/sW5n3uhK +L6tOsBSzn3n5Fl58NF27kwZX/Y0xuk333Zh7CDstOI/6DA25gENCYRjJB/SzEw1z +BdxlWtbD5F0jy51IWjCY53+DQ03PcJoBdfyfoEswkEHFHHTN63/zxUW0s2sCAwEA +AQKCAgEAjZvNlZl2RuuOt41teAdgLY4DmG9XwwBjUB0nBlsyvAtAtNB9n0+W783m +AfPNkGcVCuP7yhSeS8d9BG6/xDr2Oht6Xx7vUt+E1L0/Q4hNouy+BNQswl+rCVwn +FHgiZfaFByCXFo2v9kp1H1006rOdDEwY18bbUnBFGMMGmx03JEaZspH1gay1PwWW +I1at7lV5X/4k0uhzUPUGLFEHVdWyNUiKSv7ubP9InaznlPIGj8g/Swx7ZACK6f7l +H1NX+rBRuU3w0fYC2iXTnz+vh7qbe1MoKt2lDZ3emavl3Q/jZDTfj4ZSiZVekgk1 +K+SBJhjCMSIGqxYeiM2HQKHvn9cPaWtEH+B3zPSauURngPxhayLsVywrqAIqh2gI +iQXnqajwn/g6KF+eEYfdJyPUv0DZgS9e8I8jeGf6Dax4SYWEtl835+r7FsejXLXZ +ehYhIdjyG16+NpLcc5d7/xaSbu9cB7I64raQCnmVbSo/iixd3TwVgFsufRqSgL++ +xa33Y0n4Tq3HgIFg2vlX+6T0RGtWRw73gmk4SXc55wG2v5a2emhQEijfoLPHEQZw +6Xd7qHHJtzxAP+Ifp3IlQ6vW0S27SIiLmQoSZBd3So5r0iF5ufIWe6215EmCdQdt +y6t000Lc8wk/0p50nlaF3Gq4dVUwkXfse/Spb+cbu4t2hSGuC4kCggEBAOuZc3MP +8OZ7vuiCgkRsE+9vfouOxmUbeP0pQzDhG/havRG6J6PG5zltmZFqJh/JvFibnRhD +UZebL9+ugYbVqSPaijuW4MpP1RSZJprxKcwiXkvIXOmB4rDbrBT8OinN7KOXDG9D +6HpeLcRG38ayMfCPMCrNjHW1J/qwJHxycuLme76d7fevxGhojJE6tICasE9SVoF7 +lc+GK/tQKbjztF1QJHXgELSDRP+uHZx7G231HiOqomMIdI0F4fXJHWk2sYBJ33zn +1/c0hPhMks1eXQiod5jXfDtwoaaArkV7S7uahDpJmi2I0HNesWoMrUKeGEEJf9mR +qHSyHozsqqmyPwUCggEBANswSrFUc1oJfA39VTFwLW54VMhb7JuKM+2h6lrZTenK +m1IwZ3sNBub6mjDtPVBG/pvIYwAAfx1liOZgyKyDj0ticWF1sAfFnWKKN7OJTW7v +45Y8oFg10CHNKOWaJd0eAEhoFHW1kPMqrM6d6uYHf60ayQTkyloKkEakBiq7YkhK +ilExk1jyqiJFU/WFEvb6kL5yg1bn1NswaOebpvXSI0z8IzUoVfRXjXB0okOrgiEI +Cn3jOO2b1hF9PHVCYbiIJnoNIhP+DdEoTpCyQy8FwWXGvtgEdwfGm8PH0iH17ehY +D8ODb3NV3HyLzoORLnqHN6G7XF2N3Y2yL2jnLBpJU68CggEBAMp514lkgtFiOiDS +wKeTBtL4zBWeP4z3PlS8GH2yiPo46VKJ3LVZJLDrK1aYlmktVAwGuMz4Ve/oNA2V +iMXbbABfOfuaYFgeoe6Q7GeuqRBB3S5d5NPdh3gdYleqqUXyLtQs5UfeYbaAp+6O +RpUZ4edu96NhgbxLUy+UH9c/+NJd6K1aRwBd83sTlvLdM/Fuf+W7ypJ/JrHyCmxy +aVkFQNYNITiYt2Kbijn+Zn5sIpeuWBeo9uQLiTcFfjtge0FH+uZZFpPfIHDYlwpZ +rLSIy4W8WwRk9OSUmKhi4OLf4qc5VThOtw05DoSINgsBGAovmoKSamkOUGryBWVx +o/4xLQ0CggEAabWtoD5hb3/5g2m1R6WZU5jXEtY6k30gtC+Nrgj1aZacOBQ+I/tR +Y95itMwF8Qx8SLdo/5w9sfjBAJKW1ZSRbELq+Zzfq6/jyp1sZbsHTESHl3JfxosV +eOfQHIOuVSjd7A2+KFLLuGrRcsh4fD4Llnm/jwukh65mjJsYmk1LBiBk+umU7aYC +5YpYBqYKUnDfk+n4a9ZdMuTzAxhvekjBW6SSelWctr3u6dhmVYqGtNWC8dm/H+Ez +abXjjY3ZQTzwiZaB4/B3y3LMCT7f5fK5phMnAVmN6oMfplldf6Fy/sZRu/JMsuwq +7SokDBHdv5ws+WQ6FKiRvH++G7K582d/4wKCAQBb6GKm0GXD0Cj0S7jGCUtOzSKx +k35cWe3YUByFQ5cN5O1kRr4xBgQin7X0Xn2WY1xCMRocslpScfVgE2WJcbVaoiqI +V7dq4N1ZhkL9dWy25Q4vmnHZU6NEZMrIC6Upd9X7uhamLJWMEqUeitI43CtjB+hF +bnD66o3ne+5QjENKOcRtssv92gUnbAtRzuy9clq5aTk37cV9e1iHTPvnILeX6hzK +szMF6wpmfbn0uzwD6HMKdGFoocc3h/0iXtk1zFTIQt7BB/aCA0VYKToCb5flgFb2 +BoswTm+ui/s2fQYlMb864gIceJBOI4+zgNeKMSrKLfp42QD3DhMtWbfpvygY +-----END RSA PRIVATE KEY----- diff --git a/packages/opentelemetry-exporter-collector/test/certs/regenerate.sh b/packages/opentelemetry-exporter-collector/test/certs/regenerate.sh new file mode 100755 index 0000000000..bb6ec4a9b5 --- /dev/null +++ b/packages/opentelemetry-exporter-collector/test/certs/regenerate.sh @@ -0,0 +1,19 @@ +#! /bin/sh +# +# Usage: regenerate.sh +# +# regenerate.sh regenerates certificates that are used to test gRPC with TLS +# Make sure you run it in test/certs directory. +# It also serves as a documentation on how existing certificates were generated. + +rm ca.crt ca.key client.crt client.csr client.key server.crt server.csr server.key +openssl genrsa -passout pass:1111 -des3 -out ca.key 4096 +openssl req -passin pass:1111 -new -x509 -days 365 -key ca.key -out ca.crt -subj "/C=CL/ST=RM/L=OpenTelemetryTest/O=Root/OU=Test/CN=ca" +openssl genrsa -passout pass:1111 -des3 -out server.key 4096 +openssl req -passin pass:1111 -new -key server.key -out server.csr -subj "/C=CL/ST=RM/L=OpenTelemetryTest/O=Test/OU=Server/CN=localhost" +openssl x509 -req -passin pass:1111 -days 365 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt +openssl rsa -passin pass:1111 -in server.key -out server.key +openssl genrsa -passout pass:1111 -des3 -out client.key 4096 +openssl req -passin pass:1111 -new -key client.key -out client.csr -subj "/C=CL/ST=RM/L=OpenTelemetryTest/O=Test/OU=Client/CN=localhost" +openssl x509 -passin pass:1111 -req -days 365 -in client.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out client.crt +openssl rsa -passin pass:1111 -in client.key -out client.key diff --git a/packages/opentelemetry-exporter-collector/test/certs/server.crt b/packages/opentelemetry-exporter-collector/test/certs/server.crt new file mode 100644 index 0000000000..62f91722a9 --- /dev/null +++ b/packages/opentelemetry-exporter-collector/test/certs/server.crt @@ -0,0 +1,31 @@ +-----BEGIN CERTIFICATE----- +MIIFPzCCAycCAQEwDQYJKoZIhvcNAQEFBQAwYTELMAkGA1UEBhMCQ0wxCzAJBgNV +BAgMAlJNMRowGAYDVQQHDBFPcGVuVGVsZW1ldHJ5VGVzdDENMAsGA1UECgwEUm9v +dDENMAsGA1UECwwEVGVzdDELMAkGA1UEAwwCY2EwHhcNMjAwNTE1MTU0NDM2WhcN +MjEwNTE1MTU0NDM2WjBqMQswCQYDVQQGEwJDTDELMAkGA1UECAwCUk0xGjAYBgNV +BAcMEU9wZW5UZWxlbWV0cnlUZXN0MQ0wCwYDVQQKDARUZXN0MQ8wDQYDVQQLDAZT +ZXJ2ZXIxEjAQBgNVBAMMCWxvY2FsaG9zdDCCAiIwDQYJKoZIhvcNAQEBBQADggIP +ADCCAgoCggIBANQwHRfyj/d8Hh0qgDlxdtSxloRs8ZvBIwt6Accd1hUqs8dC0c9V +5XXOcfmusb3Fo8NKXn6IIPCEy1spFCe4EBW4obSgkJEVdPwsMsXUPLek/6K5S6uE +FhnGLUJJ57gAjh9LGdMTDp5szLO7dTYrHzdGZYhmTAyiA9JDN6iYlpWkK4p2IBcN +diu26KWp9+sJKw8Ly/7o5QD4wyc6hGok0v0nwimXZo78EJYBu6BDGuLyAgvq8zLV +sgXi4aYROsmVrg2IJbe8+PtPBNwkoAuR4QC3hRTV3bXyZdbIC0KbOekegAHTeXYz +Ap0HVkCsb/vOLiGuju/mKZFZKp5/PKf8Jdv/zDTIm8TwBvvtQKT4qmAYUkKTXRrO +OWK1pCakVLV7FGREDi+/bxhcQJt5yopLGT5NSoUF3RR+17KZ/5lSPEh5OMSprVyR +789KvY1z79JWt3zB6fIfQ936PyNh++SKxFmlnLuGK5wf58jefwSjGEkY2YAE66Y6 +8Kqg3/W8JsjTFBntBtD3xY1t0c4Hh2f3epQPrzwHx9pywgh+H2TIwnnUyEPLqdYp +SEsbnvdbLB8FZm2fwPZ1MZOZOGrKcnCMkMPE1DOIkxeFDx8xbeHRepSRJSbemY1l +tt+afAnM18mJf36gO8NnM56Me//FSTWbWaQlmUBAwSDlHxYfD9TgCjbBAgMBAAEw +DQYJKoZIhvcNAQEFBQADggIBAEt57zbZpIaQiw0BvZenLWhWvBA0j1cFk7eVG+Nl +Zo7+UniFH+1Io/gXJaJmJZ09d3ku4ZB+V44ka1N9J7qnnqXYOxRGT2H6owaWeOLl +FQ8tR1NQQA7p2uNWJclBsuPghzRCSFZw2auu8OKRtM/0VgbskNIN+H0EVhEeYjtd +ZzojPoa7AmH7P4SC1KMvY6qNmab9F8TBD19DPfoA/EpYboMQiK7DwPPuvrAdHcJB +KPLxyzabqFEqouwStqKUmKqbASOR+qJNac/RQTbN6yP4Lu9wTUm1OYaR4ot87dOR +ZhCznzlaJ2DsvFuoOKN/7Bezq+rXhIyCrH9VH0PjWwbO9FIfeZlHgmAmJnJCXb6F +bW6m+ha/63kiPU1NlTJRPukcR0vW/P0XSOcRvvje/07uJOOG5ypnQf6k7neR5e81 +1ZHPKCHba7bh08vKW5LbXwU4Ng7vRc42h6+iN0mogjj+B2oYt432L3howc8np2vF +eLCRxq/9pRut2QkfivT/GHkV/J+RxoEFDrZrTd15q1mLQnPCJOT+QmAMPfZydyZM +FsQUd6kzEWgZ4dHKqEikC0IBG+2xrrvHgKiB5Y1o0K/hEFfQOFCct6c9thXqMYhA +w/2HXXjfWLVBbGjJ4VemU1YFKyMZ+mxM1sJmPc/KkG/NjKf9wFFwFRpT3OIlF+BK +u8P4 +-----END CERTIFICATE----- diff --git a/packages/opentelemetry-exporter-collector/test/certs/server.csr b/packages/opentelemetry-exporter-collector/test/certs/server.csr new file mode 100644 index 0000000000..967316e171 --- /dev/null +++ b/packages/opentelemetry-exporter-collector/test/certs/server.csr @@ -0,0 +1,28 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIIErzCCApcCAQAwajELMAkGA1UEBhMCQ0wxCzAJBgNVBAgMAlJNMRowGAYDVQQH +DBFPcGVuVGVsZW1ldHJ5VGVzdDENMAsGA1UECgwEVGVzdDEPMA0GA1UECwwGU2Vy +dmVyMRIwEAYDVQQDDAlsb2NhbGhvc3QwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw +ggIKAoICAQDUMB0X8o/3fB4dKoA5cXbUsZaEbPGbwSMLegHHHdYVKrPHQtHPVeV1 +znH5rrG9xaPDSl5+iCDwhMtbKRQnuBAVuKG0oJCRFXT8LDLF1Dy3pP+iuUurhBYZ +xi1CSee4AI4fSxnTEw6ebMyzu3U2Kx83RmWIZkwMogPSQzeomJaVpCuKdiAXDXYr +tuilqffrCSsPC8v+6OUA+MMnOoRqJNL9J8Ipl2aO/BCWAbugQxri8gIL6vMy1bIF +4uGmETrJla4NiCW3vPj7TwTcJKALkeEAt4UU1d218mXWyAtCmznpHoAB03l2MwKd +B1ZArG/7zi4hro7v5imRWSqefzyn/CXb/8w0yJvE8Ab77UCk+KpgGFJCk10azjli +taQmpFS1exRkRA4vv28YXECbecqKSxk+TUqFBd0Ufteymf+ZUjxIeTjEqa1cke/P +Sr2Nc+/SVrd8wenyH0Pd+j8jYfvkisRZpZy7hiucH+fI3n8EoxhJGNmABOumOvCq +oN/1vCbI0xQZ7QbQ98WNbdHOB4dn93qUD688B8facsIIfh9kyMJ51MhDy6nWKUhL +G573WywfBWZtn8D2dTGTmThqynJwjJDDxNQziJMXhQ8fMW3h0XqUkSUm3pmNZbbf +mnwJzNfJiX9+oDvDZzOejHv/xUk1m1mkJZlAQMEg5R8WHw/U4Ao2wQIDAQABoAAw +DQYJKoZIhvcNAQELBQADggIBAIBAt/12a6kkCFaRe256Umrj3/2DPA+gVqaVwlsi +xEGuO3GpBv7D6+lrlwNhLLSFOEkqoB4t/hjfGyabENXrCgyjMEoq/YKfwJvO4FPv +UkjaEWsCxmuwTS0qm8gXQy9PAwSI8EF2jOoRtvpCXl7bDQRJRIgKwZFI+jCEZvgj +Sk8fZGOH9yPEjx0KpvEw3jl/kbdSJu+CFTr981yLKjeG0lMknc/sQwH87tco4icj +t2Deaow6UOc0VaTmsWMLwIWrG/5TQPj+tL/600mBs5iQCOVio+hbzOHmDb48Ztao +CD4z8w8PAHxO79Vx0Wjt26cl6pKL58uke3G41Aq8//YLpSUUvIx0bYOwobDd4Ev5 +Emklvmcf3hAAzVQ7g8kDD82RDPRKtDl6e26+q2MQT31HuGbKB+5xpi113dSoB2CO +NSAgn3heoj5OM7heKwh6p6j0r1gT8WjXDMXQdKgekTGaUxeOSmccvMk4U0LN3JpK +JqaH178OucI9aRxGVjQFErW7xbKOViHP+NxNKj1pnerd7PX0wF/g107v2eSb6l/5 +K0UsM/l7MsINkx/1p+Qqu26t3i3Azw/MxKJqOVAlcb2LrACBj80BXBcJLW/My3kY +0XzK1siVSL17lL4KYBLO7kVR3F1+m+aQPrYJsLEKCAGxsfiFRBhXa6pfvp+fd5Hs +/xFM +-----END CERTIFICATE REQUEST----- diff --git a/packages/opentelemetry-exporter-collector/test/certs/server.key b/packages/opentelemetry-exporter-collector/test/certs/server.key new file mode 100644 index 0000000000..4831771d2b --- /dev/null +++ b/packages/opentelemetry-exporter-collector/test/certs/server.key @@ -0,0 +1,51 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIJKgIBAAKCAgEA1DAdF/KP93weHSqAOXF21LGWhGzxm8EjC3oBxx3WFSqzx0LR +z1Xldc5x+a6xvcWjw0pefogg8ITLWykUJ7gQFbihtKCQkRV0/CwyxdQ8t6T/orlL +q4QWGcYtQknnuACOH0sZ0xMOnmzMs7t1NisfN0ZliGZMDKID0kM3qJiWlaQrinYg +Fw12K7bopan36wkrDwvL/ujlAPjDJzqEaiTS/SfCKZdmjvwQlgG7oEMa4vICC+rz +MtWyBeLhphE6yZWuDYglt7z4+08E3CSgC5HhALeFFNXdtfJl1sgLQps56R6AAdN5 +djMCnQdWQKxv+84uIa6O7+YpkVkqnn88p/wl2//MNMibxPAG++1ApPiqYBhSQpNd +Gs45YrWkJqRUtXsUZEQOL79vGFxAm3nKiksZPk1KhQXdFH7Xspn/mVI8SHk4xKmt +XJHvz0q9jXPv0la3fMHp8h9D3fo/I2H75IrEWaWcu4YrnB/nyN5/BKMYSRjZgATr +pjrwqqDf9bwmyNMUGe0G0PfFjW3RzgeHZ/d6lA+vPAfH2nLCCH4fZMjCedTIQ8up +1ilISxue91ssHwVmbZ/A9nUxk5k4aspycIyQw8TUM4iTF4UPHzFt4dF6lJElJt6Z +jWW235p8CczXyYl/fqA7w2cznox7/8VJNZtZpCWZQEDBIOUfFh8P1OAKNsECAwEA +AQKCAgBaxLY9X0sMwHCVY2/0osAFnm5X+c6lJUqbhzapee7xoRHExKXB/umoqoaB +G6T3HEvAp9iiYhNNMFFZjsoLb6aZ1CCAh0swdTBVC4cwr2jF2nRspL1lApz9q5QC +zmCsirhBVLwYWgef58TtgdxTLsEswRV/8trHcKsX0B9IJPYNz2u80GlL0ztg2d7N +t1bRmVttFUvPoMsNzlyVNGgei+Ah4VciuZxqwBNMSDN+DBa9TG9pr7kXXujHsdV7 +V9WBFGGfckVIQzNzNctLbPN135KT3u20CwTL54R/C5YdiQ+N1LlHjrJfyNRuXgwc +oGdLHVkImYaVwyy2+6DKqn1FEw0SNrHQxbYHqHZf22F4tQYw8jE1Me1o89cG6n8t +RDZxm/7JcHg1Pq2WZMO61Xn+m2kTt6dVrPfl4n70CSZxaelV5UesBqbrZOHOiE4d +WQRGfhw7Sg+YFrNvevN/8p9Z99ubbRNflRgz5juZstk1j6ZESEO9fs1omgXGOeoN +BzAYp1odSAeeMlkfIaNo2QpLcBMnc6nQSYNld2QIg4k+1VhQUbkxRLGh4C3gs35I +ujRLRujCOye9ybv2MiDTqahK/mKCmldLWmXInUdMGTdMdUlYpBvtq1G8RBQHCwBl +2F3BTlITzKcVz3nvUiqqZzjm3eR4WEdTPMX4jr2iDR/kh61nfQKCAQEA9rgYScAp +KS3C8Fa6WX8vRPFTMOJGpo1GET38K7iRVO4SxWQqWzoH16ZE2bN01lyzjvfqPoRR +eOBdpyaJU6onjE+XLK9qoNgrW7HaInuNF4zWTndo4UwTXnE9l2qm3rMgjngXla6l +PuC6QVsPu2eGhmyWMtVKAmlMFYT2p7P+cSEwNZnCVmeMdviqO8aGMOuHNBEJ408O +oI41+rvffjogvNPnvDN1DQntl134CLxa+jlpAcr9KgVfMZpOqR+wvcV4JZSkPflp +HRFWlcOk2dWnqrIAkNcmVs+P6tB/d7sdj8hGHw0xJ9o+UYBmdJnj9N49dc9TggJo +asVIQ2CFKQVPgwKCAQEA3Ct7yVXwZwgxHBg4ouLaCXZ4/oouBjuwEtx+SPujs79S +IbM8v03YuxR3SWEqnB+P6g/Sx3EijYhz95nbzhN1gR482n+aHgtrMKGF8V4ROwOq +F3xXhx15qfn53G9SQvo1jOBsKQgxCH+MDrfa2rUGaesMVSIw3rMImiCqT329mDEX +oMpCfPUNPTXNIBJnMRcFkENK9XBN2tO7puvgi57EzseUP0jhnBYIZigjuYDDnys3 +xax5r7+o7ialJvUuuvlrHiYc+km8Qg9lDWloayZPOTGY1lEAwqdAyuVhXKF92hJe +o9Y4aD33FLaKrbHm/zfj4+L8Yuh+c0NXuhTkiLIpawKCAQEAhSgo260dyf7LxoFY +hDMTpQcGWkzVytBWr7mfn003CvqPIQAFqETytJ4lbMXhWkygEJqXT3SEsFOP2EYB +OimMvLq8Ib7vMq5ZAF1GGPRL2xkFFUZ3UZmInqFJl65VL77H5HzGZd/jicMqY1mt +bPzb6zMyAW+CSTjhen/PzAVmX1KFPXimHZI3ioJ9BlQIWuDTkPNdPdSOVXNLiO7b +GbpvrtpDqRywoP/pvpdV5gkapRBVL0WKS6KolRHuQHM9Jb8tMENAPb6dz7Vq4Nu9 +3l/k5Ui663FjXNkbmKU9FrbjppV12w54qESu+7fsFCR2ltNXonzqWjHIf0/Ix6yR +Uelu1wKCAQEAxUq17zHybfFaSImv3s6XgZlHTRi3q2A7JHuvMmlERWMxDv/VdLwm +dWYeioPmseZaiOzK/Wt1Agz/liWqYRzw09Yrw8RKb5fd4sMrCqI3oIFlHwyORoZ0 +KovVieG7fkdGS0ojwhUUE0BwWhQIqqlC6RD2iSdNUZJvJ+YTl43eoo2DVdNJBz50 +MaCPgqjbDZNKqf6TIiMTsP7BDhAatCJ+y6juQFNnz/2yYxCfCrDHG0+X96vZk1KU +52t73NAiouu0QFz45JPEfhHbhMwrBLFclqzJ/2qw2r0Tg31O5LnV099YLUpeW5MD +YO0+ke10SMlljiUt8tfR0CnNZ/Mm4xN7pwKCAQEAplZEytHOTmb5eaFYc8uiTAp+ +p1qCriIlw5T5akw1ESSKbEQTXmKqqwHP9pvFtg9Vd1M2ccmZT4Lk4+AL4sgHcs6p +asX3xz4/A9mqJKLruFd4lGhY14HV9JA1n0xVFnV5KK/7y+9Y1ZLvcGv/jzd/EXcL +T2OZ8wCTRdT6oi4+HsWaitHfNiJ1zvBgwWY9wEHofdPHIJwp8gNh6RD+M2WjHl4v +0GCGQaoEaIAePCn0R8WISviLhAymu9sIIov/WMBQQbsc03JlKSRsd/s5FYObUBfX +iBzCgMvuGWuFeBTB7LYgzina0IFwJqxy6Z7ySgZJKigPkhhrG/iD/QxuT2MvxQ== +-----END RSA PRIVATE KEY----- diff --git a/packages/opentelemetry-exporter-collector/test/common/CollectorExporter.test.ts b/packages/opentelemetry-exporter-collector/test/common/CollectorExporter.test.ts index 749de6b217..9ecfc170dd 100644 --- a/packages/opentelemetry-exporter-collector/test/common/CollectorExporter.test.ts +++ b/packages/opentelemetry-exporter-collector/test/common/CollectorExporter.test.ts @@ -19,21 +19,28 @@ import { ReadableSpan } from '@opentelemetry/tracing'; import * as assert from 'assert'; import * as sinon from 'sinon'; import { - CollectorExporter, - CollectorExporterConfig, -} from '../../src/CollectorExporter'; -import * as platform from '../../src/platform/index'; + CollectorExporterBase, + CollectorExporterConfigBase, +} from '../../src/CollectorExporterBase'; import { mockedReadableSpan } from '../helper'; +interface CollectorExporterConfig extends CollectorExporterConfigBase {} +class CollectorExporter extends CollectorExporterBase { + onInit() {} + onShutdown() {} + sendSpans() {} +} + describe('CollectorExporter - common', () => { let collectorExporter: CollectorExporter; let collectorExporterConfig: CollectorExporterConfig; describe('constructor', () => { let onInitSpy: any; + beforeEach(() => { - onInitSpy = sinon.stub(platform, 'onInit'); + onInitSpy = sinon.stub(CollectorExporter.prototype, 'onInit'); collectorExporterConfig = { hostName: 'foo', logger: new NoopLogger(), @@ -43,6 +50,7 @@ describe('CollectorExporter - common', () => { }; collectorExporter = new CollectorExporter(collectorExporterConfig); }); + afterEach(() => { onInitSpy.restore(); }); @@ -53,7 +61,6 @@ describe('CollectorExporter - common', () => { it('should call onInit', () => { assert.strictEqual(onInitSpy.callCount, 1); - assert.ok(onInitSpy.args[0][0] === collectorExporter); }); describe('when config contains certain params', () => { @@ -92,7 +99,7 @@ describe('CollectorExporter - common', () => { describe('export', () => { let spySend: any; beforeEach(() => { - spySend = sinon.stub(platform, 'sendSpans'); + spySend = sinon.stub(CollectorExporter.prototype, 'sendSpans'); collectorExporter = new CollectorExporter(collectorExporterConfig); }); afterEach(() => { @@ -136,7 +143,7 @@ describe('CollectorExporter - common', () => { describe('shutdown', () => { let onShutdownSpy: any; beforeEach(() => { - onShutdownSpy = sinon.stub(platform, 'onShutdown'); + onShutdownSpy = sinon.stub(CollectorExporter.prototype, 'onShutdown'); collectorExporterConfig = { hostName: 'foo', logger: new NoopLogger(), @@ -153,7 +160,7 @@ describe('CollectorExporter - common', () => { it('should call onShutdown', done => { collectorExporter.shutdown(); setTimeout(() => { - assert.ok(onShutdownSpy.args[0][0] === collectorExporter); + assert.equal(onShutdownSpy.callCount, 1); done(); }); }); diff --git a/packages/opentelemetry-exporter-collector/test/node/CollectorExporter.test.ts b/packages/opentelemetry-exporter-collector/test/node/CollectorExporter.test.ts index 027b3d7af0..3b7f35858c 100644 --- a/packages/opentelemetry-exporter-collector/test/node/CollectorExporter.test.ts +++ b/packages/opentelemetry-exporter-collector/test/node/CollectorExporter.test.ts @@ -17,6 +17,7 @@ import * as protoLoader from '@grpc/proto-loader'; import * as grpc from 'grpc'; import * as path from 'path'; +import * as fs from 'fs'; import { BasicTracerProvider, SimpleSpanProcessor, @@ -24,7 +25,7 @@ import { import * as assert from 'assert'; import * as sinon from 'sinon'; -import { CollectorExporter } from '../../src/CollectorExporter'; +import { CollectorExporter } from '../../src/platform/node'; import * as collectorTypes from '../../src/types'; import { @@ -37,94 +38,126 @@ const traceServiceProtoPath = 'opentelemetry/proto/collector/trace/v1/trace_service.proto'; const includeDirs = [path.resolve(__dirname, '../../src/platform/node/protos')]; -const address = '127.0.0.1:1501'; +const address = 'localhost:1501'; -describe('CollectorExporter - node', () => { - let collectorExporter: CollectorExporter; - let server: grpc.Server; - let exportedData: - | collectorTypes.opentelemetryProto.trace.v1.ResourceSpans - | undefined; +type TestParams = { + useTLS: boolean; +}; - before(done => { - server = new grpc.Server(); - protoLoader - .load(traceServiceProtoPath, { - keepCase: false, - longs: String, - enums: String, - defaults: true, - oneofs: true, - includeDirs, - }) - .then((packageDefinition: protoLoader.PackageDefinition) => { - const packageObject: any = grpc.loadPackageDefinition( - packageDefinition - ); - server.addService( - packageObject.opentelemetry.proto.collector.trace.v1.TraceService - .service, - { - Export: (data: { - request: collectorTypes.opentelemetryProto.collector.trace.v1.ExportTraceServiceRequest; - }) => { - try { - exportedData = data.request.resourceSpans[0]; - } catch (e) { - exportedData = undefined; - } - }, - } - ); - server.bind(address, grpc.ServerCredentials.createInsecure()); - server.start(); - done(); - }); - }); +const testCollectorExporter = (params: TestParams) => + describe(`CollectorExporter - node ${ + params.useTLS ? 'with TLS' : '' + }`, () => { + let collectorExporter: CollectorExporter; + let server: grpc.Server; + let exportedData: + | collectorTypes.opentelemetryProto.trace.v1.ResourceSpans + | undefined; - after(() => { - server.forceShutdown(); - }); + before(done => { + server = new grpc.Server(); + protoLoader + .load(traceServiceProtoPath, { + keepCase: false, + longs: String, + enums: String, + defaults: true, + oneofs: true, + includeDirs, + }) + .then((packageDefinition: protoLoader.PackageDefinition) => { + const packageObject: any = grpc.loadPackageDefinition( + packageDefinition + ); + server.addService( + packageObject.opentelemetry.proto.collector.trace.v1.TraceService + .service, + { + Export: (data: { + request: collectorTypes.opentelemetryProto.collector.trace.v1.ExportTraceServiceRequest; + }) => { + try { + exportedData = data.request.resourceSpans[0]; + } catch (e) { + exportedData = undefined; + } + }, + } + ); + let credentials = params.useTLS + ? grpc.ServerCredentials.createSsl( + fs.readFileSync('./test/certs/ca.crt'), + [ + { + cert_chain: fs.readFileSync('./test/certs/server.crt'), + private_key: fs.readFileSync('./test/certs/server.key'), + }, + ] + ) + : grpc.ServerCredentials.createInsecure(); + server.bind(address, credentials); + server.start(); + done(); + }); + }); - beforeEach(done => { - collectorExporter = new CollectorExporter({ - serviceName: 'basic-service', - url: address, + after(() => { + server.forceShutdown(); }); - const provider = new BasicTracerProvider(); - provider.addSpanProcessor(new SimpleSpanProcessor(collectorExporter)); - done(); - }); + beforeEach(done => { + const credentials = params.useTLS + ? grpc.credentials.createSsl( + fs.readFileSync('./test/certs/ca.crt'), + fs.readFileSync('./test/certs/client.key'), + fs.readFileSync('./test/certs/client.crt') + ) + : undefined; + collectorExporter = new CollectorExporter({ + serviceName: 'basic-service', + url: address, + credentials, + }); - afterEach(() => { - exportedData = undefined; - }); + const provider = new BasicTracerProvider(); + provider.addSpanProcessor(new SimpleSpanProcessor(collectorExporter)); + done(); + }); + + afterEach(() => { + exportedData = undefined; + }); - describe('export', () => { - it('should export spans', done => { - const responseSpy = sinon.spy(); - const spans = [Object.assign({}, mockedReadableSpan)]; - collectorExporter.export(spans, responseSpy); - setTimeout(() => { - assert.ok( - typeof exportedData !== 'undefined', - 'resource' + " doesn't exist" - ); - let spans; - let resource; - if (exportedData) { - spans = exportedData.instrumentationLibrarySpans[0].spans; - resource = exportedData.resource; - ensureExportedSpanIsCorrect(spans[0]); + describe('export', () => { + it('should export spans', done => { + const responseSpy = sinon.spy(); + const spans = [Object.assign({}, mockedReadableSpan)]; + collectorExporter.export(spans, responseSpy); + setTimeout(() => { + assert.ok( + typeof exportedData !== 'undefined', + 'resource' + " doesn't exist" + ); + let spans; + let resource; + if (exportedData) { + spans = exportedData.instrumentationLibrarySpans[0].spans; + resource = exportedData.resource; + ensureExportedSpanIsCorrect(spans[0]); - assert.ok(typeof resource !== 'undefined', "resource doesn't exist"); - if (resource) { - ensureResourceIsCorrect(resource); + assert.ok( + typeof resource !== 'undefined', + "resource doesn't exist" + ); + if (resource) { + ensureResourceIsCorrect(resource); + } } - } - done(); - }, 200); + done(); + }, 200); + }); }); }); -}); + +testCollectorExporter({ useTLS: true }); +testCollectorExporter({ useTLS: false }); From b87764ec4e52e7e87530477d236bfc039dd024ec Mon Sep 17 00:00:00 2001 From: Mayur Kale Date: Wed, 20 May 2020 07:49:54 -0700 Subject: [PATCH 23/33] chore: add examples README.md (#1057) --- examples/README.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 examples/README.md diff --git a/examples/README.md b/examples/README.md new file mode 100644 index 0000000000..9c7a2f94e7 --- /dev/null +++ b/examples/README.md @@ -0,0 +1,29 @@ +# OpenTelemetry JavaScript Examples + +This directory contains a number of examples of how to run real applications +with OpenTelemetry JavaScript. + +### Maintained Examples + +Maintained Examples are expected to be updated with every OpenTelemetry JavaScript release, to +use the latest and greatest features, and best practices. + +|Name | Description | Complexity Level | +------------- | ------------- | ------------ | +|[basic-tracer-node](basic-tracer-node/) | Basic use of Tracing in Node.js application | Beginner | +|[tracer-node](tracer-node/) | Basic use of Tracing in Web application | Beginner | +|[prometheus](prometheus/) | Basic Metric use with Prometheus (`@opentelemetry/exporter-prometheus`) Exporter | Beginner | +|[http](http/) | HTTP Instrumentation to automatically collect trace data and export them to the backend of choice | Intermediate | +|[https](https/) | HTTPS Instrumentation to automatically collect trace data and export them to the backend of choice | Intermediate | +|[grpc](grpc/) | gRPC Instrumentation to automatically collect trace data and export them to the backend of choice | Intermediate | +|[express](express/) | Express Instrumentation to automatically collect trace data and export them to the backend of choice | Intermediate | +|[collector-exporter-node](collector-exporter-node/) | This example shows how to use `@opentelemetry/exporter-collector` to instrument a simple Node.js application | Intermediate | +|[opentracing-shim](opentracing-shim/) | This is a simple example that demonstrates how existing OpenTracing instrumentation can be integrated with OpenTelemetry | Intermediate | + +### Contributing + +Please see [CONTRIBUTING.md](https://github.com/open-telemetry/opentelemetry-js/blob/master/CONTRIBUTING.md) for instructions on how to contribute. + +## LICENSE + +Apache License 2.0 From de61fe7d9d8626c7b145ad917177ebc59adae2cd Mon Sep 17 00:00:00 2001 From: Mayur Kale Date: Wed, 20 May 2020 11:33:19 -0700 Subject: [PATCH 24/33] Add @mwear as an approver (#1084) --- .github/CODEOWNERS | 2 +- README.md | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 033bb9f068..0111f645e4 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -12,4 +12,4 @@ # https://help.github.com/en/articles/about-code-owners # -* @dyladan @mayurkale22 @rochdev @bg451 @OlivierAlbertini @vmarchaud @markwolff @obecny +* @dyladan @mayurkale22 @rochdev @bg451 @OlivierAlbertini @vmarchaud @markwolff @obecny @mwear diff --git a/README.md b/README.md index 34e9c14cff..524566195c 100644 --- a/README.md +++ b/README.md @@ -133,6 +133,7 @@ Approvers ([@open-telemetry/js-approvers](https://github.com/orgs/open-telemetry - [Valentin Marchaud](https://github.com/vmarchaud), Open Source Contributor - [Mark Wolff](https://github.com/markwolff), Microsoft - [Bartlomiej Obecny](https://github.com/obecny), LightStep +- [Matthew Wear](https://github.com/mwear), LightStep *Find more about the approver role in [community repository](https://github.com/open-telemetry/community/blob/master/community-membership.md#approver).* From 05e7bb9c8fbbc8b36200c3b10b463f331a31a6f7 Mon Sep 17 00:00:00 2001 From: Olivier Albertini Date: Wed, 20 May 2020 23:42:17 -0400 Subject: [PATCH 25/33] fix(lint): move tslint to eslint (#892) --- .circleci/config.yml | 8 +-- eslint.config.js | 49 +++++++++++++++ package.json | 6 +- packages/opentelemetry-api/.eslintignore | 1 + packages/opentelemetry-api/.eslintrc.js | 8 +++ packages/opentelemetry-api/package.json | 8 +-- .../opentelemetry-api/src/metrics/Metric.ts | 4 +- .../src/trace/instrumentation/Plugin.ts | 1 - packages/opentelemetry-api/src/version.ts | 4 +- packages/opentelemetry-api/tslint.json | 4 -- .../.eslintignore | 1 + .../.eslintrc.js | 7 +++ .../package.json | 10 ++- .../src/AsyncHooksContextManager.ts | 13 ++-- .../src/index.ts | 4 +- .../src/version.ts | 4 +- .../test/AsyncHooksContextManager.test.ts | 2 +- .../tslint.json | 4 -- .../opentelemetry-context-base/.eslintignore | 1 + .../opentelemetry-context-base/.eslintrc.js | 7 +++ .../opentelemetry-context-base/package.json | 8 +-- .../opentelemetry-context-base/src/index.ts | 4 +- .../opentelemetry-context-base/src/version.ts | 4 +- .../opentelemetry-context-base/tslint.json | 4 -- .../.eslintignore | 1 + .../.eslintrc.js | 11 ++++ .../package.json | 8 +-- .../src/ZoneContextManager.ts | 11 +++- .../src/index.ts | 4 +- .../src/version.ts | 4 +- .../test/utils.test.ts | 8 +-- .../tslint.json | 4 -- .../opentelemetry-context-zone/.eslintignore | 1 + .../opentelemetry-context-zone/.eslintrc.js | 7 +++ .../opentelemetry-context-zone/package.json | 8 +-- .../opentelemetry-context-zone/src/index.ts | 4 +- .../opentelemetry-context-zone/src/version.ts | 4 +- .../opentelemetry-context-zone/tslint.json | 4 -- packages/opentelemetry-core/.eslintignore | 1 + packages/opentelemetry-core/.eslintrc.js | 9 +++ packages/opentelemetry-core/package.json | 10 ++- .../opentelemetry-core/src/ExportResult.ts | 2 +- .../propagation/HttpCorrelationContext.ts | 2 +- .../src/platform/node/BasePlugin.ts | 2 +- packages/opentelemetry-core/src/version.ts | 4 +- .../opentelemetry-core/test/index-webpack.ts | 2 +- .../test/platform/browser/BasePlugin.test.ts | 2 +- .../test-package/foo/bar/internal.d.ts | 15 +++++ .../test/utils/wrap.test.ts | 21 ++++--- packages/opentelemetry-core/tslint.json | 4 -- .../.eslintignore | 1 + .../.eslintrc.js | 9 +++ .../package.json | 8 +-- .../src/CollectorExporterBase.ts | 2 +- .../src/index.ts | 2 +- .../src/platform/browser/CollectorExporter.ts | 2 +- .../src/platform/node/util.ts | 2 +- .../src/transform.ts | 4 +- .../src/types.ts | 5 +- .../src/version.ts | 4 +- .../test/browser/CollectorExporter.test.ts | 15 +++-- .../test/common/CollectorExporter.test.ts | 4 +- .../test/helper.ts | 5 +- .../test/node/CollectorExporter.test.ts | 2 +- .../tslint.json | 4 -- .../.eslintignore | 1 + .../.eslintrc.js | 7 +++ .../package.json | 8 +-- .../src/types.ts | 3 - .../src/version.ts | 4 +- .../opentelemetry-exporter-jaeger/tslint.json | 4 -- .../.eslintignore | 1 + .../.eslintrc.js | 7 +++ .../package.json | 8 +-- .../src/prometheus.ts | 4 +- .../src/version.ts | 4 +- .../test/prometheus.test.ts | 14 ++--- .../tslint.json | 4 -- .../.eslintignore | 1 + .../.eslintrc.js | 7 +++ .../package.json | 8 +-- .../src/version.ts | 4 +- .../test/zipkin.test.ts | 2 +- .../opentelemetry-exporter-zipkin/tslint.json | 4 -- packages/opentelemetry-metrics/.eslintignore | 1 + packages/opentelemetry-metrics/.eslintrc.js | 7 +++ packages/opentelemetry-metrics/package.json | 8 +-- packages/opentelemetry-metrics/src/Meter.ts | 2 +- .../src/export/aggregators/histogram.ts | 2 +- packages/opentelemetry-metrics/src/version.ts | 4 +- packages/opentelemetry-metrics/tslint.json | 4 -- packages/opentelemetry-node/.eslintignore | 1 + packages/opentelemetry-node/.eslintrc.js | 7 +++ packages/opentelemetry-node/package.json | 8 +-- .../src/instrumentation/ext-types.d.ts | 24 ++++--- packages/opentelemetry-node/src/version.ts | 4 +- .../test/instrumentation/PluginLoader.test.ts | 9 ++- .../test/instrumentation/utils.test.ts | 3 +- packages/opentelemetry-node/tslint.json | 4 -- .../opentelemetry-plugin-grpc/.eslintignore | 1 + .../opentelemetry-plugin-grpc/.eslintrc.js | 7 +++ .../opentelemetry-plugin-grpc/package.json | 11 ++-- .../opentelemetry-plugin-grpc/src/grpc.ts | 12 +--- .../opentelemetry-plugin-grpc/src/types.ts | 2 +- .../opentelemetry-plugin-grpc/src/version.ts | 4 +- .../test/grpc.test.ts | 20 +----- .../opentelemetry-plugin-grpc/tslint.json | 4 -- .../opentelemetry-plugin-http/.eslintignore | 1 + .../opentelemetry-plugin-http/.eslintrc.js | 7 +++ .../opentelemetry-plugin-http/package.json | 9 ++- .../src/enums/AttributeNames.ts | 4 +- .../opentelemetry-plugin-http/src/http.ts | 12 ++-- .../opentelemetry-plugin-http/src/index.ts | 4 +- .../opentelemetry-plugin-http/src/types.ts | 15 +++-- .../opentelemetry-plugin-http/src/utils.ts | 33 +++++----- .../opentelemetry-plugin-http/src/version.ts | 4 +- .../test/functionals/http-disable.test.ts | 5 +- .../test/functionals/http-enable.test.ts | 38 +++++------- .../test/functionals/http-package.test.ts | 4 +- .../test/functionals/utils.test.ts | 25 ++++---- .../test/integrations/http-enable.test.ts | 14 +++-- .../test/utils/DummyPropagation.ts | 6 +- .../test/utils/assertSpan.ts | 7 +-- .../test/utils/httpRequest.ts | 6 +- .../test/utils/utils.ts | 5 +- .../opentelemetry-plugin-http/tslint.json | 4 -- .../opentelemetry-plugin-https/.eslintignore | 1 + .../opentelemetry-plugin-https/.eslintrc.js | 7 +++ .../opentelemetry-plugin-https/package.json | 8 +-- .../opentelemetry-plugin-https/src/version.ts | 4 +- .../test/functionals/https-enable.test.ts | 13 ++-- .../test/functionals/https-package.test.ts | 2 +- .../test/integrations/https-enable.test.ts | 4 +- .../test/utils/httpsRequest.ts | 1 + .../opentelemetry-plugin-https/tslint.json | 4 -- .../.eslintignore | 1 + .../.eslintrc.js | 9 +++ .../package.json | 8 +-- .../src/version.ts | 4 +- .../src/xhr.ts | 2 +- .../test/xhr.test.ts | 11 ++-- .../tslint.json | 4 -- .../opentelemetry-resources/.eslintignore | 1 + packages/opentelemetry-resources/.eslintrc.js | 9 +++ packages/opentelemetry-resources/package.json | 8 +-- .../platform/node/detectors/EnvDetector.ts | 5 +- .../opentelemetry-resources/src/version.ts | 4 +- .../test/detect-resources.test.ts | 8 +-- .../test/detectors/AwsEc2Detector.test.ts | 8 +-- .../test/util/resource-assertions.ts | 1 + packages/opentelemetry-resources/tslint.json | 7 --- .../.eslintignore | 1 + .../.eslintrc.js | 7 +++ .../package.json | 8 +-- .../src/shim.ts | 14 +++-- .../src/version.ts | 4 +- .../tslint.json | 4 -- .../opentelemetry-test-utils/.eslintignore | 1 + .../opentelemetry-test-utils/.eslintrc.js | 7 +++ .../opentelemetry-test-utils/package.json | 8 +-- .../opentelemetry-test-utils/testUtils.ts | 3 +- packages/opentelemetry-test-utils/tslint.json | 4 -- packages/opentelemetry-tracing/.eslintignore | 2 + packages/opentelemetry-tracing/.eslintrc.js | 9 +++ packages/opentelemetry-tracing/package.json | 16 ++--- packages/opentelemetry-tracing/src/version.ts | 4 +- .../test/export/ConsoleSpanExporter.test.ts | 4 +- packages/opentelemetry-tracing/tslint.json | 4 -- packages/opentelemetry-web/.eslintignore | 1 + packages/opentelemetry-web/.eslintrc.js | 9 +++ packages/opentelemetry-web/package.json | 8 +-- .../src/StackContextManager.ts | 4 +- .../src/WebTracerProvider.ts | 6 +- packages/opentelemetry-web/src/version.ts | 4 +- .../test/WebTracerProvider.test.ts | 3 +- packages/opentelemetry-web/tslint.json | 4 -- scripts/version-update.js | 8 +-- tslint.base.js | 62 ------------------- 178 files changed, 598 insertions(+), 580 deletions(-) create mode 100644 eslint.config.js create mode 100644 packages/opentelemetry-api/.eslintignore create mode 100644 packages/opentelemetry-api/.eslintrc.js delete mode 100644 packages/opentelemetry-api/tslint.json create mode 100644 packages/opentelemetry-context-async-hooks/.eslintignore create mode 100644 packages/opentelemetry-context-async-hooks/.eslintrc.js delete mode 100644 packages/opentelemetry-context-async-hooks/tslint.json create mode 100644 packages/opentelemetry-context-base/.eslintignore create mode 100644 packages/opentelemetry-context-base/.eslintrc.js delete mode 100644 packages/opentelemetry-context-base/tslint.json create mode 100644 packages/opentelemetry-context-zone-peer-dep/.eslintignore create mode 100644 packages/opentelemetry-context-zone-peer-dep/.eslintrc.js delete mode 100644 packages/opentelemetry-context-zone-peer-dep/tslint.json create mode 100644 packages/opentelemetry-context-zone/.eslintignore create mode 100644 packages/opentelemetry-context-zone/.eslintrc.js delete mode 100644 packages/opentelemetry-context-zone/tslint.json create mode 100644 packages/opentelemetry-core/.eslintignore create mode 100644 packages/opentelemetry-core/.eslintrc.js delete mode 100644 packages/opentelemetry-core/tslint.json create mode 100644 packages/opentelemetry-exporter-collector/.eslintignore create mode 100644 packages/opentelemetry-exporter-collector/.eslintrc.js delete mode 100644 packages/opentelemetry-exporter-collector/tslint.json create mode 100644 packages/opentelemetry-exporter-jaeger/.eslintignore create mode 100644 packages/opentelemetry-exporter-jaeger/.eslintrc.js delete mode 100644 packages/opentelemetry-exporter-jaeger/tslint.json create mode 100644 packages/opentelemetry-exporter-prometheus/.eslintignore create mode 100644 packages/opentelemetry-exporter-prometheus/.eslintrc.js delete mode 100644 packages/opentelemetry-exporter-prometheus/tslint.json create mode 100644 packages/opentelemetry-exporter-zipkin/.eslintignore create mode 100644 packages/opentelemetry-exporter-zipkin/.eslintrc.js delete mode 100644 packages/opentelemetry-exporter-zipkin/tslint.json create mode 100644 packages/opentelemetry-metrics/.eslintignore create mode 100644 packages/opentelemetry-metrics/.eslintrc.js delete mode 100644 packages/opentelemetry-metrics/tslint.json create mode 100644 packages/opentelemetry-node/.eslintignore create mode 100644 packages/opentelemetry-node/.eslintrc.js delete mode 100644 packages/opentelemetry-node/tslint.json create mode 100644 packages/opentelemetry-plugin-grpc/.eslintignore create mode 100644 packages/opentelemetry-plugin-grpc/.eslintrc.js delete mode 100644 packages/opentelemetry-plugin-grpc/tslint.json create mode 100644 packages/opentelemetry-plugin-http/.eslintignore create mode 100644 packages/opentelemetry-plugin-http/.eslintrc.js delete mode 100644 packages/opentelemetry-plugin-http/tslint.json create mode 100644 packages/opentelemetry-plugin-https/.eslintignore create mode 100644 packages/opentelemetry-plugin-https/.eslintrc.js delete mode 100644 packages/opentelemetry-plugin-https/tslint.json create mode 100644 packages/opentelemetry-plugin-xml-http-request/.eslintignore create mode 100644 packages/opentelemetry-plugin-xml-http-request/.eslintrc.js delete mode 100644 packages/opentelemetry-plugin-xml-http-request/tslint.json create mode 100644 packages/opentelemetry-resources/.eslintignore create mode 100644 packages/opentelemetry-resources/.eslintrc.js delete mode 100644 packages/opentelemetry-resources/tslint.json create mode 100644 packages/opentelemetry-shim-opentracing/.eslintignore create mode 100644 packages/opentelemetry-shim-opentracing/.eslintrc.js delete mode 100644 packages/opentelemetry-shim-opentracing/tslint.json create mode 100644 packages/opentelemetry-test-utils/.eslintignore create mode 100644 packages/opentelemetry-test-utils/.eslintrc.js delete mode 100644 packages/opentelemetry-test-utils/tslint.json create mode 100644 packages/opentelemetry-tracing/.eslintignore create mode 100644 packages/opentelemetry-tracing/.eslintrc.js delete mode 100644 packages/opentelemetry-tracing/tslint.json create mode 100644 packages/opentelemetry-web/.eslintignore create mode 100644 packages/opentelemetry-web/.eslintrc.js delete mode 100644 packages/opentelemetry-web/tslint.json delete mode 100644 tslint.base.js diff --git a/.circleci/config.yml b/.circleci/config.yml index 2a72e5aea3..adcd21056c 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -124,13 +124,13 @@ jobs: - checkout - run: name: Install minimal doc and lint modules globally - command: npm i -g tslint lerna typedoc linkinator typescript tslint-consistent-codestyle tslint-microsoft-contrib + command: npm i -g eslint eslint-plugin-node @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-plugin-header eslint-plugin-import eslint-plugin-prettier prettier lerna typedoc linkinator typescript - run: - name: Install gts version 1.1.0 globally - command: npm i -g gts@1.1.0 + name: Install gts version 2.0.0 globally + command: npm i -g gts@2.0.0 - run: name: Symlink global modules into all lerna packages - command: lerna exec 'npm link tslint lerna typedoc linkinator typescript gts tslint-consistent-codestyle tslint-microsoft-contrib' + command: lerna exec 'npm link eslint gts eslint-plugin-node @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-plugin-header eslint-plugin-import eslint-plugin-prettier prettier lerna typedoc linkinator typescript' - run: name: Check code style and linting command: npm run lint diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 0000000000..5a83bea117 --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,49 @@ +module.exports = { + plugins: [ + "@typescript-eslint", + "header" + ], + extends: [ + "./node_modules/gts", + ], + parser: "@typescript-eslint/parser", + parserOptions: { + "project": "./tsconfig.json" + }, + rules: { + "@typescript-eslint/no-this-alias": "off", + "eqeqeq": "off", + "prefer-rest-params": "off", + "@typescript-eslint/naming-convention": [ + "error", + { + "selector": "memberLike", + "modifiers": ["private", "protected"], + "format": ["camelCase"], + "leadingUnderscore": "require" + } + ], + "@typescript-eslint/no-inferrable-types": ["error", { ignoreProperties: true }], + "arrow-parens": ["error", "as-needed"], + "prettier/prettier": ["error", { "singleQuote": true, "arrowParens": "avoid" }], + "node/no-deprecated-api": ["warn"], + "header/header": [2, "block", [{ + pattern: / \* Copyright \d{4}, OpenTelemetry Authors[\r\n]+ \*[\r\n]+ \* Licensed under the Apache License, Version 2\.0 \(the \"License\"\);[\r\n]+ \* you may not use this file except in compliance with the License\.[\r\n]+ \* You may obtain a copy of the License at[\r\n]+ \*[\r\n]+ \* https:\/\/www\.apache\.org\/licenses\/LICENSE-2\.0[\r\n]+ \*[\r\n]+ \* Unless required by applicable law or agreed to in writing, software[\r\n]+ \* distributed under the License is distributed on an \"AS IS\" BASIS,[\r\n]+ \* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied\.[\r\n]+ \* See the License for the specific language governing permissions and[\r\n]+ \* limitations under the License\./gm, + template: + `\n * Copyright ${new Date().getFullYear()}, OpenTelemetry Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n ` + }]] + }, + overrides: [ + { + "files": ["test/**/*.ts"], + "rules": { + "no-empty": "off", + "@typescript-eslint/ban-ts-ignore": "off", + "@typescript-eslint/no-empty-function": "off", + "@typescript-eslint/no-explicit-any": "off", + "@typescript-eslint/no-unused-vars": "off", + "@typescript-eslint/no-var-requires": "off" + } + } + ] +}; diff --git a/package.json b/package.json index 9d801343c5..f96d35db80 100644 --- a/package.json +++ b/package.json @@ -45,12 +45,14 @@ "eslint": "^6.8.0", "eslint-config-airbnb-base": "^14.0.0", "eslint-plugin-import": "^2.19.1", + "eslint-plugin-header": "^3.0.0", + "@typescript-eslint/eslint-plugin": "^2.23.0", + "@typescript-eslint/parser": "^2.23.0", "gh-pages": "^2.1.1", - "gts": "^1.1.0", + "gts": "^2.0.0", "husky": "^3.0.9", "lerna": "^3.17.0", "lerna-changelog": "^1.0.0", - "tslint": "^5.0.0", "typescript": "^3.7.2" }, "husky": { diff --git a/packages/opentelemetry-api/.eslintignore b/packages/opentelemetry-api/.eslintignore new file mode 100644 index 0000000000..378eac25d3 --- /dev/null +++ b/packages/opentelemetry-api/.eslintignore @@ -0,0 +1 @@ +build diff --git a/packages/opentelemetry-api/.eslintrc.js b/packages/opentelemetry-api/.eslintrc.js new file mode 100644 index 0000000000..e20344660f --- /dev/null +++ b/packages/opentelemetry-api/.eslintrc.js @@ -0,0 +1,8 @@ +module.exports = { + "env": { + "mocha": true, + "commonjs": true, + "shared-node-browser": true + }, + ...require('../../eslint.config.js') +} diff --git a/packages/opentelemetry-api/package.json b/packages/opentelemetry-api/package.json index 89b6b46ad6..40195286d4 100644 --- a/packages/opentelemetry-api/package.json +++ b/packages/opentelemetry-api/package.json @@ -11,8 +11,8 @@ "codecov": "nyc report --reporter=json && codecov -f coverage/*.json -p ../../", "codecov:browser": "nyc report --reporter=json && codecov -f coverage/*.json -p ../../", "build": "npm run compile", - "lint": "gts check", - "lint:fix": "gts fix", + "lint": "eslint . --ext .ts", + "lint:fix": "eslint . --ext .ts --fix", "precompile": "tsc --version", "version:update": "node ../../scripts/version-update.js", "compile": "npm run version:update && tsc -p .", @@ -54,7 +54,7 @@ "@types/node": "^12.6.8", "@types/webpack-env": "1.13.9", "codecov": "^3.6.1", - "gts": "^1.1.0", + "gts": "^2.0.0", "istanbul-instrumenter-loader": "^3.0.1", "karma": "^5.0.5", "karma-chrome-launcher": "^3.1.0", @@ -67,8 +67,6 @@ "nyc": "^15.0.0", "ts-loader": "^6.0.4", "ts-mocha": "^7.0.0", - "tslint-consistent-codestyle": "^1.16.0", - "tslint-microsoft-contrib": "^6.2.0", "typedoc": "^0.15.0", "typescript": "3.7.2", "webpack": "^4.35.2" diff --git a/packages/opentelemetry-api/src/metrics/Metric.ts b/packages/opentelemetry-api/src/metrics/Metric.ts index 4023a73393..3c44696cc8 100644 --- a/packages/opentelemetry-api/src/metrics/Metric.ts +++ b/packages/opentelemetry-api/src/metrics/Metric.ts @@ -108,14 +108,14 @@ export interface UnboundMetric extends Metric { export interface Counter extends UnboundMetric { /** - * Adds the given value to the current value. Values cannot be negative. + * Adds the given value to the current value. Values cannot be negative. */ add(value: number, labels?: Labels): void; } export interface Measure extends UnboundMetric { /** - * Records the given value to this measure. + * Records the given value to this measure. */ record(value: number, labels?: Labels): void; diff --git a/packages/opentelemetry-api/src/trace/instrumentation/Plugin.ts b/packages/opentelemetry-api/src/trace/instrumentation/Plugin.ts index c255fbe857..2206d4b0e0 100644 --- a/packages/opentelemetry-api/src/trace/instrumentation/Plugin.ts +++ b/packages/opentelemetry-api/src/trace/instrumentation/Plugin.ts @@ -18,7 +18,6 @@ import { Logger } from '../../common/Logger'; import { TracerProvider } from '../tracer_provider'; /** Interface Plugin to apply patch. */ -// tslint:disable-next-line:no-any export interface Plugin { /** * Contains all supported versions. diff --git a/packages/opentelemetry-api/src/version.ts b/packages/opentelemetry-api/src/version.ts index fcfa16a915..2a73db3923 100644 --- a/packages/opentelemetry-api/src/version.ts +++ b/packages/opentelemetry-api/src/version.ts @@ -1,5 +1,5 @@ -/*! - * Copyright 2019, OpenTelemetry Authors +/* + * Copyright 2020, OpenTelemetry Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/opentelemetry-api/tslint.json b/packages/opentelemetry-api/tslint.json deleted file mode 100644 index 0710b135d0..0000000000 --- a/packages/opentelemetry-api/tslint.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "rulesDirectory": ["node_modules/tslint-microsoft-contrib"], - "extends": ["../../tslint.base.js", "./node_modules/tslint-consistent-codestyle"] -} diff --git a/packages/opentelemetry-context-async-hooks/.eslintignore b/packages/opentelemetry-context-async-hooks/.eslintignore new file mode 100644 index 0000000000..378eac25d3 --- /dev/null +++ b/packages/opentelemetry-context-async-hooks/.eslintignore @@ -0,0 +1 @@ +build diff --git a/packages/opentelemetry-context-async-hooks/.eslintrc.js b/packages/opentelemetry-context-async-hooks/.eslintrc.js new file mode 100644 index 0000000000..f726f3becb --- /dev/null +++ b/packages/opentelemetry-context-async-hooks/.eslintrc.js @@ -0,0 +1,7 @@ +module.exports = { + "env": { + "mocha": true, + "node": true + }, + ...require('../../eslint.config.js') +} diff --git a/packages/opentelemetry-context-async-hooks/package.json b/packages/opentelemetry-context-async-hooks/package.json index af89ec54d4..4db7392621 100644 --- a/packages/opentelemetry-context-async-hooks/package.json +++ b/packages/opentelemetry-context-async-hooks/package.json @@ -10,8 +10,8 @@ "tdd": "npm run test -- --watch-extensions ts --watch", "codecov": "nyc report --reporter=json && codecov -f coverage/*.json -p ../../", "clean": "rimraf build/*", - "lint": "gts check", - "lint:fix": "gts fix", + "lint": "eslint . --ext .ts", + "lint:fix": "eslint . --ext .ts --fix", "precompile": "tsc --version", "version:update": "node ../../scripts/version-update.js", "compile": "npm run version:update && tsc -p .", @@ -28,7 +28,7 @@ "author": "OpenTelemetry Authors", "license": "Apache-2.0", "engines": { - "node": ">=8.0.0" + "node": ">=8.1.0" }, "files": [ "build/src/**/*.js", @@ -45,14 +45,12 @@ "@types/node": "^12.6.8", "@types/shimmer": "^1.0.1", "codecov": "^3.6.1", - "gts": "^1.1.0", + "gts": "^2.0.0", "mocha": "^7.1.2", "nyc": "^15.0.0", "rimraf": "^3.0.0", "ts-mocha": "^7.0.0", "ts-node": "^8.6.2", - "tslint-consistent-codestyle": "^1.16.0", - "tslint-microsoft-contrib": "^6.2.0", "typescript": "3.7.2" }, "dependencies": { diff --git a/packages/opentelemetry-context-async-hooks/src/AsyncHooksContextManager.ts b/packages/opentelemetry-context-async-hooks/src/AsyncHooksContextManager.ts index 4ea8fe78d4..f970ab397d 100644 --- a/packages/opentelemetry-context-async-hooks/src/AsyncHooksContextManager.ts +++ b/packages/opentelemetry-context-async-hooks/src/AsyncHooksContextManager.ts @@ -83,8 +83,6 @@ export class AsyncHooksContextManager implements ContextManager { } try { return fn(); - } catch (err) { - throw err; } finally { if (oldContext === undefined) { this._destroy(uid); @@ -110,8 +108,6 @@ export class AsyncHooksContextManager implements ContextManager { } try { return await fn(); - } catch (err) { - throw err; } finally { if (oldContext === undefined) { this._destroy(uid); @@ -147,7 +143,7 @@ export class AsyncHooksContextManager implements ContextManager { private _bindFunction(target: T, context: Context): T { const manager = this; - const contextWrapper = function(this: {}, ...args: unknown[]) { + const contextWrapper = function (this: {}, ...args: unknown[]) { return manager.with(context, () => target.apply(this, args)); }; Object.defineProperty(contextWrapper, 'length', { @@ -160,7 +156,6 @@ export class AsyncHooksContextManager implements ContextManager { * It isn't possible to tell Typescript that contextWrapper is the same as T * so we forced to cast as any here. */ - // tslint:disable-next-line:no-any return contextWrapper as any; } @@ -208,7 +203,7 @@ export class AsyncHooksContextManager implements ContextManager { * @param original reference to the patched method */ private _patchRemoveListener(ee: PatchedEventEmitter, original: Function) { - return function(this: {}, event: string, listener: Func) { + return function (this: {}, event: string, listener: Func) { if ( ee.__ot_listeners === undefined || ee.__ot_listeners[event] === undefined @@ -231,7 +226,7 @@ export class AsyncHooksContextManager implements ContextManager { ee: PatchedEventEmitter, original: Function ) { - return function(this: {}, event: string) { + return function (this: {}, event: string) { if ( ee.__ot_listeners === undefined || ee.__ot_listeners[event] === undefined @@ -256,7 +251,7 @@ export class AsyncHooksContextManager implements ContextManager { context: Context ) { const contextManager = this; - return function(this: {}, event: string, listener: Func) { + return function (this: {}, event: string, listener: Func) { if (ee.__ot_listeners === undefined) ee.__ot_listeners = {}; let listeners = ee.__ot_listeners[event]; if (listeners === undefined) { diff --git a/packages/opentelemetry-context-async-hooks/src/index.ts b/packages/opentelemetry-context-async-hooks/src/index.ts index e0dd94f9ea..8a45a59477 100644 --- a/packages/opentelemetry-context-async-hooks/src/index.ts +++ b/packages/opentelemetry-context-async-hooks/src/index.ts @@ -1,5 +1,5 @@ -/*! - * Copyright 2019, OpenTelemetry Authors +/* + * Copyright 2020, OpenTelemetry Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/opentelemetry-context-async-hooks/src/version.ts b/packages/opentelemetry-context-async-hooks/src/version.ts index fcfa16a915..2a73db3923 100644 --- a/packages/opentelemetry-context-async-hooks/src/version.ts +++ b/packages/opentelemetry-context-async-hooks/src/version.ts @@ -1,5 +1,5 @@ -/*! - * Copyright 2019, OpenTelemetry Authors +/* + * Copyright 2020, OpenTelemetry Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/opentelemetry-context-async-hooks/test/AsyncHooksContextManager.test.ts b/packages/opentelemetry-context-async-hooks/test/AsyncHooksContextManager.test.ts index 8c6c648a88..1c2429694e 100644 --- a/packages/opentelemetry-context-async-hooks/test/AsyncHooksContextManager.test.ts +++ b/packages/opentelemetry-context-async-hooks/test/AsyncHooksContextManager.test.ts @@ -202,7 +202,7 @@ describe('AsyncHooksContextManager', () => { it('not awaited withAsync() inside with() should not restore context', done => { const scope1 = '1' as any; const scope2 = '2' as any; - let _done: boolean = false; + let _done = false; contextManager.with(scope1, () => { assert.strictEqual(contextManager.active(), scope1); diff --git a/packages/opentelemetry-context-async-hooks/tslint.json b/packages/opentelemetry-context-async-hooks/tslint.json deleted file mode 100644 index 0710b135d0..0000000000 --- a/packages/opentelemetry-context-async-hooks/tslint.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "rulesDirectory": ["node_modules/tslint-microsoft-contrib"], - "extends": ["../../tslint.base.js", "./node_modules/tslint-consistent-codestyle"] -} diff --git a/packages/opentelemetry-context-base/.eslintignore b/packages/opentelemetry-context-base/.eslintignore new file mode 100644 index 0000000000..378eac25d3 --- /dev/null +++ b/packages/opentelemetry-context-base/.eslintignore @@ -0,0 +1 @@ +build diff --git a/packages/opentelemetry-context-base/.eslintrc.js b/packages/opentelemetry-context-base/.eslintrc.js new file mode 100644 index 0000000000..f726f3becb --- /dev/null +++ b/packages/opentelemetry-context-base/.eslintrc.js @@ -0,0 +1,7 @@ +module.exports = { + "env": { + "mocha": true, + "node": true + }, + ...require('../../eslint.config.js') +} diff --git a/packages/opentelemetry-context-base/package.json b/packages/opentelemetry-context-base/package.json index 276f5ff338..d17375780b 100644 --- a/packages/opentelemetry-context-base/package.json +++ b/packages/opentelemetry-context-base/package.json @@ -10,8 +10,8 @@ "tdd": "npm run test -- --watch-extensions ts --watch", "codecov": "nyc report --reporter=json && codecov -f coverage/*.json -p ../../", "clean": "rimraf build/*", - "lint": "gts check", - "lint:fix": "gts fix", + "lint": "eslint . --ext .ts", + "lint:fix": "eslint . --ext .ts --fix", "precompile": "tsc --version", "version:update": "node ../../scripts/version-update.js", "compile": "npm run version:update && tsc -p .", @@ -46,14 +46,12 @@ "@types/mocha": "^7.0.0", "@types/node": "^12.6.8", "codecov": "^3.6.1", - "gts": "^1.1.0", + "gts": "^2.0.0", "mocha": "^7.1.2", "nyc": "^15.0.0", "rimraf": "^3.0.0", "ts-mocha": "^7.0.0", "ts-node": "^8.6.2", - "tslint-consistent-codestyle": "^1.16.0", - "tslint-microsoft-contrib": "^6.2.0", "typescript": "3.7.2" } } diff --git a/packages/opentelemetry-context-base/src/index.ts b/packages/opentelemetry-context-base/src/index.ts index 25bf328c13..edbc18c622 100644 --- a/packages/opentelemetry-context-base/src/index.ts +++ b/packages/opentelemetry-context-base/src/index.ts @@ -1,5 +1,5 @@ -/*! - * Copyright 2019, OpenTelemetry Authors +/* + * Copyright 2020, OpenTelemetry Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/opentelemetry-context-base/src/version.ts b/packages/opentelemetry-context-base/src/version.ts index fcfa16a915..2a73db3923 100644 --- a/packages/opentelemetry-context-base/src/version.ts +++ b/packages/opentelemetry-context-base/src/version.ts @@ -1,5 +1,5 @@ -/*! - * Copyright 2019, OpenTelemetry Authors +/* + * Copyright 2020, OpenTelemetry Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/opentelemetry-context-base/tslint.json b/packages/opentelemetry-context-base/tslint.json deleted file mode 100644 index 0710b135d0..0000000000 --- a/packages/opentelemetry-context-base/tslint.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "rulesDirectory": ["node_modules/tslint-microsoft-contrib"], - "extends": ["../../tslint.base.js", "./node_modules/tslint-consistent-codestyle"] -} diff --git a/packages/opentelemetry-context-zone-peer-dep/.eslintignore b/packages/opentelemetry-context-zone-peer-dep/.eslintignore new file mode 100644 index 0000000000..378eac25d3 --- /dev/null +++ b/packages/opentelemetry-context-zone-peer-dep/.eslintignore @@ -0,0 +1 @@ +build diff --git a/packages/opentelemetry-context-zone-peer-dep/.eslintrc.js b/packages/opentelemetry-context-zone-peer-dep/.eslintrc.js new file mode 100644 index 0000000000..f21c674001 --- /dev/null +++ b/packages/opentelemetry-context-zone-peer-dep/.eslintrc.js @@ -0,0 +1,11 @@ +module.exports = { + "env": { + "mocha": true, + "browser": true, + "commonjs": true + }, + "globals": { + "Zone": "readonly" + }, + ...require('../../eslint.config.js') +} diff --git a/packages/opentelemetry-context-zone-peer-dep/package.json b/packages/opentelemetry-context-zone-peer-dep/package.json index 7fd60fba5d..6fd95f8022 100644 --- a/packages/opentelemetry-context-zone-peer-dep/package.json +++ b/packages/opentelemetry-context-zone-peer-dep/package.json @@ -6,8 +6,8 @@ "types": "build/src/index.d.ts", "repository": "open-telemetry/opentelemetry-js", "scripts": { - "lint": "gts check", - "lint:fix": "gts fix", + "lint": "eslint . --ext .ts", + "lint:fix": "eslint . --ext .ts --fix", "clean": "rimraf build/*", "codecov:browser": "nyc report --reporter=json && codecov -f coverage/*.json -p ../../", "version:update": "node ../../scripts/version-update.js", @@ -49,7 +49,7 @@ "@types/zone.js": "^0.5.12", "babel-loader": "^8.0.6", "codecov": "^3.6.1", - "gts": "^1.1.0", + "gts": "^2.0.0", "istanbul-instrumenter-loader": "^3.0.1", "karma": "^5.0.5", "karma-chrome-launcher": "^3.1.0", @@ -64,8 +64,6 @@ "ts-loader": "^6.0.4", "ts-mocha": "^7.0.0", "ts-node": "^8.6.2", - "tslint-consistent-codestyle": "^1.16.0", - "tslint-microsoft-contrib": "^6.2.0", "typescript": "^3.6.3", "webpack": "^4.35.2", "webpack-cli": "^3.3.9", diff --git a/packages/opentelemetry-context-zone-peer-dep/src/ZoneContextManager.ts b/packages/opentelemetry-context-zone-peer-dep/src/ZoneContextManager.ts index cd388f94b8..c985738ff4 100644 --- a/packages/opentelemetry-context-zone-peer-dep/src/ZoneContextManager.ts +++ b/packages/opentelemetry-context-zone-peer-dep/src/ZoneContextManager.ts @@ -57,7 +57,7 @@ export class ZoneContextManager implements ContextManager { */ private _bindFunction(target: T, context: Context): T { const manager = this; - const contextWrapper = function(this: any, ...args: unknown[]) { + const contextWrapper = function (this: any, ...args: unknown[]) { return manager.with(context, () => target.apply(this, args)); }; Object.defineProperty(contextWrapper, 'length', { @@ -141,7 +141,12 @@ export class ZoneContextManager implements ContextManager { ) { const contextManager = this; - return function(this: {}, event: string, listener: Func, opts?: any) { + return function ( + this: {}, + event: string, + listener: Func, + opts?: any + ) { if (target.__ot_listeners === undefined) { target.__ot_listeners = {}; } @@ -166,7 +171,7 @@ export class ZoneContextManager implements ContextManager { target: TargetWithEvents, original: Function ) { - return function(this: {}, event: string, listener: Func) { + return function (this: {}, event: string, listener: Func) { if ( target.__ot_listeners === undefined || target.__ot_listeners[event] === undefined diff --git a/packages/opentelemetry-context-zone-peer-dep/src/index.ts b/packages/opentelemetry-context-zone-peer-dep/src/index.ts index cee3639760..2c37135209 100644 --- a/packages/opentelemetry-context-zone-peer-dep/src/index.ts +++ b/packages/opentelemetry-context-zone-peer-dep/src/index.ts @@ -1,5 +1,5 @@ -/*! - * Copyright 2019, OpenTelemetry Authors +/* + * Copyright 2020, OpenTelemetry Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/opentelemetry-context-zone-peer-dep/src/version.ts b/packages/opentelemetry-context-zone-peer-dep/src/version.ts index fcfa16a915..2a73db3923 100644 --- a/packages/opentelemetry-context-zone-peer-dep/src/version.ts +++ b/packages/opentelemetry-context-zone-peer-dep/src/version.ts @@ -1,5 +1,5 @@ -/*! - * Copyright 2019, OpenTelemetry Authors +/* + * Copyright 2020, OpenTelemetry Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/opentelemetry-context-zone-peer-dep/test/utils.test.ts b/packages/opentelemetry-context-zone-peer-dep/test/utils.test.ts index b0b7fab844..66e649e26d 100644 --- a/packages/opentelemetry-context-zone-peer-dep/test/utils.test.ts +++ b/packages/opentelemetry-context-zone-peer-dep/test/utils.test.ts @@ -22,8 +22,8 @@ describe('ZoneContextManager utils', () => { describe('when object contains "addEventListener" and "removeEventListener"', () => { it('should return true', () => { const obj = { - addEventListener: function() {}, - removeEventListener: function() {}, + addEventListener: function () {}, + removeEventListener: function () {}, }; assert.strictEqual(utils.isListenerObject(obj), true); }); @@ -37,7 +37,7 @@ describe('ZoneContextManager utils', () => { describe('when object contains "addEventListener" only', () => { it('should return false', () => { const obj = { - addEventListener: function() {}, + addEventListener: function () {}, }; assert.strictEqual(utils.isListenerObject(obj), false); }); @@ -45,7 +45,7 @@ describe('ZoneContextManager utils', () => { describe('when object contains "removeEventListener" only', () => { it('should return false', () => { const obj = { - removeEventListener: function() {}, + removeEventListener: function () {}, }; assert.strictEqual(utils.isListenerObject(obj), false); }); diff --git a/packages/opentelemetry-context-zone-peer-dep/tslint.json b/packages/opentelemetry-context-zone-peer-dep/tslint.json deleted file mode 100644 index 0710b135d0..0000000000 --- a/packages/opentelemetry-context-zone-peer-dep/tslint.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "rulesDirectory": ["node_modules/tslint-microsoft-contrib"], - "extends": ["../../tslint.base.js", "./node_modules/tslint-consistent-codestyle"] -} diff --git a/packages/opentelemetry-context-zone/.eslintignore b/packages/opentelemetry-context-zone/.eslintignore new file mode 100644 index 0000000000..378eac25d3 --- /dev/null +++ b/packages/opentelemetry-context-zone/.eslintignore @@ -0,0 +1 @@ +build diff --git a/packages/opentelemetry-context-zone/.eslintrc.js b/packages/opentelemetry-context-zone/.eslintrc.js new file mode 100644 index 0000000000..c21aa0e358 --- /dev/null +++ b/packages/opentelemetry-context-zone/.eslintrc.js @@ -0,0 +1,7 @@ +module.exports = { + "env": { + "browser": true, + "commonjs": true + }, + ...require('../../eslint.config.js') +} diff --git a/packages/opentelemetry-context-zone/package.json b/packages/opentelemetry-context-zone/package.json index ecfbb41ef7..d69938af82 100644 --- a/packages/opentelemetry-context-zone/package.json +++ b/packages/opentelemetry-context-zone/package.json @@ -6,8 +6,8 @@ "types": "build/src/index.d.ts", "repository": "open-telemetry/opentelemetry-js", "scripts": { - "lint": "gts check", - "lint:fix": "gts fix", + "lint": "eslint . --ext .ts", + "lint:fix": "eslint . --ext .ts --fix", "clean": "rimraf build/*", "version:update": "node ../../scripts/version-update.js", "compile": "npm run version:update && tsc -p .", @@ -45,7 +45,7 @@ "@types/webpack-env": "1.13.9", "babel-loader": "^8.0.6", "codecov": "^3.6.1", - "gts": "^1.1.0", + "gts": "^2.0.0", "karma": "^5.0.5", "karma-chrome-launcher": "^2.2.0", "karma-mocha": "^2.0.1", @@ -58,8 +58,6 @@ "ts-loader": "^6.0.4", "ts-mocha": "^7.0.0", "ts-node": "^8.6.2", - "tslint-consistent-codestyle": "^1.16.0", - "tslint-microsoft-contrib": "^6.2.0", "typescript": "^3.6.3", "webpack": "^4.35.2", "webpack-cli": "^3.3.9", diff --git a/packages/opentelemetry-context-zone/src/index.ts b/packages/opentelemetry-context-zone/src/index.ts index cd86de18ab..df2ea15056 100644 --- a/packages/opentelemetry-context-zone/src/index.ts +++ b/packages/opentelemetry-context-zone/src/index.ts @@ -1,5 +1,5 @@ -/*! - * Copyright 2019, OpenTelemetry Authors +/* + * Copyright 2020, OpenTelemetry Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/opentelemetry-context-zone/src/version.ts b/packages/opentelemetry-context-zone/src/version.ts index fcfa16a915..2a73db3923 100644 --- a/packages/opentelemetry-context-zone/src/version.ts +++ b/packages/opentelemetry-context-zone/src/version.ts @@ -1,5 +1,5 @@ -/*! - * Copyright 2019, OpenTelemetry Authors +/* + * Copyright 2020, OpenTelemetry Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/opentelemetry-context-zone/tslint.json b/packages/opentelemetry-context-zone/tslint.json deleted file mode 100644 index 0710b135d0..0000000000 --- a/packages/opentelemetry-context-zone/tslint.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "rulesDirectory": ["node_modules/tslint-microsoft-contrib"], - "extends": ["../../tslint.base.js", "./node_modules/tslint-consistent-codestyle"] -} diff --git a/packages/opentelemetry-core/.eslintignore b/packages/opentelemetry-core/.eslintignore new file mode 100644 index 0000000000..378eac25d3 --- /dev/null +++ b/packages/opentelemetry-core/.eslintignore @@ -0,0 +1 @@ +build diff --git a/packages/opentelemetry-core/.eslintrc.js b/packages/opentelemetry-core/.eslintrc.js new file mode 100644 index 0000000000..9dfe62f9b8 --- /dev/null +++ b/packages/opentelemetry-core/.eslintrc.js @@ -0,0 +1,9 @@ +module.exports = { + "env": { + "mocha": true, + "commonjs": true, + "node": true, + "browser": true + }, + ...require('../../eslint.config.js') +} diff --git a/packages/opentelemetry-core/package.json b/packages/opentelemetry-core/package.json index e6e3418db5..f00a765f3a 100644 --- a/packages/opentelemetry-core/package.json +++ b/packages/opentelemetry-core/package.json @@ -18,8 +18,8 @@ "codecov": "nyc report --reporter=json && codecov -f coverage/*.json -p ../../", "codecov:browser": "nyc report --reporter=json && codecov -f coverage/*.json -p ../../", "clean": "rimraf build/*", - "lint": "gts check", - "lint:fix": "gts fix", + "lint": "eslint . --ext .ts", + "lint:fix": "eslint . --ext .ts --fix", "precompile": "tsc --version", "compile": "npm run version:update && tsc -p .", "prepare": "npm run compile", @@ -38,7 +38,7 @@ "author": "OpenTelemetry Authors", "license": "Apache-2.0", "engines": { - "node": ">=8.0.0" + "node": ">=8.5.0" }, "files": [ "build/src/**/*.js", @@ -57,7 +57,7 @@ "@types/sinon": "^7.0.13", "@types/webpack-env": "1.13.9", "codecov": "^3.6.1", - "gts": "^1.1.0", + "gts": "^2.0.0", "istanbul-instrumenter-loader": "^3.0.1", "karma": "^5.0.5", "karma-chrome-launcher": "^3.1.0", @@ -72,8 +72,6 @@ "ts-loader": "^6.0.4", "ts-mocha": "^7.0.0", "ts-node": "^8.6.2", - "tslint-consistent-codestyle": "^1.16.0", - "tslint-microsoft-contrib": "^6.2.0", "typescript": "3.7.2", "webpack": "^4.35.2" }, diff --git a/packages/opentelemetry-core/src/ExportResult.ts b/packages/opentelemetry-core/src/ExportResult.ts index 1306c98b04..75eddbace3 100644 --- a/packages/opentelemetry-core/src/ExportResult.ts +++ b/packages/opentelemetry-core/src/ExportResult.ts @@ -1,4 +1,4 @@ -/*! +/* * Copyright 2020, OpenTelemetry Authors * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/packages/opentelemetry-core/src/correlation-context/propagation/HttpCorrelationContext.ts b/packages/opentelemetry-core/src/correlation-context/propagation/HttpCorrelationContext.ts index c4134364a3..0415b7a4bf 100644 --- a/packages/opentelemetry-core/src/correlation-context/propagation/HttpCorrelationContext.ts +++ b/packages/opentelemetry-core/src/correlation-context/propagation/HttpCorrelationContext.ts @@ -65,7 +65,7 @@ export class HttpCorrelationContext implements HttpTextPropagator { } private _serializeKeyPairs(keyPairs: string[]) { - return keyPairs.reduce((hValue: String, current: String) => { + return keyPairs.reduce((hValue: string, current: string) => { const value = `${hValue}${hValue != '' ? ITEMS_SEPARATOR : ''}${current}`; return value.length > MAX_TOTAL_LENGTH ? hValue : value; }, ''); diff --git a/packages/opentelemetry-core/src/platform/node/BasePlugin.ts b/packages/opentelemetry-core/src/platform/node/BasePlugin.ts index f3b713bf67..df79686802 100644 --- a/packages/opentelemetry-core/src/platform/node/BasePlugin.ts +++ b/packages/opentelemetry-core/src/platform/node/BasePlugin.ts @@ -69,7 +69,7 @@ export abstract class BasePlugin extends BaseAbstractPlugin ); return {}; } - let extraModules: PluginInternalFiles = {}; + const extraModules: PluginInternalFiles = {}; this._logger.debug('loadInternalFiles %o', this._internalFilesList); Object.keys(this._internalFilesList).forEach(versionRange => { this._loadInternalModule(versionRange, extraModules); diff --git a/packages/opentelemetry-core/src/version.ts b/packages/opentelemetry-core/src/version.ts index fcfa16a915..2a73db3923 100644 --- a/packages/opentelemetry-core/src/version.ts +++ b/packages/opentelemetry-core/src/version.ts @@ -1,5 +1,5 @@ -/*! - * Copyright 2019, OpenTelemetry Authors +/* + * Copyright 2020, OpenTelemetry Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/opentelemetry-core/test/index-webpack.ts b/packages/opentelemetry-core/test/index-webpack.ts index 2c89bb37ee..503a7b71dd 100644 --- a/packages/opentelemetry-core/test/index-webpack.ts +++ b/packages/opentelemetry-core/test/index-webpack.ts @@ -19,7 +19,7 @@ const testsContextCommon = require.context('.', true, /test$/); testsContextCommon.keys().forEach(key => { if (key.indexOf('./platform/BasePlugin.test') >= 0) { - return function() {}; + return function () {}; } return testsContextCommon(key); }); diff --git a/packages/opentelemetry-core/test/platform/browser/BasePlugin.test.ts b/packages/opentelemetry-core/test/platform/browser/BasePlugin.test.ts index cca6a23649..f9e08413ee 100644 --- a/packages/opentelemetry-core/test/platform/browser/BasePlugin.test.ts +++ b/packages/opentelemetry-core/test/platform/browser/BasePlugin.test.ts @@ -23,7 +23,7 @@ const logger = new NoopLogger(); describe('BasePlugin', () => { describe('enable', () => { it('should enable plugin', () => { - const moduleExports = { foo: function() {} }; + const moduleExports = { foo: function () {} }; const plugin = new TestPlugin('foo', '1'); const patch = plugin.enable(moduleExports, provider, logger); diff --git a/packages/opentelemetry-core/test/trace/fixtures/test-package/foo/bar/internal.d.ts b/packages/opentelemetry-core/test/trace/fixtures/test-package/foo/bar/internal.d.ts index 2a1f45f2a7..b2944765fa 100644 --- a/packages/opentelemetry-core/test/trace/fixtures/test-package/foo/bar/internal.d.ts +++ b/packages/opentelemetry-core/test/trace/fixtures/test-package/foo/bar/internal.d.ts @@ -1 +1,16 @@ +/* + * Copyright 2020, 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. + */ export declare function internallyExportedFunction(): boolean; diff --git a/packages/opentelemetry-core/test/utils/wrap.test.ts b/packages/opentelemetry-core/test/utils/wrap.test.ts index 741edc96b2..eb92e0e799 100644 --- a/packages/opentelemetry-core/test/utils/wrap.test.ts +++ b/packages/opentelemetry-core/test/utils/wrap.test.ts @@ -23,7 +23,7 @@ function makeWrapped( unwrap: any, original: any ): ShimWrapped { - const wrapper = function() {}; + const wrapper = function () {}; defineProperty(wrapper, '__wrapped', wrapped); defineProperty(wrapper, '__unwrap', unwrap); defineProperty(wrapper, '__original', original); @@ -31,7 +31,8 @@ function makeWrapped( } function defineProperty(obj: any, name: string, value: unknown) { - var enumerable = !!obj[name] && obj.propertyIsEnumerable(name); + // eslint-disable-next-line no-prototype-builtins + const enumerable = !!obj[name] && obj.propertyIsEnumerable(name); Object.defineProperty(obj, name, { configurable: true, enumerable: enumerable, @@ -44,16 +45,16 @@ const notWrappedFunctions: any[] = []; notWrappedFunctions.push( makeWrapped( false, - function() {}, - function() {} + () => {}, + () => {} ) ); -notWrappedFunctions.push(makeWrapped(false, 'foo', function() {})); -notWrappedFunctions.push(makeWrapped(false, function() {}, 'foo')); +notWrappedFunctions.push(makeWrapped(false, 'foo', () => {})); +notWrappedFunctions.push(makeWrapped(false, () => {}, 'foo')); notWrappedFunctions.push({ __wrapped: true, - __unwrap: function() {}, - __original: function() {}, + __unwrap: function () {}, + __original: function () {}, }); describe('utils-wrap', () => { @@ -61,8 +62,8 @@ describe('utils-wrap', () => { it('should return true when function was wrapped', () => { const wrapped: ShimWrapped = makeWrapped( true, - function() {}, - function() {} + () => {}, + () => {} ); assert.strictEqual(isWrapped(wrapped), true, 'function is not wrapped'); }); diff --git a/packages/opentelemetry-core/tslint.json b/packages/opentelemetry-core/tslint.json deleted file mode 100644 index 0710b135d0..0000000000 --- a/packages/opentelemetry-core/tslint.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "rulesDirectory": ["node_modules/tslint-microsoft-contrib"], - "extends": ["../../tslint.base.js", "./node_modules/tslint-consistent-codestyle"] -} diff --git a/packages/opentelemetry-exporter-collector/.eslintignore b/packages/opentelemetry-exporter-collector/.eslintignore new file mode 100644 index 0000000000..378eac25d3 --- /dev/null +++ b/packages/opentelemetry-exporter-collector/.eslintignore @@ -0,0 +1 @@ +build diff --git a/packages/opentelemetry-exporter-collector/.eslintrc.js b/packages/opentelemetry-exporter-collector/.eslintrc.js new file mode 100644 index 0000000000..9dfe62f9b8 --- /dev/null +++ b/packages/opentelemetry-exporter-collector/.eslintrc.js @@ -0,0 +1,9 @@ +module.exports = { + "env": { + "mocha": true, + "commonjs": true, + "node": true, + "browser": true + }, + ...require('../../eslint.config.js') +} diff --git a/packages/opentelemetry-exporter-collector/package.json b/packages/opentelemetry-exporter-collector/package.json index 25adab6274..d929452771 100644 --- a/packages/opentelemetry-exporter-collector/package.json +++ b/packages/opentelemetry-exporter-collector/package.json @@ -10,8 +10,8 @@ "./build/src/platform/index.js": "./build/src/platform/browser/index.js" }, "scripts": { - "lint": "gts check", - "lint:fix": "gts fix", + "lint": "eslint . --ext .ts", + "lint:fix": "eslint . --ext .ts --fix", "clean": "rimraf build/*", "codecov:browser": "nyc report --reporter=json && codecov -f coverage/*.json -p ../../", "precompile": "tsc --version", @@ -61,7 +61,7 @@ "babel-loader": "^8.0.6", "codecov": "^3.1.0", "cpx": "^1.5.0", - "gts": "^1.0.0", + "gts": "^2.0.0", "istanbul-instrumenter-loader": "^3.0.1", "karma": "^5.0.5", "karma-chrome-launcher": "^3.1.0", @@ -76,8 +76,6 @@ "ts-loader": "^6.0.4", "ts-mocha": "^7.0.0", "ts-node": "^8.6.2", - "tslint-consistent-codestyle": "^1.16.0", - "tslint-microsoft-contrib": "^6.2.0", "typescript": "3.7.2", "webpack": "^4.35.2", "webpack-cli": "^3.3.9", diff --git a/packages/opentelemetry-exporter-collector/src/CollectorExporterBase.ts b/packages/opentelemetry-exporter-collector/src/CollectorExporterBase.ts index 5163451c90..1d93318aa4 100644 --- a/packages/opentelemetry-exporter-collector/src/CollectorExporterBase.ts +++ b/packages/opentelemetry-exporter-collector/src/CollectorExporterBase.ts @@ -1,4 +1,4 @@ -/*! +/* * Copyright 2019, OpenTelemetry Authors * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/packages/opentelemetry-exporter-collector/src/index.ts b/packages/opentelemetry-exporter-collector/src/index.ts index c09b6b9bcb..1107c4d288 100644 --- a/packages/opentelemetry-exporter-collector/src/index.ts +++ b/packages/opentelemetry-exporter-collector/src/index.ts @@ -1,4 +1,4 @@ -/*! +/* * Copyright 2020, OpenTelemetry Authors * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/packages/opentelemetry-exporter-collector/src/platform/browser/CollectorExporter.ts b/packages/opentelemetry-exporter-collector/src/platform/browser/CollectorExporter.ts index 2a1a90d13d..28cabeb5f0 100644 --- a/packages/opentelemetry-exporter-collector/src/platform/browser/CollectorExporter.ts +++ b/packages/opentelemetry-exporter-collector/src/platform/browser/CollectorExporter.ts @@ -22,7 +22,7 @@ import { ReadableSpan } from '@opentelemetry/tracing'; import { toCollectorExportTraceServiceRequest } from '../../transform'; import * as collectorTypes from '../../types'; -export interface CollectorExporterConfig extends CollectorExporterConfigBase {} +export type CollectorExporterConfig = CollectorExporterConfigBase; /** * Collector Exporter for Web diff --git a/packages/opentelemetry-exporter-collector/src/platform/node/util.ts b/packages/opentelemetry-exporter-collector/src/platform/node/util.ts index ccc4fb8205..0aef79ba1c 100644 --- a/packages/opentelemetry-exporter-collector/src/platform/node/util.ts +++ b/packages/opentelemetry-exporter-collector/src/platform/node/util.ts @@ -20,5 +20,5 @@ * @param url */ export function removeProtocol(url: string): string { - return url.replace(/^https?\:\/\//, ''); + return url.replace(/^https?:\/\//, ''); } diff --git a/packages/opentelemetry-exporter-collector/src/transform.ts b/packages/opentelemetry-exporter-collector/src/transform.ts index 4078a3ea60..0d945fe979 100644 --- a/packages/opentelemetry-exporter-collector/src/transform.ts +++ b/packages/opentelemetry-exporter-collector/src/transform.ts @@ -1,4 +1,4 @@ -/*! +/* * Copyright 2020, OpenTelemetry Authors * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -200,7 +200,7 @@ export function toCollectorExportTraceServiceRequest< >( spans: ReadableSpan[], collectorExporterBase: CollectorExporterBase, - name: string = '' + name = '' ): opentelemetryProto.collector.trace.v1.ExportTraceServiceRequest { const spansToBeSent: opentelemetryProto.trace.v1.Span[] = spans.map(span => toCollectorSpan(span) diff --git a/packages/opentelemetry-exporter-collector/src/types.ts b/packages/opentelemetry-exporter-collector/src/types.ts index 99eacdd0cf..81a6b908ea 100644 --- a/packages/opentelemetry-exporter-collector/src/types.ts +++ b/packages/opentelemetry-exporter-collector/src/types.ts @@ -20,6 +20,7 @@ import * as api from '@opentelemetry/api'; // header to prevent instrumentation on request export const OT_REQUEST_HEADER = 'x-opentelemetry-outgoing-request'; +/* eslint-disable @typescript-eslint/no-namespace */ export namespace opentelemetryProto { export namespace collector { export namespace trace.v1 { @@ -31,8 +32,6 @@ export namespace opentelemetryProto { resourceSpans: opentelemetryProto.trace.v1.ResourceSpans[]; } - export interface ExportTraceServiceResponse {} - export interface ExportTraceServiceError { code: number; details: string; @@ -125,7 +124,7 @@ export namespace opentelemetryProto { status?: Status; } - export interface Status extends api.Status {} + export type Status = api.Status; export interface TraceConfig { constantSampler?: ConstantSampler | null; diff --git a/packages/opentelemetry-exporter-collector/src/version.ts b/packages/opentelemetry-exporter-collector/src/version.ts index fcfa16a915..2a73db3923 100644 --- a/packages/opentelemetry-exporter-collector/src/version.ts +++ b/packages/opentelemetry-exporter-collector/src/version.ts @@ -1,5 +1,5 @@ -/*! - * Copyright 2019, OpenTelemetry Authors +/* + * Copyright 2020, OpenTelemetry Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/opentelemetry-exporter-collector/test/browser/CollectorExporter.test.ts b/packages/opentelemetry-exporter-collector/test/browser/CollectorExporter.test.ts index f8e5decc0d..539997b8f2 100644 --- a/packages/opentelemetry-exporter-collector/test/browser/CollectorExporter.test.ts +++ b/packages/opentelemetry-exporter-collector/test/browser/CollectorExporter.test.ts @@ -66,7 +66,7 @@ describe('CollectorExporter - web', () => { describe('export', () => { describe('when "sendBeacon" is available', () => { it('should successfully send the spans using sendBeacon', done => { - collectorExporter.export(spans, function() {}); + collectorExporter.export(spans, () => {}); setTimeout(() => { const args = spyBeacon.args[0]; @@ -106,7 +106,7 @@ describe('CollectorExporter - web', () => { spyBeacon.restore(); spyBeacon = sinon.stub(window.navigator, 'sendBeacon').returns(true); - collectorExporter.export(spans, function() {}); + collectorExporter.export(spans, () => {}); setTimeout(() => { const response: any = spyLoggerDebug.args[1][0]; @@ -123,7 +123,7 @@ describe('CollectorExporter - web', () => { spyBeacon.restore(); spyBeacon = sinon.stub(window.navigator, 'sendBeacon').returns(false); - collectorExporter.export(spans, function() {}); + collectorExporter.export(spans, () => {}); setTimeout(() => { const response: any = spyLoggerError.args[0][0]; @@ -138,8 +138,7 @@ describe('CollectorExporter - web', () => { describe('when "sendBeacon" is NOT available', () => { let server: any; beforeEach(() => { - // @ts-ignore - window.navigator.sendBeacon = false; + (window.navigator as any).sendBeacon = false; server = sinon.fakeServer.create(); }); afterEach(() => { @@ -147,7 +146,7 @@ describe('CollectorExporter - web', () => { }); it('should successfully send the spans using XMLHttpRequest', done => { - collectorExporter.export(spans, function() {}); + collectorExporter.export(spans, () => {}); setTimeout(() => { const request = server.requests[0]; @@ -184,7 +183,7 @@ describe('CollectorExporter - web', () => { const spyLoggerDebug = sinon.stub(collectorExporter.logger, 'debug'); const spyLoggerError = sinon.stub(collectorExporter.logger, 'error'); - collectorExporter.export(spans, function() {}); + collectorExporter.export(spans, () => {}); setTimeout(() => { const request = server.requests[0]; @@ -202,7 +201,7 @@ describe('CollectorExporter - web', () => { it('should log the error message', done => { const spyLoggerError = sinon.stub(collectorExporter.logger, 'error'); - collectorExporter.export(spans, function() {}); + collectorExporter.export(spans, () => {}); setTimeout(() => { const request = server.requests[0]; diff --git a/packages/opentelemetry-exporter-collector/test/common/CollectorExporter.test.ts b/packages/opentelemetry-exporter-collector/test/common/CollectorExporter.test.ts index 9ecfc170dd..60d482129b 100644 --- a/packages/opentelemetry-exporter-collector/test/common/CollectorExporter.test.ts +++ b/packages/opentelemetry-exporter-collector/test/common/CollectorExporter.test.ts @@ -25,7 +25,7 @@ import { import { mockedReadableSpan } from '../helper'; -interface CollectorExporterConfig extends CollectorExporterConfigBase {} +type CollectorExporterConfig = CollectorExporterConfigBase; class CollectorExporter extends CollectorExporterBase { onInit() {} onShutdown() {} @@ -110,7 +110,7 @@ describe('CollectorExporter - common', () => { const spans: ReadableSpan[] = []; spans.push(Object.assign({}, mockedReadableSpan)); - collectorExporter.export(spans, function() {}); + collectorExporter.export(spans, () => {}); setTimeout(() => { const span1 = spySend.args[0][0][0] as ReadableSpan; assert.deepStrictEqual(spans[0], span1); diff --git a/packages/opentelemetry-exporter-collector/test/helper.ts b/packages/opentelemetry-exporter-collector/test/helper.ts index 29302aa6ad..aed78dfb95 100644 --- a/packages/opentelemetry-exporter-collector/test/helper.ts +++ b/packages/opentelemetry-exporter-collector/test/helper.ts @@ -22,9 +22,8 @@ import { opentelemetryProto } from '../src/types'; import * as collectorTypes from '../src/types'; if (typeof Buffer === 'undefined') { - // @ts-ignore - window.Buffer = { - from: function(arr: []) { + (window as any).Buffer = { + from: function (arr: []) { return new Uint8Array(arr); }, }; diff --git a/packages/opentelemetry-exporter-collector/test/node/CollectorExporter.test.ts b/packages/opentelemetry-exporter-collector/test/node/CollectorExporter.test.ts index 3b7f35858c..a76e35ea1f 100644 --- a/packages/opentelemetry-exporter-collector/test/node/CollectorExporter.test.ts +++ b/packages/opentelemetry-exporter-collector/test/node/CollectorExporter.test.ts @@ -84,7 +84,7 @@ const testCollectorExporter = (params: TestParams) => }, } ); - let credentials = params.useTLS + const credentials = params.useTLS ? grpc.ServerCredentials.createSsl( fs.readFileSync('./test/certs/ca.crt'), [ diff --git a/packages/opentelemetry-exporter-collector/tslint.json b/packages/opentelemetry-exporter-collector/tslint.json deleted file mode 100644 index 0710b135d0..0000000000 --- a/packages/opentelemetry-exporter-collector/tslint.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "rulesDirectory": ["node_modules/tslint-microsoft-contrib"], - "extends": ["../../tslint.base.js", "./node_modules/tslint-consistent-codestyle"] -} diff --git a/packages/opentelemetry-exporter-jaeger/.eslintignore b/packages/opentelemetry-exporter-jaeger/.eslintignore new file mode 100644 index 0000000000..378eac25d3 --- /dev/null +++ b/packages/opentelemetry-exporter-jaeger/.eslintignore @@ -0,0 +1 @@ +build diff --git a/packages/opentelemetry-exporter-jaeger/.eslintrc.js b/packages/opentelemetry-exporter-jaeger/.eslintrc.js new file mode 100644 index 0000000000..f726f3becb --- /dev/null +++ b/packages/opentelemetry-exporter-jaeger/.eslintrc.js @@ -0,0 +1,7 @@ +module.exports = { + "env": { + "mocha": true, + "node": true + }, + ...require('../../eslint.config.js') +} diff --git a/packages/opentelemetry-exporter-jaeger/package.json b/packages/opentelemetry-exporter-jaeger/package.json index 3629807c00..a838760bfb 100644 --- a/packages/opentelemetry-exporter-jaeger/package.json +++ b/packages/opentelemetry-exporter-jaeger/package.json @@ -10,8 +10,8 @@ "tdd": "npm run test -- --watch-extensions ts --watch", "codecov": "nyc report --reporter=json && codecov -f coverage/*.json -p ../../", "clean": "rimraf build/*", - "lint": "gts check", - "lint:fix": "gts fix", + "lint": "eslint . --ext .ts", + "lint:fix": "eslint . --ext .ts --fix", "precompile": "tsc --version", "version:update": "node ../../scripts/version-update.js", "compile": "npm run version:update && tsc -p .", @@ -45,14 +45,12 @@ "@types/mocha": "^7.0.0", "@types/node": "^12.6.9", "codecov": "^3.6.1", - "gts": "^1.1.0", + "gts": "^2.0.0", "mocha": "^7.1.2", "nyc": "^15.0.0", "rimraf": "^3.0.0", "ts-mocha": "^7.0.0", "ts-node": "^8.6.2", - "tslint-consistent-codestyle": "^1.16.0", - "tslint-microsoft-contrib": "^6.2.0", "typescript": "3.7.2" }, "dependencies": { diff --git a/packages/opentelemetry-exporter-jaeger/src/types.ts b/packages/opentelemetry-exporter-jaeger/src/types.ts index 45987a2ee7..d55ca41219 100644 --- a/packages/opentelemetry-exporter-jaeger/src/types.ts +++ b/packages/opentelemetry-exporter-jaeger/src/types.ts @@ -33,12 +33,9 @@ export interface ExporterConfig { // Below require is needed as jaeger-client types does not expose the thrift, // udp_sender, util etc. modules. -// tslint:disable-next-line:variable-name export const UDPSender = require('jaeger-client/dist/src/reporters/udp_sender') .default; -// tslint:disable-next-line:variable-name export const Utils = require('jaeger-client/dist/src/util').default; -// tslint:disable-next-line:variable-name export const ThriftUtils = require('jaeger-client/dist/src/thrift').default; export type TagValue = string | number | boolean; diff --git a/packages/opentelemetry-exporter-jaeger/src/version.ts b/packages/opentelemetry-exporter-jaeger/src/version.ts index fcfa16a915..2a73db3923 100644 --- a/packages/opentelemetry-exporter-jaeger/src/version.ts +++ b/packages/opentelemetry-exporter-jaeger/src/version.ts @@ -1,5 +1,5 @@ -/*! - * Copyright 2019, OpenTelemetry Authors +/* + * Copyright 2020, OpenTelemetry Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/opentelemetry-exporter-jaeger/tslint.json b/packages/opentelemetry-exporter-jaeger/tslint.json deleted file mode 100644 index 0710b135d0..0000000000 --- a/packages/opentelemetry-exporter-jaeger/tslint.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "rulesDirectory": ["node_modules/tslint-microsoft-contrib"], - "extends": ["../../tslint.base.js", "./node_modules/tslint-consistent-codestyle"] -} diff --git a/packages/opentelemetry-exporter-prometheus/.eslintignore b/packages/opentelemetry-exporter-prometheus/.eslintignore new file mode 100644 index 0000000000..378eac25d3 --- /dev/null +++ b/packages/opentelemetry-exporter-prometheus/.eslintignore @@ -0,0 +1 @@ +build diff --git a/packages/opentelemetry-exporter-prometheus/.eslintrc.js b/packages/opentelemetry-exporter-prometheus/.eslintrc.js new file mode 100644 index 0000000000..f726f3becb --- /dev/null +++ b/packages/opentelemetry-exporter-prometheus/.eslintrc.js @@ -0,0 +1,7 @@ +module.exports = { + "env": { + "mocha": true, + "node": true + }, + ...require('../../eslint.config.js') +} diff --git a/packages/opentelemetry-exporter-prometheus/package.json b/packages/opentelemetry-exporter-prometheus/package.json index 228ada918f..0a43786d71 100644 --- a/packages/opentelemetry-exporter-prometheus/package.json +++ b/packages/opentelemetry-exporter-prometheus/package.json @@ -10,8 +10,8 @@ "tdd": "npm run test -- --watch-extensions ts --watch", "codecov": "nyc report --reporter=json && codecov -f coverage/*.json -p ../../", "clean": "rimraf build/*", - "lint": "gts check", - "lint:fix": "gts fix", + "lint": "eslint . --ext .ts", + "lint:fix": "eslint . --ext .ts --fix", "precompile": "tsc --version", "version:update": "node ../../scripts/version-update.js", "compile": "npm run version:update && tsc -p .", @@ -43,14 +43,12 @@ "@types/mocha": "^7.0.0", "@types/node": "^12.6.9", "codecov": "^3.6.1", - "gts": "^1.1.0", + "gts": "^2.0.0", "mocha": "^7.1.2", "nyc": "^15.0.0", "rimraf": "^3.0.0", "ts-mocha": "^7.0.0", "ts-node": "^8.6.2", - "tslint-consistent-codestyle": "^1.16.0", - "tslint-microsoft-contrib": "^6.2.0", "typescript": "3.7.2" }, "dependencies": { diff --git a/packages/opentelemetry-exporter-prometheus/src/prometheus.ts b/packages/opentelemetry-exporter-prometheus/src/prometheus.ts index 9e745f6266..84c2fed821 100644 --- a/packages/opentelemetry-exporter-prometheus/src/prometheus.ts +++ b/packages/opentelemetry-exporter-prometheus/src/prometheus.ts @@ -252,14 +252,14 @@ export class PrometheusExporter implements MetricExporter { stopServer(callback?: () => void) { if (!this._server) { this._logger.debug( - `Prometheus stopServer() was called but server was never started.` + 'Prometheus stopServer() was called but server was never started.' ); if (callback) { callback(); } } else { this._server.close(() => { - this._logger.debug(`Prometheus exporter was stopped`); + this._logger.debug('Prometheus exporter was stopped'); if (callback) { callback(); } diff --git a/packages/opentelemetry-exporter-prometheus/src/version.ts b/packages/opentelemetry-exporter-prometheus/src/version.ts index fcfa16a915..2a73db3923 100644 --- a/packages/opentelemetry-exporter-prometheus/src/version.ts +++ b/packages/opentelemetry-exporter-prometheus/src/version.ts @@ -1,5 +1,5 @@ -/*! - * Copyright 2019, OpenTelemetry Authors +/* + * Copyright 2020, OpenTelemetry Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/opentelemetry-exporter-prometheus/test/prometheus.test.ts b/packages/opentelemetry-exporter-prometheus/test/prometheus.test.ts index 6475d69cfb..dd1294ca3a 100644 --- a/packages/opentelemetry-exporter-prometheus/test/prometheus.test.ts +++ b/packages/opentelemetry-exporter-prometheus/test/prometheus.test.ts @@ -34,7 +34,7 @@ describe('PrometheusExporter', () => { let toPoint: () => Point; before(() => { toPoint = CounterSumAggregator.prototype.toPoint; - CounterSumAggregator.prototype.toPoint = function(): Point { + CounterSumAggregator.prototype.toPoint = function (): Point { const point = toPoint.apply(this); point.timestamp = mockedHrTime; return point; @@ -59,7 +59,7 @@ describe('PrometheusExporter', () => { }, () => { const url = `http://localhost:${port}${endpoint}`; - http.get(url, function(res: any) { + http.get(url, (res: any) => { assert.strictEqual(res.statusCode, 200); exporter.shutdown(() => { return done(); @@ -94,7 +94,7 @@ describe('PrometheusExporter', () => { exporter.startServer(() => { const url = `http://localhost:${port}${endpoint}`; - http.get(url, function(res: any) { + http.get(url, (res: any) => { assert.strictEqual(res.statusCode, 200); exporter.shutdown(() => { return done(); @@ -114,7 +114,7 @@ describe('PrometheusExporter', () => { exporter.startServer(() => { const url = `http://localhost:${port}${endpoint}`; - http.get(url, function(res: any) { + http.get(url, (res: any) => { assert.strictEqual(res.statusCode, 200); exporter.shutdown(() => { return done(); @@ -134,7 +134,7 @@ describe('PrometheusExporter', () => { exporter.startServer(() => { const url = `http://localhost:${port}/metric`; - http.get(url, function(res: any) { + http.get(url, (res: any) => { assert.strictEqual(res.statusCode, 200); exporter.shutdown(() => { const exporter2 = new PrometheusExporter({ @@ -144,7 +144,7 @@ describe('PrometheusExporter', () => { exporter2.startServer(() => { const url = `http://localhost:${port}/metric`; - http.get(url, function(res: any) { + http.get(url, (res: any) => { assert.strictEqual(res.statusCode, 200); exporter2.stopServer(() => { return done(); @@ -166,7 +166,7 @@ describe('PrometheusExporter', () => { exporter.startServer(() => { const url = `http://localhost:${port}/invalid`; - http.get(url, function(res: any) { + http.get(url, (res: any) => { assert.strictEqual(res.statusCode, 404); exporter.shutdown(() => { return done(); diff --git a/packages/opentelemetry-exporter-prometheus/tslint.json b/packages/opentelemetry-exporter-prometheus/tslint.json deleted file mode 100644 index 0710b135d0..0000000000 --- a/packages/opentelemetry-exporter-prometheus/tslint.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "rulesDirectory": ["node_modules/tslint-microsoft-contrib"], - "extends": ["../../tslint.base.js", "./node_modules/tslint-consistent-codestyle"] -} diff --git a/packages/opentelemetry-exporter-zipkin/.eslintignore b/packages/opentelemetry-exporter-zipkin/.eslintignore new file mode 100644 index 0000000000..378eac25d3 --- /dev/null +++ b/packages/opentelemetry-exporter-zipkin/.eslintignore @@ -0,0 +1 @@ +build diff --git a/packages/opentelemetry-exporter-zipkin/.eslintrc.js b/packages/opentelemetry-exporter-zipkin/.eslintrc.js new file mode 100644 index 0000000000..f726f3becb --- /dev/null +++ b/packages/opentelemetry-exporter-zipkin/.eslintrc.js @@ -0,0 +1,7 @@ +module.exports = { + "env": { + "mocha": true, + "node": true + }, + ...require('../../eslint.config.js') +} diff --git a/packages/opentelemetry-exporter-zipkin/package.json b/packages/opentelemetry-exporter-zipkin/package.json index a9be5e41b4..5dff195285 100644 --- a/packages/opentelemetry-exporter-zipkin/package.json +++ b/packages/opentelemetry-exporter-zipkin/package.json @@ -9,8 +9,8 @@ "test": "nyc ts-mocha -p tsconfig.json 'test/**/*.test.ts'", "tdd": "npm run test -- --watch-extensions ts --watch", "clean": "rimraf build/*", - "lint": "gts check", - "lint:fix": "gts fix", + "lint": "eslint . --ext .ts", + "lint:fix": "eslint . --ext .ts --fix", "codecov": "nyc report --reporter=json && codecov -f coverage/*.json -p ../../", "precompile": "tsc --version", "version:update": "node ../../scripts/version-update.js", @@ -42,15 +42,13 @@ "@types/mocha": "^7.0.0", "@types/node": "^12.6.9", "codecov": "^3.6.1", - "gts": "^1.1.0", + "gts": "^2.0.0", "mocha": "^7.1.2", "nock": "^11.0.0", "nyc": "^15.0.0", "rimraf": "^3.0.0", "ts-mocha": "^7.0.0", "ts-node": "^8.6.2", - "tslint-consistent-codestyle": "^1.16.0", - "tslint-microsoft-contrib": "^6.2.0", "typescript": "3.7.2" }, "dependencies": { diff --git a/packages/opentelemetry-exporter-zipkin/src/version.ts b/packages/opentelemetry-exporter-zipkin/src/version.ts index fcfa16a915..2a73db3923 100644 --- a/packages/opentelemetry-exporter-zipkin/src/version.ts +++ b/packages/opentelemetry-exporter-zipkin/src/version.ts @@ -1,5 +1,5 @@ -/*! - * Copyright 2019, OpenTelemetry Authors +/* + * Copyright 2020, OpenTelemetry Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/opentelemetry-exporter-zipkin/test/zipkin.test.ts b/packages/opentelemetry-exporter-zipkin/test/zipkin.test.ts index 2adbca51e5..35ff329c61 100644 --- a/packages/opentelemetry-exporter-zipkin/test/zipkin.test.ts +++ b/packages/opentelemetry-exporter-zipkin/test/zipkin.test.ts @@ -253,7 +253,7 @@ describe('ZipkinExporter', () => { it(`should send '${OT_REQUEST_HEADER}' header`, () => { const scope = nock('https://localhost:9411') .post('/api/v2/spans') - .reply(function(uri, requestBody, cb) { + .reply(function (uri, requestBody, cb) { assert.ok(this.req.headers[OT_REQUEST_HEADER]); cb(null, [200, 'Ok']); }); diff --git a/packages/opentelemetry-exporter-zipkin/tslint.json b/packages/opentelemetry-exporter-zipkin/tslint.json deleted file mode 100644 index 0710b135d0..0000000000 --- a/packages/opentelemetry-exporter-zipkin/tslint.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "rulesDirectory": ["node_modules/tslint-microsoft-contrib"], - "extends": ["../../tslint.base.js", "./node_modules/tslint-consistent-codestyle"] -} diff --git a/packages/opentelemetry-metrics/.eslintignore b/packages/opentelemetry-metrics/.eslintignore new file mode 100644 index 0000000000..378eac25d3 --- /dev/null +++ b/packages/opentelemetry-metrics/.eslintignore @@ -0,0 +1 @@ +build diff --git a/packages/opentelemetry-metrics/.eslintrc.js b/packages/opentelemetry-metrics/.eslintrc.js new file mode 100644 index 0000000000..f726f3becb --- /dev/null +++ b/packages/opentelemetry-metrics/.eslintrc.js @@ -0,0 +1,7 @@ +module.exports = { + "env": { + "mocha": true, + "node": true + }, + ...require('../../eslint.config.js') +} diff --git a/packages/opentelemetry-metrics/package.json b/packages/opentelemetry-metrics/package.json index 0233b18379..c27e928e26 100644 --- a/packages/opentelemetry-metrics/package.json +++ b/packages/opentelemetry-metrics/package.json @@ -10,8 +10,8 @@ "tdd": "npm run test -- --watch-extensions ts --watch", "codecov": "nyc report --reporter=json && codecov -f coverage/*.json -p ../../", "clean": "rimraf build/*", - "lint": "gts check", - "lint:fix": "gts fix", + "lint": "eslint . --ext .ts", + "lint:fix": "eslint . --ext .ts --fix", "precompile": "tsc --version", "version:update": "node ../../scripts/version-update.js", "compile": "npm run version:update && tsc -p .", @@ -45,15 +45,13 @@ "@types/node": "^12.6.9", "@types/sinon": "^7.0.13", "codecov": "^3.6.1", - "gts": "^1.1.0", + "gts": "^2.0.0", "mocha": "^7.1.2", "nyc": "^15.0.0", "rimraf": "^3.0.0", "sinon": "^7.5.0", "ts-mocha": "^7.0.0", "ts-node": "^8.6.2", - "tslint-consistent-codestyle": "^1.16.0", - "tslint-microsoft-contrib": "^6.2.0", "typescript": "3.7.2" }, "dependencies": { diff --git a/packages/opentelemetry-metrics/src/Meter.ts b/packages/opentelemetry-metrics/src/Meter.ts index ee2d5a5427..a13679aeb6 100644 --- a/packages/opentelemetry-metrics/src/Meter.ts +++ b/packages/opentelemetry-metrics/src/Meter.ts @@ -182,6 +182,6 @@ export class Meter implements api.Meter { * @param name Name of metric to be created */ private _isValidName(name: string): boolean { - return Boolean(name.match(/^[a-z][a-z0-9_.\-]*$/i)); + return Boolean(name.match(/^[a-z][a-z0-9_.-]*$/i)); } } diff --git a/packages/opentelemetry-metrics/src/export/aggregators/histogram.ts b/packages/opentelemetry-metrics/src/export/aggregators/histogram.ts index beae9090b9..52755804c9 100644 --- a/packages/opentelemetry-metrics/src/export/aggregators/histogram.ts +++ b/packages/opentelemetry-metrics/src/export/aggregators/histogram.ts @@ -30,7 +30,7 @@ export class HistogramAggregator implements Aggregator { constructor(boundaries: number[]) { if (boundaries === undefined || boundaries.length === 0) { - throw new Error(`HistogramAggregator should be created with boundaries.`); + throw new Error('HistogramAggregator should be created with boundaries.'); } // we need to an ordered set to be able to correctly compute count for each // boundary since we'll iterate on each in order. diff --git a/packages/opentelemetry-metrics/src/version.ts b/packages/opentelemetry-metrics/src/version.ts index fcfa16a915..2a73db3923 100644 --- a/packages/opentelemetry-metrics/src/version.ts +++ b/packages/opentelemetry-metrics/src/version.ts @@ -1,5 +1,5 @@ -/*! - * Copyright 2019, OpenTelemetry Authors +/* + * Copyright 2020, OpenTelemetry Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/opentelemetry-metrics/tslint.json b/packages/opentelemetry-metrics/tslint.json deleted file mode 100644 index 0710b135d0..0000000000 --- a/packages/opentelemetry-metrics/tslint.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "rulesDirectory": ["node_modules/tslint-microsoft-contrib"], - "extends": ["../../tslint.base.js", "./node_modules/tslint-consistent-codestyle"] -} diff --git a/packages/opentelemetry-node/.eslintignore b/packages/opentelemetry-node/.eslintignore new file mode 100644 index 0000000000..378eac25d3 --- /dev/null +++ b/packages/opentelemetry-node/.eslintignore @@ -0,0 +1 @@ +build diff --git a/packages/opentelemetry-node/.eslintrc.js b/packages/opentelemetry-node/.eslintrc.js new file mode 100644 index 0000000000..f726f3becb --- /dev/null +++ b/packages/opentelemetry-node/.eslintrc.js @@ -0,0 +1,7 @@ +module.exports = { + "env": { + "mocha": true, + "node": true + }, + ...require('../../eslint.config.js') +} diff --git a/packages/opentelemetry-node/package.json b/packages/opentelemetry-node/package.json index af7073a531..d08039f21f 100644 --- a/packages/opentelemetry-node/package.json +++ b/packages/opentelemetry-node/package.json @@ -10,8 +10,8 @@ "tdd": "npm run test -- --watch-extensions ts --watch", "codecov": "nyc report --reporter=json && codecov -f coverage/*.json -p ../../", "clean": "rimraf build/*", - "lint": "gts check", - "lint:fix": "gts fix", + "lint": "eslint . --ext .ts", + "lint:fix": "eslint . --ext .ts --fix", "precompile": "tsc --version", "version:update": "node ../../scripts/version-update.js", "compile": "npm run version:update && tsc -p .", @@ -48,15 +48,13 @@ "@types/semver": "^6.0.1", "@types/shimmer": "^1.0.1", "codecov": "^3.6.1", - "gts": "^1.1.0", + "gts": "^2.0.0", "mocha": "^7.1.2", "nyc": "^15.0.0", "rimraf": "^3.0.0", "shimmer": "^1.2.0", "ts-mocha": "^7.0.0", "ts-node": "^8.6.2", - "tslint-consistent-codestyle": "^1.16.0", - "tslint-microsoft-contrib": "^6.2.0", "typescript": "3.7.2" }, "dependencies": { diff --git a/packages/opentelemetry-node/src/instrumentation/ext-types.d.ts b/packages/opentelemetry-node/src/instrumentation/ext-types.d.ts index bb3be401e0..fca4da1a3b 100644 --- a/packages/opentelemetry-node/src/instrumentation/ext-types.d.ts +++ b/packages/opentelemetry-node/src/instrumentation/ext-types.d.ts @@ -15,14 +15,18 @@ */ declare module 'require-in-the-middle' { - namespace hook { - type Options = { - internals?: boolean; - }; - type OnRequireFn = (exports: T, name: string, basedir?: string) => T; - } - function hook(modules: string[]|null, options: hook.Options|null, onRequire: hook.OnRequireFn): void; - function hook(modules: string[]|null, onRequire: hook.OnRequireFn): void; - function hook(onRequire: hook.OnRequireFn): void; - export = hook; + namespace hook { + type Options = { + internals?: boolean; + }; + type OnRequireFn = (exports: T, name: string, basedir?: string) => T; } + function hook( + modules: string[] | null, + options: hook.Options | null, + onRequire: hook.OnRequireFn + ): void; + function hook(modules: string[] | null, onRequire: hook.OnRequireFn): void; + function hook(onRequire: hook.OnRequireFn): void; + export = hook; +} diff --git a/packages/opentelemetry-node/src/version.ts b/packages/opentelemetry-node/src/version.ts index fcfa16a915..2a73db3923 100644 --- a/packages/opentelemetry-node/src/version.ts +++ b/packages/opentelemetry-node/src/version.ts @@ -1,5 +1,5 @@ -/*! - * Copyright 2019, OpenTelemetry Authors +/* + * Copyright 2020, OpenTelemetry Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/opentelemetry-node/test/instrumentation/PluginLoader.test.ts b/packages/opentelemetry-node/test/instrumentation/PluginLoader.test.ts index 5093d448f0..ff977d4ad8 100644 --- a/packages/opentelemetry-node/test/instrumentation/PluginLoader.test.ts +++ b/packages/opentelemetry-node/test/instrumentation/PluginLoader.test.ts @@ -26,7 +26,7 @@ import { } from '../../src/instrumentation/PluginLoader'; const INSTALLED_PLUGINS_PATH = path.join(__dirname, 'node_modules'); - +/* eslint-disable node/no-extraneous-require */ const simplePlugins: Plugins = { 'simple-module': { enabled: true, @@ -227,14 +227,14 @@ describe('PluginLoader', () => { pluginLoader.unload(); }); - it(`doesn't patch modules for which plugins aren't specified`, () => { + it("doesn't patch modules for which plugins aren't specified", () => { const pluginLoader = new PluginLoader(provider, logger); pluginLoader.load({}); assert.strictEqual(require('simple-module').value(), 0); pluginLoader.unload(); }); - it(`should warn when module was already loaded`, callback => { + it('should warn when module was already loaded', callback => { const verifyWarnLogger = { error: logger.error, info: logger.info, @@ -255,8 +255,7 @@ describe('PluginLoader', () => { const pluginLoader = new PluginLoader(provider, logger); assert.strictEqual(pluginLoader['_plugins'].length, 0); pluginLoader.load(differentNamePlugins); - // @ts-ignore only to trigger the loading of the plugin - const randomModule = require('random-module'); + require('random-module'); assert.strictEqual(pluginLoader['_plugins'].length, 0); pluginLoader.unload(); }); diff --git a/packages/opentelemetry-node/test/instrumentation/utils.test.ts b/packages/opentelemetry-node/test/instrumentation/utils.test.ts index de0f035694..6d76572b76 100644 --- a/packages/opentelemetry-node/test/instrumentation/utils.test.ts +++ b/packages/opentelemetry-node/test/instrumentation/utils.test.ts @@ -88,8 +88,7 @@ describe('Instrumentation#utils', () => { } ); - it(`should return false when version is equal to null and supportedVersions is equal to '*'`, () => { - // tslint:disable-next-line:no-any + it("should return false when version is equal to null and supportedVersions is equal to '*'", () => { assert.strictEqual(utils.isSupportedVersion(null as any, ['*']), false); }); }); diff --git a/packages/opentelemetry-node/tslint.json b/packages/opentelemetry-node/tslint.json deleted file mode 100644 index 0710b135d0..0000000000 --- a/packages/opentelemetry-node/tslint.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "rulesDirectory": ["node_modules/tslint-microsoft-contrib"], - "extends": ["../../tslint.base.js", "./node_modules/tslint-consistent-codestyle"] -} diff --git a/packages/opentelemetry-plugin-grpc/.eslintignore b/packages/opentelemetry-plugin-grpc/.eslintignore new file mode 100644 index 0000000000..378eac25d3 --- /dev/null +++ b/packages/opentelemetry-plugin-grpc/.eslintignore @@ -0,0 +1 @@ +build diff --git a/packages/opentelemetry-plugin-grpc/.eslintrc.js b/packages/opentelemetry-plugin-grpc/.eslintrc.js new file mode 100644 index 0000000000..f726f3becb --- /dev/null +++ b/packages/opentelemetry-plugin-grpc/.eslintrc.js @@ -0,0 +1,7 @@ +module.exports = { + "env": { + "mocha": true, + "node": true + }, + ...require('../../eslint.config.js') +} diff --git a/packages/opentelemetry-plugin-grpc/package.json b/packages/opentelemetry-plugin-grpc/package.json index 3615d85ce8..501f2aacfb 100644 --- a/packages/opentelemetry-plugin-grpc/package.json +++ b/packages/opentelemetry-plugin-grpc/package.json @@ -9,8 +9,8 @@ "test": "nyc ts-mocha -p tsconfig.json test/**/*.test.ts", "tdd": "npm run test -- --watch-extensions ts --watch", "clean": "rimraf build/*", - "lint": "gts check", - "lint:fix": "gts fix", + "lint": "eslint . --ext .ts", + "lint:fix": "eslint . --ext .ts --fix", "codecov": "nyc report --reporter=json && codecov -f coverage/*.json -p ../../", "precompile": "tsc --version", "version:update": "node ../../scripts/version-update.js", @@ -47,21 +47,20 @@ "@opentelemetry/tracing": "^0.8.1", "@types/mocha": "^7.0.0", "@types/node": "^12.6.9", - "@types/semver": "^6.2.0", + "@types/semver": "^7.1.0", "@types/shimmer": "^1.0.1", "@types/sinon": "^7.0.13", "codecov": "^3.6.1", "grpc": "^1.23.3", - "gts": "^1.1.0", "mocha": "^7.1.2", + "gts": "^2.0.0", + "semver": "7.3.2", "node-pre-gyp": "^0.12.0", "nyc": "^15.0.0", "rimraf": "^3.0.0", "sinon": "^7.5.0", "ts-mocha": "^7.0.0", "ts-node": "^8.6.2", - "tslint-consistent-codestyle": "^1.16.0", - "tslint-microsoft-contrib": "^6.2.0", "typescript": "3.7.2" }, "dependencies": { diff --git a/packages/opentelemetry-plugin-grpc/src/grpc.ts b/packages/opentelemetry-plugin-grpc/src/grpc.ts index 44efeb2a93..0b7de00518 100644 --- a/packages/opentelemetry-plugin-grpc/src/grpc.ts +++ b/packages/opentelemetry-plugin-grpc/src/grpc.ts @@ -78,7 +78,6 @@ export class GrpcPlugin extends BasePlugin { shimmer.wrap( this._moduleExports.Server.prototype, 'register', - // tslint:disable-next-line:no-any this._patchServer() as any ); } @@ -135,7 +134,6 @@ export class GrpcPlugin extends BasePlugin { plugin._logger.debug('patched gRPC server'); return function register( - // tslint:disable-next-line:no-any this: grpcTypes.Server & { handlers: any }, name: string, handler: grpcTypes.handleCall, @@ -143,7 +141,6 @@ export class GrpcPlugin extends BasePlugin { deserialize: grpcTypes.deserialize, type: string ) { - // tslint:disable-next-line:no-any const originalResult = originalRegister.apply(this, arguments as any); const handlerSet = this.handlers[name]; @@ -228,7 +225,6 @@ export class GrpcPlugin extends BasePlugin { ) { function patchedCallback( err: grpcTypes.ServiceError, - // tslint:disable-next-line:no-any value: any, trailer: grpcTypes.Metadata, flags: grpcTypes.writeFlags @@ -309,7 +305,6 @@ export class GrpcPlugin extends BasePlugin { endSpan(); }); - // tslint:disable-next-line:no-any return (original as any).call(self, call); } @@ -323,12 +318,10 @@ export class GrpcPlugin extends BasePlugin { serviceName: string, options: grpcTypes.GenericClientOptions ) { - // tslint:disable-next-line:no-any const client = original.apply(this, arguments as any); shimmer.massWrap( client.prototype as never, plugin._getMethodsToWrap(client, methods) as never[], - // tslint:disable-next-line:no-any plugin._getPatchedClientMethods() as any ); return client; @@ -346,6 +339,7 @@ export class GrpcPlugin extends BasePlugin { .map(methodName => methods[methodName].originalName) .filter( originalName => + // eslint-disable-next-line no-prototype-builtins !!originalName && client.prototype.hasOwnProperty(originalName) ) as string[]), ]; @@ -376,7 +370,6 @@ export class GrpcPlugin extends BasePlugin { */ private _makeGrpcClientRemoteCall( original: GrpcClientFunc, - // tslint:disable-next-line:no-any args: any[], self: grpcTypes.Client, plugin: GrpcPlugin @@ -390,7 +383,6 @@ export class GrpcPlugin extends BasePlugin { callback: SendUnaryDataCallback, metadata: grpcTypes.Metadata ) { - // tslint:disable-next-line:no-any const wrappedFn = (err: grpcTypes.ServiceError, res: any) => { if (err) { if (err.code) { @@ -492,7 +484,6 @@ export class GrpcPlugin extends BasePlugin { private _getMetadata( original: GrpcClientFunc, - // tslint:disable-next-line:no-any args: any[] ): grpcTypes.Metadata { let metadata: grpcTypes.Metadata; @@ -501,7 +492,6 @@ export class GrpcPlugin extends BasePlugin { // A possible issue that could occur is if the 'options' parameter from // the user contains an '_internal_repr' as well as a 'getMap' function, // but this is an extremely rare case. - // tslint:disable-next-line:no-any let metadataIndex = findIndex(args, (arg: any) => { return ( arg && diff --git a/packages/opentelemetry-plugin-grpc/src/types.ts b/packages/opentelemetry-plugin-grpc/src/types.ts index 15f1f3d119..f6198295fd 100644 --- a/packages/opentelemetry-plugin-grpc/src/types.ts +++ b/packages/opentelemetry-plugin-grpc/src/types.ts @@ -21,12 +21,12 @@ export type grpc = typeof grpcModule; export type SendUnaryDataCallback = ( error: grpcModule.ServiceError | null, - // tslint:disable-next-line:no-any value?: any, trailer?: grpcModule.Metadata, flags?: grpcModule.writeFlags ) => void; +// eslint-disable-next-line @typescript-eslint/no-empty-interface export interface GrpcPluginOptions {} interface GrpcStatus { diff --git a/packages/opentelemetry-plugin-grpc/src/version.ts b/packages/opentelemetry-plugin-grpc/src/version.ts index fcfa16a915..2a73db3923 100644 --- a/packages/opentelemetry-plugin-grpc/src/version.ts +++ b/packages/opentelemetry-plugin-grpc/src/version.ts @@ -1,5 +1,5 @@ -/*! - * Copyright 2019, OpenTelemetry Authors +/* + * Copyright 2020, OpenTelemetry Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/opentelemetry-plugin-grpc/test/grpc.test.ts b/packages/opentelemetry-plugin-grpc/test/grpc.test.ts index a54410a280..12dd723c89 100644 --- a/packages/opentelemetry-plugin-grpc/test/grpc.test.ts +++ b/packages/opentelemetry-plugin-grpc/test/grpc.test.ts @@ -47,20 +47,14 @@ interface TestRequestResponse { } type TestGrpcClient = grpc.Client & { - // tslint:disable-next-line:no-any unaryMethod: any; - // tslint:disable-next-line:no-any UnaryMethod: any; - // tslint:disable-next-line:no-any clientStreamMethod: any; - // tslint:disable-next-line:no-any serverStreamMethod: any; - // tslint:disable-next-line:no-any bidiStreamMethod: any; }; // Compare two arrays using an equal function f -// tslint:disable-next-line:no-any const arrayIsEqual = (f: any) => ([x, ...xs]: any) => ([y, ...ys]: any): any => x === undefined && y === undefined ? true @@ -75,8 +69,7 @@ const checkEqual = (x: TestRequestResponse | TestRequestResponse[]) => ( y: TestRequestResponse | TestRequestResponse[] ) => x instanceof Array && y instanceof Array - ? // tslint:disable-next-line:no-any - arrayIsEqual(requestEqual)(x as any)(y as any) + ? arrayIsEqual(requestEqual)(x as any)(y as any) : !(x instanceof Array) && !(y instanceof Array) ? requestEqual(x)(y) : false; @@ -201,7 +194,6 @@ const replicate = (request: TestRequestResponse) => { return result; }; -// tslint:disable-next-line:no-any function startServer(grpc: GrpcModule, proto: any) { const server = new grpc.Server(); @@ -220,7 +212,6 @@ function startServer(grpc: GrpcModule, proto: any) { // This method returns the request unaryMethod( - // tslint:disable-next-line:no-any call: grpc.ServerUnaryCall, callback: SendUnaryDataCallback ) { @@ -231,7 +222,6 @@ function startServer(grpc: GrpcModule, proto: any) { // This method sum the requests clientStreamMethod( - // tslint:disable-next-line:no-any call: grpc.ServerReadableStream, callback: SendUnaryDataCallback ) { @@ -254,7 +244,6 @@ function startServer(grpc: GrpcModule, proto: any) { // This method returns an array that replicates the request, request.num of // times - // tslint:disable-next-line:no-any serverStreamMethod: (call: grpc.ServerWriteableStream) => { const result = replicate(call.request); @@ -272,7 +261,6 @@ function startServer(grpc: GrpcModule, proto: any) { }, // This method returns the request - // tslint:disable-next-line:no-any bidiStreamMethod: (call: grpc.ServerDuplexStream) => { call.on('data', (data: TestRequestResponse) => { if (data.num <= MAX_ERROR_STATUS) { @@ -291,7 +279,6 @@ function startServer(grpc: GrpcModule, proto: any) { return server; } -// tslint:disable-next-line:no-any function createClient(grpc: GrpcModule, proto: any) { return new proto.GrpcTester( 'localhost:' + grpcPort, @@ -399,7 +386,6 @@ describe('GrpcPlugin', () => { method.description }`, async () => { const args = [client, method.request]; - // tslint:disable-next-line:no-any await (method.method as any) .apply({}, args) .then((result: TestRequestResponse | TestRequestResponse[]) => { @@ -441,7 +427,6 @@ describe('GrpcPlugin', () => { assert.deepStrictEqual(rootSpan, span); const args = [client, method.request]; - // tslint:disable-next-line:no-any await (method.method as any) .apply({}, args) .then(() => { @@ -498,7 +483,6 @@ describe('GrpcPlugin', () => { : method.request; const args = [client, insertError(errRequest)(errorCode)]; - // tslint:disable-next-line:no-any await (method.method as any) .apply({}, args) .then(() => { @@ -540,7 +524,6 @@ describe('GrpcPlugin', () => { : method.request; const args = [client, insertError(errRequest)(errorCode)]; - // tslint:disable-next-line:no-any await (method.method as any) .apply({}, args) .then(() => { @@ -608,7 +591,6 @@ describe('GrpcPlugin', () => { methodList.forEach(method => { describe(`Test error raising for grpc remote ${method.description}`, () => { Object.keys(grpc.status).forEach((statusKey: string) => { - // tslint:disable-next-line:no-any const errorCode = Number(grpc.status[statusKey as any]); if (errorCode > grpc.status.OK) { runErrorTest(method, statusKey, errorCode, provider); diff --git a/packages/opentelemetry-plugin-grpc/tslint.json b/packages/opentelemetry-plugin-grpc/tslint.json deleted file mode 100644 index 0710b135d0..0000000000 --- a/packages/opentelemetry-plugin-grpc/tslint.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "rulesDirectory": ["node_modules/tslint-microsoft-contrib"], - "extends": ["../../tslint.base.js", "./node_modules/tslint-consistent-codestyle"] -} diff --git a/packages/opentelemetry-plugin-http/.eslintignore b/packages/opentelemetry-plugin-http/.eslintignore new file mode 100644 index 0000000000..378eac25d3 --- /dev/null +++ b/packages/opentelemetry-plugin-http/.eslintignore @@ -0,0 +1 @@ +build diff --git a/packages/opentelemetry-plugin-http/.eslintrc.js b/packages/opentelemetry-plugin-http/.eslintrc.js new file mode 100644 index 0000000000..f726f3becb --- /dev/null +++ b/packages/opentelemetry-plugin-http/.eslintrc.js @@ -0,0 +1,7 @@ +module.exports = { + "env": { + "mocha": true, + "node": true + }, + ...require('../../eslint.config.js') +} diff --git a/packages/opentelemetry-plugin-http/package.json b/packages/opentelemetry-plugin-http/package.json index 7f40afcb25..91c648fd89 100644 --- a/packages/opentelemetry-plugin-http/package.json +++ b/packages/opentelemetry-plugin-http/package.json @@ -9,8 +9,8 @@ "test": "nyc ts-mocha -p tsconfig.json test/**/*.test.ts", "tdd": "npm run test -- --watch-extensions ts --watch", "clean": "rimraf build/*", - "lint": "gts check", - "lint:fix": "gts fix", + "lint": "eslint . --ext .ts", + "lint:fix": "eslint . --ext .ts --fix", "codecov": "nyc report --reporter=json && codecov -f coverage/*.json -p ../../", "precompile": "tsc --version", "version:update": "node ../../scripts/version-update.js", @@ -55,8 +55,9 @@ "@types/superagent": "^4.1.3", "axios": "^0.19.0", "codecov": "^3.6.1", + "eslint": "^6.8.0", "got": "^9.6.0", - "gts": "^1.1.0", + "gts": "^2.0.0", "mocha": "^7.1.2", "nock": "^11.3.5", "nyc": "^15.0.0", @@ -67,8 +68,6 @@ "superagent": "5.1.0", "ts-mocha": "^7.0.0", "ts-node": "^8.6.2", - "tslint-consistent-codestyle": "^1.16.0", - "tslint-microsoft-contrib": "^6.2.0", "typescript": "3.7.2" }, "dependencies": { diff --git a/packages/opentelemetry-plugin-http/src/enums/AttributeNames.ts b/packages/opentelemetry-plugin-http/src/enums/AttributeNames.ts index dcc0ada818..6ea8eb8983 100644 --- a/packages/opentelemetry-plugin-http/src/enums/AttributeNames.ts +++ b/packages/opentelemetry-plugin-http/src/enums/AttributeNames.ts @@ -1,5 +1,5 @@ -/*! - * Copyright 2019, OpenTelemetry Authors +/* + * Copyright 2020, OpenTelemetry Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/opentelemetry-plugin-http/src/http.ts b/packages/opentelemetry-plugin-http/src/http.ts index 481970e4ea..9db4f207ab 100644 --- a/packages/opentelemetry-plugin-http/src/http.ts +++ b/packages/opentelemetry-plugin-http/src/http.ts @@ -1,5 +1,5 @@ -/*! - * Copyright 2019, OpenTelemetry Authors +/* + * Copyright 2020, OpenTelemetry Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,7 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - import { CanonicalCode, context, @@ -196,7 +195,7 @@ export class HttpPlugin extends BasePlugin { ): ClientRequest { const hostname = options.hostname || - options.host?.replace(/^(.*)(\:[0-9]{1,5})/, '$1') || + options.host?.replace(/^(.*)(:[0-9]{1,5})/, '$1') || 'localhost'; const attributes = utils.getOutgoingRequestAttributes(options, { component: this.component, @@ -332,16 +331,14 @@ export class HttpPlugin extends BasePlugin { // Wraps end (inspired by: // https://github.com/GoogleCloudPlatform/cloud-trace-nodejs/blob/master/src/plugins/plugin-connect.ts#L75) const originalEnd = response.end; - response.end = function( + response.end = function ( this: ServerResponse, ...args: ResponseEndArgs ) { response.end = originalEnd; // Cannot pass args of type ResponseEndArgs, - // tslint complains "Expected 1-2 arguments, but got 1 or more.", it does not make sense to me const returned = plugin._safeExecute( span, - // tslint:disable-next-line:no-any () => response.end.apply(this, arguments as any), true ); @@ -413,6 +410,7 @@ export class HttpPlugin extends BasePlugin { } if ( + utils.isOpenTelemetryRequest(optionsParsed) || utils.isIgnored( origin + pathname, plugin._config.ignoreOutgoingUrls, diff --git a/packages/opentelemetry-plugin-http/src/index.ts b/packages/opentelemetry-plugin-http/src/index.ts index 6d56e7a712..4d678a5f65 100644 --- a/packages/opentelemetry-plugin-http/src/index.ts +++ b/packages/opentelemetry-plugin-http/src/index.ts @@ -1,5 +1,5 @@ -/*! - * Copyright 2019, OpenTelemetry Authors +/* + * Copyright 2020, OpenTelemetry Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/opentelemetry-plugin-http/src/types.ts b/packages/opentelemetry-plugin-http/src/types.ts index da55e0fff8..4be2114657 100644 --- a/packages/opentelemetry-plugin-http/src/types.ts +++ b/packages/opentelemetry-plugin-http/src/types.ts @@ -1,5 +1,5 @@ -/*! - * Copyright 2019, OpenTelemetry Authors +/* + * Copyright 2020, OpenTelemetry Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,17 +13,16 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - -import { Span, PluginConfig } from '@opentelemetry/api'; -import * as url from 'url'; +import { PluginConfig, Span } from '@opentelemetry/api'; +import * as http from 'http'; import { ClientRequest, + get, IncomingMessage, - ServerResponse, request, - get, + ServerResponse, } from 'http'; -import * as http from 'http'; +import * as url from 'url'; export type IgnoreMatcher = string | RegExp | ((url: string) => boolean); export type HttpCallback = (res: IncomingMessage) => void; diff --git a/packages/opentelemetry-plugin-http/src/utils.ts b/packages/opentelemetry-plugin-http/src/utils.ts index ef5cb100f2..baa7adf90a 100644 --- a/packages/opentelemetry-plugin-http/src/utils.ts +++ b/packages/opentelemetry-plugin-http/src/utils.ts @@ -1,5 +1,5 @@ -/*! - * Copyright 2019, OpenTelemetry Authors +/* + * Copyright 2020, OpenTelemetry Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,25 +13,24 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - -import { Status, CanonicalCode, Span, Attributes } from '@opentelemetry/api'; +import { Attributes, CanonicalCode, Span, Status } from '@opentelemetry/api'; import { - RequestOptions, - IncomingMessage, ClientRequest, IncomingHttpHeaders, + IncomingMessage, OutgoingHttpHeaders, + RequestOptions, ServerResponse, } from 'http'; +import { Socket } from 'net'; +import * as url from 'url'; +import { AttributeNames } from './enums/AttributeNames'; import { - IgnoreMatcher, Err, + IgnoreMatcher, ParsedRequestOptions, SpecialHttpStatusCodeMapping, } from './types'; -import { AttributeNames } from './enums/AttributeNames'; -import * as url from 'url'; -import { Socket } from 'net'; /** * Specific header used by exporters to "mark" outgoing request to avoid creating @@ -266,8 +265,9 @@ export const getRequestInfo = ( if (!pathname && optionsParsed.path) { pathname = url.parse(optionsParsed.path).pathname || '/'; } - origin = `${optionsParsed.protocol || 'http:'}//${optionsParsed.host || - `${optionsParsed.hostname}:${optionsParsed.port}`}`; + origin = `${optionsParsed.protocol || 'http:'}//${ + optionsParsed.host || `${optionsParsed.hostname}:${optionsParsed.port}` + }`; } if (hasExpectHeader(optionsParsed)) { @@ -327,13 +327,12 @@ export const getOutgoingRequestAttributes = ( const host = requestOptions.host; const hostname = requestOptions.hostname || - host?.replace(/^(.*)(\:[0-9]{1,5})/, '$1') || + host?.replace(/^(.*)(:[0-9]{1,5})/, '$1') || 'localhost'; const requestMethod = requestOptions.method; const method = requestMethod ? requestMethod.toUpperCase() : 'GET'; const headers = requestOptions.headers || {}; const userAgent = headers['user-agent']; - const attributes: Attributes = { [AttributeNames.HTTP_URL]: getAbsoluteUrl( requestOptions, @@ -414,7 +413,7 @@ export const getIncomingRequestAttributes = ( const host = requestUrl?.host || headers.host; const hostname = requestUrl?.hostname || - host?.replace(/^(.*)(\:[0-9]{1,5})/, '$1') || + host?.replace(/^(.*)(:[0-9]{1,5})/, '$1') || 'localhost'; const serverName = options.serverName; const attributes: Attributes = { @@ -437,8 +436,8 @@ export const getIncomingRequestAttributes = ( } if (requestUrl) { - attributes[AttributeNames.HTTP_TARGET] = requestUrl.path || '/'; attributes[AttributeNames.HTTP_ROUTE] = requestUrl.pathname || '/'; + attributes[AttributeNames.HTTP_TARGET] = requestUrl.pathname || '/'; } if (userAgent !== undefined) { @@ -454,7 +453,7 @@ export const getIncomingRequestAttributes = ( * @param {(ServerResponse & { socket: Socket; })} response the response object */ export const getIncomingRequestAttributesOnResponse = ( - request: IncomingMessage, + request: IncomingMessage & { __ot_middlewares?: string[] }, response: ServerResponse & { socket: Socket } ): Attributes => { const { statusCode, statusMessage, socket } = response; diff --git a/packages/opentelemetry-plugin-http/src/version.ts b/packages/opentelemetry-plugin-http/src/version.ts index fcfa16a915..2a73db3923 100644 --- a/packages/opentelemetry-plugin-http/src/version.ts +++ b/packages/opentelemetry-plugin-http/src/version.ts @@ -1,5 +1,5 @@ -/*! - * Copyright 2019, OpenTelemetry Authors +/* + * Copyright 2020, OpenTelemetry Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/opentelemetry-plugin-http/test/functionals/http-disable.test.ts b/packages/opentelemetry-plugin-http/test/functionals/http-disable.test.ts index 996992a61d..5a5d0407c7 100644 --- a/packages/opentelemetry-plugin-http/test/functionals/http-disable.test.ts +++ b/packages/opentelemetry-plugin-http/test/functionals/http-disable.test.ts @@ -1,5 +1,5 @@ -/*! - * Copyright 2019, OpenTelemetry Authors +/* + * Copyright 2020, OpenTelemetry Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,7 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - import { NoopTracerProvider, NOOP_TRACER } from '@opentelemetry/api'; import { NoopLogger } from '@opentelemetry/core'; import * as assert from 'assert'; diff --git a/packages/opentelemetry-plugin-http/test/functionals/http-enable.test.ts b/packages/opentelemetry-plugin-http/test/functionals/http-enable.test.ts index 812194e423..1c32b3156f 100644 --- a/packages/opentelemetry-plugin-http/test/functionals/http-enable.test.ts +++ b/packages/opentelemetry-plugin-http/test/functionals/http-enable.test.ts @@ -1,5 +1,5 @@ -/*! - * Copyright 2019, OpenTelemetry Authors +/* + * Copyright 2020, OpenTelemetry Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,13 +13,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - import { CanonicalCode, + context, + propagation, Span as ISpan, SpanKind, - propagation, - context, } from '@opentelemetry/api'; import { NoopLogger } from '@opentelemetry/core'; import { NodeTracerProvider } from '@opentelemetry/node'; @@ -213,14 +212,14 @@ describe('HttpPlugin', () => { before(() => { const config: HttpPluginConfig = { ignoreIncomingPaths: [ - `/ignored/string`, + '/ignored/string', /\/ignored\/regexp$/i, - (url: string) => url.endsWith(`/ignored/function`), + (url: string) => url.endsWith('/ignored/function'), ], ignoreOutgoingUrls: [ `${protocol}://${hostname}:${serverPort}/ignored/string`, /\/ignored\/regexp$/i, - (url: string) => url.endsWith(`/ignored/function`), + (url: string) => url.endsWith('/ignored/function'), ], applyCustomAttributesOnSpan: customAttributeFunction, requestHook: requestHookFunction, @@ -512,8 +511,7 @@ describe('HttpPlugin', () => { arg )}`, async () => { try { - // @ts-ignore - await httpRequest.get(arg); + await httpRequest.get(arg as any); } catch (error) { // request has been made // nock throw @@ -700,9 +698,7 @@ describe('HttpPlugin', () => { it("should have 1 ended span when response is listened by using req.on('response')", done => { const host = `${protocol}://${hostname}`; - nock(host) - .get('/') - .reply(404); + nock(host).get('/').reply(404); const req = http.request(`${host}/`); req.on('response', response => { response.on('data', () => {}); @@ -772,14 +768,14 @@ describe('HttpPlugin', () => { plugin.disable(); }); - it(`should not trace without parent with options enabled (both client & server)`, async () => { + it('should not trace without parent with options enabled (both client & server)', async () => { plugin.disable(); const config: HttpPluginConfig = { requireParentforIncomingSpans: true, requireParentforOutgoingSpans: true, }; plugin.enable(http, provider, provider.logger, config); - const testPath = `/test/test`; + const testPath = '/test/test'; await httpRequest.get( `${protocol}://${hostname}:${serverPort}${testPath}` ); @@ -787,13 +783,13 @@ describe('HttpPlugin', () => { assert.strictEqual(spans.length, 0); }); - it(`should not trace without parent with options enabled (client only)`, async () => { + it('should not trace without parent with options enabled (client only)', async () => { plugin.disable(); const config: HttpPluginConfig = { requireParentforOutgoingSpans: true, }; plugin.enable(http, provider, provider.logger, config); - const testPath = `/test/test`; + const testPath = '/test/test'; const result = await httpRequest.get( `${protocol}://${hostname}:${serverPort}${testPath}` ); @@ -811,13 +807,13 @@ describe('HttpPlugin', () => { ); }); - it(`should not trace without parent with options enabled (server only)`, async () => { + it('should not trace without parent with options enabled (server only)', async () => { plugin.disable(); const config: HttpPluginConfig = { requireParentforIncomingSpans: true, }; plugin.enable(http, provider, provider.logger, config); - const testPath = `/test/test`; + const testPath = '/test/test'; const result = await httpRequest.get( `${protocol}://${hostname}:${serverPort}${testPath}` ); @@ -835,14 +831,14 @@ describe('HttpPlugin', () => { ); }); - it(`should trace with parent with both requireParent options enabled`, done => { + it('should trace with parent with both requireParent options enabled', done => { plugin.disable(); const config: HttpPluginConfig = { requireParentforIncomingSpans: true, requireParentforOutgoingSpans: true, }; plugin.enable(http, provider, provider.logger, config); - const testPath = `/test/test`; + const testPath = '/test/test'; const tracer = provider.getTracer('default'); const span = tracer.startSpan('parentSpan', { kind: SpanKind.INTERNAL, diff --git a/packages/opentelemetry-plugin-http/test/functionals/http-package.test.ts b/packages/opentelemetry-plugin-http/test/functionals/http-package.test.ts index 9b69793d28..57cbe57427 100644 --- a/packages/opentelemetry-plugin-http/test/functionals/http-package.test.ts +++ b/packages/opentelemetry-plugin-http/test/functionals/http-package.test.ts @@ -1,5 +1,5 @@ -/*! - * Copyright 2019, OpenTelemetry Authors +/* + * Copyright 2020, OpenTelemetry Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/opentelemetry-plugin-http/test/functionals/utils.test.ts b/packages/opentelemetry-plugin-http/test/functionals/utils.test.ts index d79588e287..af89fa51ed 100644 --- a/packages/opentelemetry-plugin-http/test/functionals/utils.test.ts +++ b/packages/opentelemetry-plugin-http/test/functionals/utils.test.ts @@ -1,5 +1,5 @@ -/*! - * Copyright 2019, OpenTelemetry Authors +/* + * Copyright 2020, OpenTelemetry Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,12 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - import { CanonicalCode, SpanKind, TraceFlags } from '@opentelemetry/api'; import { NoopLogger } from '@opentelemetry/core'; import { BasicTracerProvider, Span } from '@opentelemetry/tracing'; import * as assert from 'assert'; import * as http from 'http'; +import { IncomingMessage, ServerResponse } from 'http'; +import { Socket } from 'net'; import * as sinon from 'sinon'; import * as url from 'url'; import { AttributeNames } from '../../src'; @@ -179,7 +180,7 @@ describe('Utility', () => { utils.isIgnored( '/test/1', [ - url => { + () => { throw new Error('test'); }, ], @@ -196,7 +197,7 @@ describe('Utility', () => { utils.isIgnored( '/test/1', [ - url => { + () => { throw new Error('test'); }, ], @@ -319,21 +320,19 @@ describe('Utility', () => { it('should correctly parse the middleware stack if present', () => { const request = { __ot_middlewares: ['/test', '/toto', '/'], - }; - // @ts-ignore ignore error about invalid request types since we only want to - // check the parsing of the `__ot_middlewares` property + } as IncomingMessage & { __ot_middlewares?: string[] }; + const attributes = utils.getIncomingRequestAttributesOnResponse(request, { socket: {}, - }); + } as ServerResponse & { socket: Socket }); assert.deepEqual(attributes[AttributeNames.HTTP_ROUTE], '/test/toto'); }); + it('should succesfully process without middleware stack', () => { - const request = {}; - // @ts-ignore ignore error about invalid request types since we only want to - // check the parsing of the `__ot_middlewares` property + const request = {} as IncomingMessage; const attributes = utils.getIncomingRequestAttributesOnResponse(request, { socket: {}, - }); + } as ServerResponse & { socket: Socket }); assert.deepEqual(attributes[AttributeNames.HTTP_ROUTE], undefined); }); }); diff --git a/packages/opentelemetry-plugin-http/test/integrations/http-enable.test.ts b/packages/opentelemetry-plugin-http/test/integrations/http-enable.test.ts index 8b08378576..264eec94a8 100644 --- a/packages/opentelemetry-plugin-http/test/integrations/http-enable.test.ts +++ b/packages/opentelemetry-plugin-http/test/integrations/http-enable.test.ts @@ -1,5 +1,5 @@ -/*! - * Copyright 2019, OpenTelemetry Authors +/* + * Copyright 2020, OpenTelemetry Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,11 +18,11 @@ import { NoopLogger } from '@opentelemetry/core'; import { SpanKind, Span, context } from '@opentelemetry/api'; import * as assert from 'assert'; import * as http from 'http'; +import * as url from 'url'; import { plugin } from '../../src/http'; import { assertSpan } from '../utils/assertSpan'; import { DummyPropagation } from '../utils/DummyPropagation'; import { httpRequest } from '../utils/httpRequest'; -import * as url from 'url'; import * as utils from '../utils/utils'; import { NodeTracerProvider } from '@opentelemetry/node'; import { @@ -51,7 +51,7 @@ describe('HttpPlugin Integration tests', () => { context.disable(); }); describe('enable()', () => { - before(function(done) { + before(function (done) { // mandatory if (process.env.CI) { done(); @@ -80,7 +80,7 @@ describe('HttpPlugin Integration tests', () => { const ignoreConfig = [ `${protocol}://${hostname}:${serverPort}/ignored/string`, /\/ignored\/regexp$/i, - (url: string) => url.endsWith(`/ignored/function`), + (url: string) => url.endsWith('/ignored/function'), ]; const config: HttpPluginConfig = { ignoreIncomingPaths: ignoreConfig, @@ -155,7 +155,9 @@ describe('HttpPlugin Integration tests', () => { const result = await httpRequest.get( new url.URL(`${protocol}://google.fr/?query=test`), - { headers: { 'x-foo': 'foo' } } + { + headers: { 'x-foo': 'foo' }, + } ); spans = memoryExporter.getFinishedSpans(); diff --git a/packages/opentelemetry-plugin-http/test/utils/DummyPropagation.ts b/packages/opentelemetry-plugin-http/test/utils/DummyPropagation.ts index 02c85aa92e..f8ef3ed337 100644 --- a/packages/opentelemetry-plugin-http/test/utils/DummyPropagation.ts +++ b/packages/opentelemetry-plugin-http/test/utils/DummyPropagation.ts @@ -1,5 +1,5 @@ -/*! - * Copyright 2019, OpenTelemetry Authors +/* + * Copyright 2020, OpenTelemetry Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,8 +15,8 @@ */ import { Context, HttpTextPropagator, TraceFlags } from '@opentelemetry/api'; import { - setExtractedSpanContext, getParentSpanContext, + setExtractedSpanContext, } from '@opentelemetry/core'; import * as http from 'http'; diff --git a/packages/opentelemetry-plugin-http/test/utils/assertSpan.ts b/packages/opentelemetry-plugin-http/test/utils/assertSpan.ts index cc70a654b9..aaf1f7aedb 100644 --- a/packages/opentelemetry-plugin-http/test/utils/assertSpan.ts +++ b/packages/opentelemetry-plugin-http/test/utils/assertSpan.ts @@ -1,5 +1,5 @@ -/*! - * Copyright 2019, OpenTelemetry Authors +/* + * Copyright 2020, OpenTelemetry Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,15 +13,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - import { SpanKind, Status } from '@opentelemetry/api'; import { hrTimeToNanoseconds } from '@opentelemetry/core'; +import { ReadableSpan } from '@opentelemetry/tracing'; import * as assert from 'assert'; import * as http from 'http'; import { AttributeNames } from '../../src/enums/AttributeNames'; import * as utils from '../../src/utils'; import { DummyPropagation } from './DummyPropagation'; -import { ReadableSpan } from '@opentelemetry/tracing'; export const assertSpan = ( span: ReadableSpan, diff --git a/packages/opentelemetry-plugin-http/test/utils/httpRequest.ts b/packages/opentelemetry-plugin-http/test/utils/httpRequest.ts index 077896bab8..bf97c3bf91 100644 --- a/packages/opentelemetry-plugin-http/test/utils/httpRequest.ts +++ b/packages/opentelemetry-plugin-http/test/utils/httpRequest.ts @@ -1,5 +1,5 @@ -/*! - * Copyright 2019, OpenTelemetry Authors +/* + * Copyright 2020, OpenTelemetry Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,7 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - import * as http from 'http'; import { URL } from 'url'; @@ -29,6 +28,7 @@ function get(input: string | URL, options?: http.RequestOptions): GetResult; function get(input: http.RequestOptions): GetResult; function get(input: any, options?: any): GetResult { return new Promise((resolve, reject) => { + // eslint-disable-next-line prefer-const let req: http.ClientRequest; function onGetResponseCb(resp: http.IncomingMessage): void { diff --git a/packages/opentelemetry-plugin-http/test/utils/utils.ts b/packages/opentelemetry-plugin-http/test/utils/utils.ts index 57a75516a1..256afbfdc5 100644 --- a/packages/opentelemetry-plugin-http/test/utils/utils.ts +++ b/packages/opentelemetry-plugin-http/test/utils/utils.ts @@ -1,5 +1,5 @@ -/*! - * Copyright 2019, OpenTelemetry Authors +/* + * Copyright 2020, OpenTelemetry Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,7 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - import * as dns from 'dns'; export const checkInternet = (cb: (isConnected: boolean) => void) => { diff --git a/packages/opentelemetry-plugin-http/tslint.json b/packages/opentelemetry-plugin-http/tslint.json deleted file mode 100644 index 0710b135d0..0000000000 --- a/packages/opentelemetry-plugin-http/tslint.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "rulesDirectory": ["node_modules/tslint-microsoft-contrib"], - "extends": ["../../tslint.base.js", "./node_modules/tslint-consistent-codestyle"] -} diff --git a/packages/opentelemetry-plugin-https/.eslintignore b/packages/opentelemetry-plugin-https/.eslintignore new file mode 100644 index 0000000000..378eac25d3 --- /dev/null +++ b/packages/opentelemetry-plugin-https/.eslintignore @@ -0,0 +1 @@ +build diff --git a/packages/opentelemetry-plugin-https/.eslintrc.js b/packages/opentelemetry-plugin-https/.eslintrc.js new file mode 100644 index 0000000000..f726f3becb --- /dev/null +++ b/packages/opentelemetry-plugin-https/.eslintrc.js @@ -0,0 +1,7 @@ +module.exports = { + "env": { + "mocha": true, + "node": true + }, + ...require('../../eslint.config.js') +} diff --git a/packages/opentelemetry-plugin-https/package.json b/packages/opentelemetry-plugin-https/package.json index 4f419d414e..eee1d720be 100644 --- a/packages/opentelemetry-plugin-https/package.json +++ b/packages/opentelemetry-plugin-https/package.json @@ -9,8 +9,8 @@ "test": "nyc ts-mocha -p tsconfig.json test/**/*.test.ts", "tdd": "npm run test -- --watch-extensions ts --watch", "clean": "rimraf build/*", - "lint": "gts check", - "lint:fix": "gts fix", + "lint": "eslint . --ext .ts", + "lint:fix": "eslint . --ext .ts --fix", "codecov": "nyc report --reporter=json && codecov -f coverage/*.json -p ../../", "precompile": "tsc --version", "version:update": "node ../../scripts/version-update.js", @@ -56,7 +56,7 @@ "axios": "^0.19.0", "codecov": "^3.6.1", "got": "^9.6.0", - "gts": "^1.1.0", + "gts": "^2.0.0", "mocha": "^7.1.2", "nock": "^11.3.5", "nyc": "^15.0.0", @@ -67,8 +67,6 @@ "superagent": "5.1.0", "ts-mocha": "^7.0.0", "ts-node": "^8.6.2", - "tslint-consistent-codestyle": "^1.16.0", - "tslint-microsoft-contrib": "^6.2.0", "typescript": "3.7.2" }, "dependencies": { diff --git a/packages/opentelemetry-plugin-https/src/version.ts b/packages/opentelemetry-plugin-https/src/version.ts index fcfa16a915..2a73db3923 100644 --- a/packages/opentelemetry-plugin-https/src/version.ts +++ b/packages/opentelemetry-plugin-https/src/version.ts @@ -1,5 +1,5 @@ -/*! - * Copyright 2019, OpenTelemetry Authors +/* + * Copyright 2020, OpenTelemetry Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/opentelemetry-plugin-https/test/functionals/https-enable.test.ts b/packages/opentelemetry-plugin-https/test/functionals/https-enable.test.ts index 5648223fe0..21d43c39bd 100644 --- a/packages/opentelemetry-plugin-https/test/functionals/https-enable.test.ts +++ b/packages/opentelemetry-plugin-https/test/functionals/https-enable.test.ts @@ -208,14 +208,14 @@ describe('HttpsPlugin', () => { before(() => { const config: HttpPluginConfig = { ignoreIncomingPaths: [ - `/ignored/string`, + '/ignored/string', /\/ignored\/regexp$/i, - (url: string) => url.endsWith(`/ignored/function`), + (url: string) => url.endsWith('/ignored/function'), ], ignoreOutgoingUrls: [ `${protocol}://${hostname}:${serverPort}/ignored/string`, /\/ignored\/regexp$/i, - (url: string) => url.endsWith(`/ignored/function`), + (url: string) => url.endsWith('/ignored/function'), ], applyCustomAttributesOnSpan: customAttributeFunction, serverName, @@ -503,8 +503,7 @@ describe('HttpsPlugin', () => { arg )}`, async () => { try { - // @ts-ignore - await httpsRequest.get(arg); + await httpsRequest.get(arg as any); } catch (error) { // request has been made // nock throw @@ -677,9 +676,7 @@ describe('HttpsPlugin', () => { it("should have 1 ended span when response is listened by using req.on('response')", done => { const host = `${protocol}://${hostname}`; - nock(host) - .get('/') - .reply(404); + nock(host).get('/').reply(404); const req = https.request(`${host}/`); req.on('response', response => { response.on('data', () => {}); diff --git a/packages/opentelemetry-plugin-https/test/functionals/https-package.test.ts b/packages/opentelemetry-plugin-https/test/functionals/https-package.test.ts index 0b6935fe36..e22ec5c246 100644 --- a/packages/opentelemetry-plugin-https/test/functionals/https-package.test.ts +++ b/packages/opentelemetry-plugin-https/test/functionals/https-package.test.ts @@ -101,7 +101,7 @@ describe('Packages', () => { // https://github.com/sindresorhus/got/commit/bf1aa5492ae2bc78cbbec6b7d764906fb156e6c2#diff-707a4781d57c42085155dcb27edb9ccbR258 // TODO: check if this is still the case when new version 'https://www.google.com' - : `https://www.google.com/search?q=axios&oq=axios&aqs=chrome.0.69i59l2j0l3j69i60.811j0j7&sourceid=chrome&ie=UTF-8` + : 'https://www.google.com/search?q=axios&oq=axios&aqs=chrome.0.69i59l2j0l3j69i60.811j0j7&sourceid=chrome&ie=UTF-8' ); const result = await httpPackage.get(urlparsed.href!); if (!resHeaders) { diff --git a/packages/opentelemetry-plugin-https/test/integrations/https-enable.test.ts b/packages/opentelemetry-plugin-https/test/integrations/https-enable.test.ts index d66ee4ae90..9da20e1b07 100644 --- a/packages/opentelemetry-plugin-https/test/integrations/https-enable.test.ts +++ b/packages/opentelemetry-plugin-https/test/integrations/https-enable.test.ts @@ -57,7 +57,7 @@ describe('HttpsPlugin Integration tests', () => { }); describe('enable()', () => { - before(function(done) { + before(function (done) { // mandatory if (process.env.CI) { done(); @@ -85,7 +85,7 @@ describe('HttpsPlugin Integration tests', () => { const ignoreConfig = [ `${protocol}://${hostname}:${serverPort}/ignored/string`, /\/ignored\/regexp$/i, - (url: string) => url.endsWith(`/ignored/function`), + (url: string) => url.endsWith('/ignored/function'), ]; const config: HttpPluginConfig = { ignoreIncomingPaths: ignoreConfig, diff --git a/packages/opentelemetry-plugin-https/test/utils/httpsRequest.ts b/packages/opentelemetry-plugin-https/test/utils/httpsRequest.ts index e96a12fce5..956c1da2e2 100644 --- a/packages/opentelemetry-plugin-https/test/utils/httpsRequest.ts +++ b/packages/opentelemetry-plugin-https/test/utils/httpsRequest.ts @@ -32,6 +32,7 @@ function get(input: string | URL, options?: https.RequestOptions): GetResult; function get(input: https.RequestOptions): GetResult; function get(input: any, options?: any): GetResult { return new Promise((resolve, reject) => { + // eslint-disable-next-line prefer-const let req: http.ClientRequest; function onGetResponseCb(resp: http.IncomingMessage): void { diff --git a/packages/opentelemetry-plugin-https/tslint.json b/packages/opentelemetry-plugin-https/tslint.json deleted file mode 100644 index 0710b135d0..0000000000 --- a/packages/opentelemetry-plugin-https/tslint.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "rulesDirectory": ["node_modules/tslint-microsoft-contrib"], - "extends": ["../../tslint.base.js", "./node_modules/tslint-consistent-codestyle"] -} diff --git a/packages/opentelemetry-plugin-xml-http-request/.eslintignore b/packages/opentelemetry-plugin-xml-http-request/.eslintignore new file mode 100644 index 0000000000..378eac25d3 --- /dev/null +++ b/packages/opentelemetry-plugin-xml-http-request/.eslintignore @@ -0,0 +1 @@ +build diff --git a/packages/opentelemetry-plugin-xml-http-request/.eslintrc.js b/packages/opentelemetry-plugin-xml-http-request/.eslintrc.js new file mode 100644 index 0000000000..01b8d09740 --- /dev/null +++ b/packages/opentelemetry-plugin-xml-http-request/.eslintrc.js @@ -0,0 +1,9 @@ +module.exports = { + "env": { + "mocha": true, + "commonjs": true, + "browser": true, + "jquery": true + }, + ...require('../../eslint.config.js') +} diff --git a/packages/opentelemetry-plugin-xml-http-request/package.json b/packages/opentelemetry-plugin-xml-http-request/package.json index 7e7f69a31d..650a48f2cc 100644 --- a/packages/opentelemetry-plugin-xml-http-request/package.json +++ b/packages/opentelemetry-plugin-xml-http-request/package.json @@ -6,8 +6,8 @@ "types": "build/src/index.d.ts", "repository": "open-telemetry/opentelemetry-js", "scripts": { - "lint": "gts check", - "lint:fix": "gts fix", + "lint": "eslint . --ext .ts", + "lint:fix": "eslint . --ext .ts --fix", "clean": "rimraf build/*", "codecov:browser": "nyc report --reporter=json && codecov -f coverage/*.json -p ../../", "precompile": "tsc --version", @@ -53,7 +53,7 @@ "@types/webpack-env": "1.13.9", "babel-loader": "^8.0.6", "codecov": "^3.1.0", - "gts": "^1.0.0", + "gts": "^2.0.0", "istanbul-instrumenter-loader": "^3.0.1", "karma": "^5.0.5", "karma-chrome-launcher": "^3.1.0", @@ -68,8 +68,6 @@ "ts-loader": "^6.0.4", "ts-mocha": "^7.0.0", "ts-node": "^8.6.2", - "tslint-consistent-codestyle": "^1.16.0", - "tslint-microsoft-contrib": "^6.2.0", "typescript": "3.6.4", "webpack": "^4.35.2", "webpack-cli": "^3.3.9", diff --git a/packages/opentelemetry-plugin-xml-http-request/src/version.ts b/packages/opentelemetry-plugin-xml-http-request/src/version.ts index fcfa16a915..2a73db3923 100644 --- a/packages/opentelemetry-plugin-xml-http-request/src/version.ts +++ b/packages/opentelemetry-plugin-xml-http-request/src/version.ts @@ -1,5 +1,5 @@ -/*! - * Copyright 2019, OpenTelemetry Authors +/* + * Copyright 2020, OpenTelemetry Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/opentelemetry-plugin-xml-http-request/src/xhr.ts b/packages/opentelemetry-plugin-xml-http-request/src/xhr.ts index 88eec64ae6..73e57b4812 100644 --- a/packages/opentelemetry-plugin-xml-http-request/src/xhr.ts +++ b/packages/opentelemetry-plugin-xml-http-request/src/xhr.ts @@ -357,7 +357,7 @@ export class XMLHttpRequestPlugin extends BasePlugin { return function patchOpen(this: XMLHttpRequest, ...args): void { const method: string = args[0]; const url: string = args[1]; - const async: boolean = !!args[2]; + const async = !!args[2]; if (async) { plugin._createSpan(this, url, method); } else { diff --git a/packages/opentelemetry-plugin-xml-http-request/test/xhr.test.ts b/packages/opentelemetry-plugin-xml-http-request/test/xhr.test.ts index 08b0b209ee..5248fd8b6f 100644 --- a/packages/opentelemetry-plugin-xml-http-request/test/xhr.test.ts +++ b/packages/opentelemetry-plugin-xml-http-request/test/xhr.test.ts @@ -41,19 +41,20 @@ class DummySpanExporter implements tracing.SpanExporter { } const getData = (url: string, callbackAfterSend: Function) => { + // eslint-disable-next-line no-async-promise-executor return new Promise(async (resolve, reject) => { const req = new XMLHttpRequest(); req.open('GET', url, true); req.send(); - req.onload = function() { + req.onload = function () { resolve(); }; - req.onerror = function() { + req.onerror = function () { resolve(); }; - req.ontimeout = function() { + req.ontimeout = function () { resolve(); }; @@ -135,7 +136,7 @@ describe('xhr', () => { ) => { sandbox = sinon.createSandbox(); const fakeXhr = sandbox.useFakeXMLHttpRequest(); - fakeXhr.onCreate = function(xhr: any) { + fakeXhr.onCreate = function (xhr: any) { requests.push(xhr); }; sandbox.useFakeTimers(); @@ -428,7 +429,7 @@ describe('xhr', () => { beforeEach(done => { sandbox = sinon.createSandbox(); const fakeXhr = sandbox.useFakeXMLHttpRequest(); - fakeXhr.onCreate = function(xhr: any) { + fakeXhr.onCreate = function (xhr: any) { requests.push(xhr); }; diff --git a/packages/opentelemetry-plugin-xml-http-request/tslint.json b/packages/opentelemetry-plugin-xml-http-request/tslint.json deleted file mode 100644 index 0710b135d0..0000000000 --- a/packages/opentelemetry-plugin-xml-http-request/tslint.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "rulesDirectory": ["node_modules/tslint-microsoft-contrib"], - "extends": ["../../tslint.base.js", "./node_modules/tslint-consistent-codestyle"] -} diff --git a/packages/opentelemetry-resources/.eslintignore b/packages/opentelemetry-resources/.eslintignore new file mode 100644 index 0000000000..378eac25d3 --- /dev/null +++ b/packages/opentelemetry-resources/.eslintignore @@ -0,0 +1 @@ +build diff --git a/packages/opentelemetry-resources/.eslintrc.js b/packages/opentelemetry-resources/.eslintrc.js new file mode 100644 index 0000000000..9dfe62f9b8 --- /dev/null +++ b/packages/opentelemetry-resources/.eslintrc.js @@ -0,0 +1,9 @@ +module.exports = { + "env": { + "mocha": true, + "commonjs": true, + "node": true, + "browser": true + }, + ...require('../../eslint.config.js') +} diff --git a/packages/opentelemetry-resources/package.json b/packages/opentelemetry-resources/package.json index 42391b0a28..b3be600f97 100644 --- a/packages/opentelemetry-resources/package.json +++ b/packages/opentelemetry-resources/package.json @@ -10,8 +10,8 @@ "types": "build/src/index.d.ts", "repository": "open-telemetry/opentelemetry-js", "scripts": { - "lint": "gts check", - "lint:fix": "gts fix", + "lint": "eslint . --ext .ts", + "lint:fix": "eslint . --ext .ts --fix", "test": "nyc ts-mocha -p tsconfig.json 'test/**/*.test.ts'", "tdd": "npm run test -- --watch-extensions ts --watch", "codecov": "nyc report --reporter=json && codecov -f coverage/*.json -p ../../", @@ -48,7 +48,7 @@ "@types/node": "^12.6.9", "@types/sinon": "^7.0.13", "codecov": "^3.6.1", - "gts": "^1.1.0", + "gts": "^2.0.0", "mocha": "^7.1.2", "nock": "^12.0.2", "nyc": "^15.0.0", @@ -56,8 +56,6 @@ "sinon": "^7.5.0", "ts-mocha": "^7.0.0", "ts-node": "^8.6.2", - "tslint-consistent-codestyle": "^1.16.0", - "tslint-microsoft-contrib": "^6.2.0", "typescript": "3.7.2" }, "dependencies": { diff --git a/packages/opentelemetry-resources/src/platform/node/detectors/EnvDetector.ts b/packages/opentelemetry-resources/src/platform/node/detectors/EnvDetector.ts index 52dd160778..a6e4cf31b1 100644 --- a/packages/opentelemetry-resources/src/platform/node/detectors/EnvDetector.ts +++ b/packages/opentelemetry-resources/src/platform/node/detectors/EnvDetector.ts @@ -87,10 +87,7 @@ class EnvDetector implements Detector { let [key, value] = keyValuePair; // Leading and trailing whitespaces are trimmed. key = key.trim(); - value = value - .trim() - .split('^"|"$') - .join(''); + value = value.trim().split('^"|"$').join(''); if (!this._isValidAndNotEmpty(key)) { throw new Error(`Label key ${this._ERROR_MESSAGE_INVALID_CHARS}`); } diff --git a/packages/opentelemetry-resources/src/version.ts b/packages/opentelemetry-resources/src/version.ts index fcfa16a915..2a73db3923 100644 --- a/packages/opentelemetry-resources/src/version.ts +++ b/packages/opentelemetry-resources/src/version.ts @@ -1,5 +1,5 @@ -/*! - * Copyright 2019, OpenTelemetry Authors +/* + * Copyright 2020, OpenTelemetry Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/opentelemetry-resources/test/detect-resources.test.ts b/packages/opentelemetry-resources/test/detect-resources.test.ts index 583aa48b3a..4bf5a0d7cc 100644 --- a/packages/opentelemetry-resources/test/detect-resources.test.ts +++ b/packages/opentelemetry-resources/test/detect-resources.test.ts @@ -112,11 +112,9 @@ describe('detectResources', async () => { describe('in AWS environment', () => { it('returns a merged resource', async () => { - const gcpScope = nock(HOST_ADDRESS) - .get(INSTANCE_PATH) - .replyWithError({ - code: 'ENOTFOUND', - }); + const gcpScope = nock(HOST_ADDRESS).get(INSTANCE_PATH).replyWithError({ + code: 'ENOTFOUND', + }); const gcpSecondaryScope = nock(SECONDARY_HOST_ADDRESS) .get(INSTANCE_PATH) .replyWithError({ diff --git a/packages/opentelemetry-resources/test/detectors/AwsEc2Detector.test.ts b/packages/opentelemetry-resources/test/detectors/AwsEc2Detector.test.ts index 93e53296d2..4c04897916 100644 --- a/packages/opentelemetry-resources/test/detectors/AwsEc2Detector.test.ts +++ b/packages/opentelemetry-resources/test/detectors/AwsEc2Detector.test.ts @@ -71,11 +71,9 @@ describe('awsEc2Detector', () => { describe('with failing request', () => { it('should return empty resource', async () => { - const scope = nock(AWS_HOST) - .get(AWS_PATH) - .replyWithError({ - code: 'ENOTFOUND', - }); + const scope = nock(AWS_HOST).get(AWS_PATH).replyWithError({ + code: 'ENOTFOUND', + }); const resource: Resource = await awsEc2Detector.detect(); scope.done(); diff --git a/packages/opentelemetry-resources/test/util/resource-assertions.ts b/packages/opentelemetry-resources/test/util/resource-assertions.ts index db33bd7632..01ae1f17c0 100644 --- a/packages/opentelemetry-resources/test/util/resource-assertions.ts +++ b/packages/opentelemetry-resources/test/util/resource-assertions.ts @@ -265,6 +265,7 @@ const assertHasOneLabel = ( resource: Resource ): void => { const hasOne = Object.values(constants).reduce( + // eslint-disable-next-line no-prototype-builtins (found, key) => found || resource.labels.hasOwnProperty(key), false ); diff --git a/packages/opentelemetry-resources/tslint.json b/packages/opentelemetry-resources/tslint.json deleted file mode 100644 index 69d07efd8b..0000000000 --- a/packages/opentelemetry-resources/tslint.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "rulesDirectory": ["node_modules/tslint-microsoft-contrib"], - "extends": [ - "../../tslint.base.js", - "./node_modules/tslint-consistent-codestyle" - ] -} diff --git a/packages/opentelemetry-shim-opentracing/.eslintignore b/packages/opentelemetry-shim-opentracing/.eslintignore new file mode 100644 index 0000000000..378eac25d3 --- /dev/null +++ b/packages/opentelemetry-shim-opentracing/.eslintignore @@ -0,0 +1 @@ +build diff --git a/packages/opentelemetry-shim-opentracing/.eslintrc.js b/packages/opentelemetry-shim-opentracing/.eslintrc.js new file mode 100644 index 0000000000..f726f3becb --- /dev/null +++ b/packages/opentelemetry-shim-opentracing/.eslintrc.js @@ -0,0 +1,7 @@ +module.exports = { + "env": { + "mocha": true, + "node": true + }, + ...require('../../eslint.config.js') +} diff --git a/packages/opentelemetry-shim-opentracing/package.json b/packages/opentelemetry-shim-opentracing/package.json index 195aba65af..b79e13c382 100644 --- a/packages/opentelemetry-shim-opentracing/package.json +++ b/packages/opentelemetry-shim-opentracing/package.json @@ -10,8 +10,8 @@ "tdd": "npm run test -- --watch-extensions ts --watch", "codecov": "nyc report --reporter=json && codecov -f coverage/*.json -p ../../", "clean": "rimraf build/*", - "lint": "gts check", - "lint:fix": "gts fix", + "lint": "eslint . --ext .ts", + "lint:fix": "eslint . --ext .ts --fix", "precompile": "tsc --version", "version:update": "node ../../scripts/version-update.js", "compile": "npm run version:update && tsc -p .", @@ -26,7 +26,7 @@ "author": "OpenTelemetry Authors", "license": "Apache-2.0", "engines": { - "node": ">=8.0.0" + "node": ">=8.5.0" }, "files": [ "build/src/**/*.js", @@ -43,7 +43,7 @@ "@types/mocha": "^7.0.0", "@types/node": "^12.6.9", "codecov": "^3.6.1", - "gts": "^1.1.0", + "gts": "^2.0.0", "mocha": "^7.1.2", "nyc": "^15.0.0", "rimraf": "^3.0.0", diff --git a/packages/opentelemetry-shim-opentracing/src/shim.ts b/packages/opentelemetry-shim-opentracing/src/shim.ts index ecc4adf995..0fc561bacb 100644 --- a/packages/opentelemetry-shim-opentracing/src/shim.ts +++ b/packages/opentelemetry-shim-opentracing/src/shim.ts @@ -140,9 +140,8 @@ export class TracerShim extends opentracing.Tracer { const opentelemSpanContext: api.SpanContext = (spanContext as SpanContextShim).getSpanContext(); if (!carrier || typeof carrier !== 'object') return; switch (format) { - // tslint:disable-next-line:no-switch-case-fall-through case opentracing.FORMAT_HTTP_HEADERS: - case opentracing.FORMAT_TEXT_MAP: + case opentracing.FORMAT_TEXT_MAP: { api.propagation.inject( carrier, defaultSetter, @@ -152,21 +151,22 @@ export class TracerShim extends opentracing.Tracer { ) ); return; - case opentracing.FORMAT_BINARY: + } + case opentracing.FORMAT_BINARY: { this._logger.warn( 'OpentracingShim.inject() does not support FORMAT_BINARY' ); // @todo: Implement binary format return; + } default: } } _extract(format: string, carrier: unknown): opentracing.SpanContext | null { switch (format) { - // tslint:disable-next-line:no-switch-case-fall-through case opentracing.FORMAT_HTTP_HEADERS: - case opentracing.FORMAT_TEXT_MAP: + case opentracing.FORMAT_TEXT_MAP: { const context = getExtractedSpanContext( api.propagation.extract(carrier) ); @@ -174,12 +174,14 @@ export class TracerShim extends opentracing.Tracer { return null; } return new SpanContextShim(context); - case opentracing.FORMAT_BINARY: + } + case opentracing.FORMAT_BINARY: { // @todo: Implement binary format this._logger.warn( 'OpentracingShim.extract() does not support FORMAT_BINARY' ); return null; + } default: } return null; diff --git a/packages/opentelemetry-shim-opentracing/src/version.ts b/packages/opentelemetry-shim-opentracing/src/version.ts index fcfa16a915..2a73db3923 100644 --- a/packages/opentelemetry-shim-opentracing/src/version.ts +++ b/packages/opentelemetry-shim-opentracing/src/version.ts @@ -1,5 +1,5 @@ -/*! - * Copyright 2019, OpenTelemetry Authors +/* + * Copyright 2020, OpenTelemetry Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/opentelemetry-shim-opentracing/tslint.json b/packages/opentelemetry-shim-opentracing/tslint.json deleted file mode 100644 index 0b1a202be7..0000000000 --- a/packages/opentelemetry-shim-opentracing/tslint.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "rulesDirectory": ["node_modules/tslint-microsoft-contrib"], - "extends": ["../../tslint.base.js", "./node_modules/tslint-consistent-codestyle"] -} diff --git a/packages/opentelemetry-test-utils/.eslintignore b/packages/opentelemetry-test-utils/.eslintignore new file mode 100644 index 0000000000..378eac25d3 --- /dev/null +++ b/packages/opentelemetry-test-utils/.eslintignore @@ -0,0 +1 @@ +build diff --git a/packages/opentelemetry-test-utils/.eslintrc.js b/packages/opentelemetry-test-utils/.eslintrc.js new file mode 100644 index 0000000000..f726f3becb --- /dev/null +++ b/packages/opentelemetry-test-utils/.eslintrc.js @@ -0,0 +1,7 @@ +module.exports = { + "env": { + "mocha": true, + "node": true + }, + ...require('../../eslint.config.js') +} diff --git a/packages/opentelemetry-test-utils/package.json b/packages/opentelemetry-test-utils/package.json index af64ee68bd..ec482f78f1 100644 --- a/packages/opentelemetry-test-utils/package.json +++ b/packages/opentelemetry-test-utils/package.json @@ -5,8 +5,8 @@ "description": "Test utilities.", "main": "build/testUtils.js", "scripts": { - "lint": "gts check", - "lint:fix": "gts fix", + "lint": "eslint . --ext .ts", + "lint:fix": "eslint . --ext .ts --fix", "compile": "tsc -p .", "precompile": "tsc --version", "prepare": "npm run compile" @@ -26,10 +26,8 @@ "@opentelemetry/api": "^0.8.1", "@opentelemetry/core": "^0.8.1", "@opentelemetry/tracing": "^0.8.1", - "gts": "^1.1.2", + "gts": "^2.0.0", "ts-node": "^8.6.2", - "tslint-consistent-codestyle": "^1.16.0", - "tslint-microsoft-contrib": "^6.2.0", "typescript": "3.7.4" } } diff --git a/packages/opentelemetry-test-utils/testUtils.ts b/packages/opentelemetry-test-utils/testUtils.ts index 21478e3f9e..62cf097ffc 100644 --- a/packages/opentelemetry-test-utils/testUtils.ts +++ b/packages/opentelemetry-test-utils/testUtils.ts @@ -15,8 +15,9 @@ */ import * as childProcess from 'child_process'; -import { SpanKind, Attributes, Event, Span, Status } from '@opentelemetry/api'; import * as assert from 'assert'; +/* eslint-disable node/no-unpublished-import */ +import { SpanKind, Attributes, Event, Span, Status } from '@opentelemetry/api'; import { ReadableSpan } from '@opentelemetry/tracing'; import { hrTimeToMilliseconds, diff --git a/packages/opentelemetry-test-utils/tslint.json b/packages/opentelemetry-test-utils/tslint.json deleted file mode 100644 index 0710b135d0..0000000000 --- a/packages/opentelemetry-test-utils/tslint.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "rulesDirectory": ["node_modules/tslint-microsoft-contrib"], - "extends": ["../../tslint.base.js", "./node_modules/tslint-consistent-codestyle"] -} diff --git a/packages/opentelemetry-tracing/.eslintignore b/packages/opentelemetry-tracing/.eslintignore new file mode 100644 index 0000000000..9ef96044fa --- /dev/null +++ b/packages/opentelemetry-tracing/.eslintignore @@ -0,0 +1,2 @@ +build + diff --git a/packages/opentelemetry-tracing/.eslintrc.js b/packages/opentelemetry-tracing/.eslintrc.js new file mode 100644 index 0000000000..9dfe62f9b8 --- /dev/null +++ b/packages/opentelemetry-tracing/.eslintrc.js @@ -0,0 +1,9 @@ +module.exports = { + "env": { + "mocha": true, + "commonjs": true, + "node": true, + "browser": true + }, + ...require('../../eslint.config.js') +} diff --git a/packages/opentelemetry-tracing/package.json b/packages/opentelemetry-tracing/package.json index d58a268b39..b39e2f05b7 100644 --- a/packages/opentelemetry-tracing/package.json +++ b/packages/opentelemetry-tracing/package.json @@ -10,17 +10,19 @@ "types": "build/src/index.d.ts", "repository": "open-telemetry/opentelemetry-js", "scripts": { - "lint": "gts check", - "lint:fix": "gts fix", + "test": "nyc ts-mocha -p tsconfig.json 'test/**/*.test.ts' --exclude 'test/index-webpack.ts'", + "test:browser": "nyc karma start --single-run", + "tdd": "npm run tdd:node", + "tdd:node": "npm run test -- --watch-extensions ts --watch", + "tdd:browser": "karma start", + "lint": "eslint . --ext .ts", + "lint:fix": "eslint . --ext .ts --fix", "clean": "rimraf build/*", "codecov": "nyc report --reporter=json && codecov -f coverage/*.json -p ../../", "precompile": "tsc --version", "version:update": "node ../../scripts/version-update.js", "compile": "npm run version:update && tsc -p .", "prepare": "npm run compile", - "tdd": "npm run test -- --watch-extensions ts --watch", - "test": "nyc ts-mocha -p tsconfig.json 'test/**/*.test.ts' --exclude 'test/index-webpack.ts'", - "test:browser": "nyc karma start --single-run", "watch": "tsc -w" }, "keywords": [ @@ -52,7 +54,7 @@ "@types/sinon": "^7.0.13", "@types/webpack-env": "1.13.9", "codecov": "^3.6.1", - "gts": "^1.1.0", + "gts": "^2.0.0", "istanbul-instrumenter-loader": "^3.0.1", "karma": "^5.0.5", "karma-chrome-launcher": "^3.1.0", @@ -67,8 +69,6 @@ "ts-loader": "^6.0.4", "ts-mocha": "^7.0.0", "ts-node": "^8.6.2", - "tslint-consistent-codestyle": "^1.16.0", - "tslint-microsoft-contrib": "^6.2.0", "typescript": "3.7.2", "webpack": "^4.35.2" }, diff --git a/packages/opentelemetry-tracing/src/version.ts b/packages/opentelemetry-tracing/src/version.ts index fcfa16a915..2a73db3923 100644 --- a/packages/opentelemetry-tracing/src/version.ts +++ b/packages/opentelemetry-tracing/src/version.ts @@ -1,5 +1,5 @@ -/*! - * Copyright 2019, OpenTelemetry Authors +/* + * Copyright 2020, OpenTelemetry Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/opentelemetry-tracing/test/export/ConsoleSpanExporter.test.ts b/packages/opentelemetry-tracing/test/export/ConsoleSpanExporter.test.ts index dde733b5a9..6377874195 100644 --- a/packages/opentelemetry-tracing/test/export/ConsoleSpanExporter.test.ts +++ b/packages/opentelemetry-tracing/test/export/ConsoleSpanExporter.test.ts @@ -58,9 +58,7 @@ describe('ConsoleSpanExporter', () => { const firstEvent = firstSpan.events[0]; const consoleArgs = spyConsole.args[0]; const consoleSpan = consoleArgs[0]; - const keys = Object.keys(consoleSpan) - .sort() - .join(','); + const keys = Object.keys(consoleSpan).sort().join(','); const expectedKeys = [ 'attributes', diff --git a/packages/opentelemetry-tracing/tslint.json b/packages/opentelemetry-tracing/tslint.json deleted file mode 100644 index 0710b135d0..0000000000 --- a/packages/opentelemetry-tracing/tslint.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "rulesDirectory": ["node_modules/tslint-microsoft-contrib"], - "extends": ["../../tslint.base.js", "./node_modules/tslint-consistent-codestyle"] -} diff --git a/packages/opentelemetry-web/.eslintignore b/packages/opentelemetry-web/.eslintignore new file mode 100644 index 0000000000..378eac25d3 --- /dev/null +++ b/packages/opentelemetry-web/.eslintignore @@ -0,0 +1 @@ +build diff --git a/packages/opentelemetry-web/.eslintrc.js b/packages/opentelemetry-web/.eslintrc.js new file mode 100644 index 0000000000..01b8d09740 --- /dev/null +++ b/packages/opentelemetry-web/.eslintrc.js @@ -0,0 +1,9 @@ +module.exports = { + "env": { + "mocha": true, + "commonjs": true, + "browser": true, + "jquery": true + }, + ...require('../../eslint.config.js') +} diff --git a/packages/opentelemetry-web/package.json b/packages/opentelemetry-web/package.json index dabdc09b09..8c9e04f5ea 100644 --- a/packages/opentelemetry-web/package.json +++ b/packages/opentelemetry-web/package.json @@ -6,8 +6,8 @@ "types": "build/src/index.d.ts", "repository": "open-telemetry/opentelemetry-js", "scripts": { - "lint": "gts check", - "lint:fix": "gts fix", + "lint": "eslint . --ext .ts", + "lint:fix": "eslint . --ext .ts --fix", "clean": "rimraf build/*", "codecov:browser": "nyc report --reporter=json && codecov -f coverage/*.json -p ../../", "precompile": "tsc --version", @@ -52,7 +52,7 @@ "@types/webpack-env": "1.13.9", "babel-loader": "^8.0.6", "codecov": "^3.6.1", - "gts": "^1.1.0", + "gts": "^2.0.0", "istanbul-instrumenter-loader": "^3.0.1", "karma": "^5.0.5", "karma-chrome-launcher": "^3.1.0", @@ -68,8 +68,6 @@ "ts-loader": "^6.0.4", "ts-mocha": "^7.0.0", "ts-node": "^8.6.2", - "tslint-consistent-codestyle": "^1.16.0", - "tslint-microsoft-contrib": "^6.2.0", "typescript": "3.7.2", "webpack": "^4.35.2", "webpack-cli": "^3.3.9", diff --git a/packages/opentelemetry-web/src/StackContextManager.ts b/packages/opentelemetry-web/src/StackContextManager.ts index b1ec44b284..e91755fdeb 100644 --- a/packages/opentelemetry-web/src/StackContextManager.ts +++ b/packages/opentelemetry-web/src/StackContextManager.ts @@ -42,7 +42,7 @@ export class StackContextManager implements ContextManager { context = Context.ROOT_CONTEXT ): T { const manager = this; - const contextWrapper = function(this: any, ...args: any[]) { + const contextWrapper = function (this: any, ...args: any[]) { return manager.with(context, () => target.apply(this, args)); }; Object.defineProperty(contextWrapper, 'length', { @@ -113,8 +113,6 @@ export class StackContextManager implements ContextManager { try { return fn(); - } catch (err) { - throw err; } finally { this._currentContext = previousContext; } diff --git a/packages/opentelemetry-web/src/WebTracerProvider.ts b/packages/opentelemetry-web/src/WebTracerProvider.ts index 0dd8c1eb18..41200c455d 100644 --- a/packages/opentelemetry-web/src/WebTracerProvider.ts +++ b/packages/opentelemetry-web/src/WebTracerProvider.ts @@ -51,8 +51,10 @@ export class WebTracerProvider extends BasicTracerProvider { } if ((config as SDKRegistrationConfig).contextManager) { - throw 'contextManager should be defined in register method not in' + - ' constructor'; + throw ( + 'contextManager should be defined in register method not in' + + ' constructor' + ); } if ((config as SDKRegistrationConfig).propagator) { throw 'propagator should be defined in register method not in constructor'; diff --git a/packages/opentelemetry-web/src/version.ts b/packages/opentelemetry-web/src/version.ts index fcfa16a915..2a73db3923 100644 --- a/packages/opentelemetry-web/src/version.ts +++ b/packages/opentelemetry-web/src/version.ts @@ -1,5 +1,5 @@ -/*! - * Copyright 2019, OpenTelemetry Authors +/* + * Copyright 2020, OpenTelemetry Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/packages/opentelemetry-web/test/WebTracerProvider.test.ts b/packages/opentelemetry-web/test/WebTracerProvider.test.ts index 60007a4479..92f40ccdf0 100644 --- a/packages/opentelemetry-web/test/WebTracerProvider.test.ts +++ b/packages/opentelemetry-web/test/WebTracerProvider.test.ts @@ -59,7 +59,6 @@ describe('WebTracerProvider', () => { }); it('should enable all plugins', () => { - let options: WebTracerConfig; const dummyPlugin1 = new DummyPlugin(); const dummyPlugin2 = new DummyPlugin(); const spyEnable1 = sinon.spy(dummyPlugin1, 'enable'); @@ -67,7 +66,7 @@ describe('WebTracerProvider', () => { const plugins = [dummyPlugin1, dummyPlugin2]; - options = { plugins }; + const options = { plugins }; new WebTracerProvider(options); assert.ok(spyEnable1.calledOnce === true); diff --git a/packages/opentelemetry-web/tslint.json b/packages/opentelemetry-web/tslint.json deleted file mode 100644 index 0710b135d0..0000000000 --- a/packages/opentelemetry-web/tslint.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "rulesDirectory": ["node_modules/tslint-microsoft-contrib"], - "extends": ["../../tslint.base.js", "./node_modules/tslint-consistent-codestyle"] -} diff --git a/scripts/version-update.js b/scripts/version-update.js index 0038e06397..720456fdef 100644 --- a/scripts/version-update.js +++ b/scripts/version-update.js @@ -1,5 +1,5 @@ -/*! - * Copyright 2019, OpenTelemetry Authors +/* + * Copyright 2020, OpenTelemetry Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,8 +23,8 @@ const appRoot = process.cwd(); const packageJsonUrl = path.resolve(`${appRoot}/package.json`); const pjson = require(packageJsonUrl); -const content = `/*! - * Copyright 2019, OpenTelemetry Authors +const content = `/* + * Copyright 2020, OpenTelemetry Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/tslint.base.js b/tslint.base.js deleted file mode 100644 index 32bfefc220..0000000000 --- a/tslint.base.js +++ /dev/null @@ -1,62 +0,0 @@ -/* ! - * Copyright 2019, 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. - */ - -// Note the `file-header` TS lint rule implicitly adds comments around this, and -// makes the first comment line begin with /*! -// See: -// https://github.com/palantir/tslint/blob/b2972495e05710fa55600c233bf46a8a5c02e3cd/src/rules/fileHeaderRule.ts#L224 -const fileHeaderTemplate = `Copyright YEAR_PLACEHOLDER, 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 fileHeaderRegexStr = - fileHeaderTemplate - .replace(/[\\\/^$.*+?()[\]{}|]/g, '\\$&') // Escape regex - .replace(/\n/g, '\n \\* ?') // Per line space+asterisk, optional space - .replace('YEAR_PLACEHOLDER', '2\\d{3}'); - -const fileHeaderDefault = - fileHeaderTemplate.replace('YEAR_PLACEHOLDER', new Date().getFullYear()); - -const rules = { - 'file-header': [ - true, - { - 'allow-single-line-comments': false, - 'match': fileHeaderRegexStr, - 'default': fileHeaderDefault, - }, - ], - 'naming-convention': [true, - { 'type': 'property', 'modifiers': 'protected', 'leadingUnderscore': 'require' }, - { 'type': 'member', 'modifiers': 'private', 'leadingUnderscore': 'require' }, - { 'type': 'enumMember', 'format': 'UPPER_CASE' }, - ] -}; - -module.exports = { - rules, -}; From 661b8cf121794c8149a33bd2ee406e7a52e85279 Mon Sep 17 00:00:00 2001 From: legendecas Date: Thu, 21 May 2020 22:15:33 +0800 Subject: [PATCH 26/33] fix: missing `global` in browser environments (#1067) --- packages/opentelemetry-api/package.json | 4 ++++ .../opentelemetry-api/src/api/global-utils.ts | 5 +++-- .../src/platform/browser/globalThis.ts | 19 +++++++++++++++++++ .../src/platform/browser/index.ts | 17 +++++++++++++++++ .../opentelemetry-api/src/platform/index.ts | 17 +++++++++++++++++ .../src/platform/node/globalThis.ts | 19 +++++++++++++++++++ .../src/platform/node/index.ts | 17 +++++++++++++++++ 7 files changed, 96 insertions(+), 2 deletions(-) create mode 100644 packages/opentelemetry-api/src/platform/browser/globalThis.ts create mode 100644 packages/opentelemetry-api/src/platform/browser/index.ts create mode 100644 packages/opentelemetry-api/src/platform/index.ts create mode 100644 packages/opentelemetry-api/src/platform/node/globalThis.ts create mode 100644 packages/opentelemetry-api/src/platform/node/index.ts diff --git a/packages/opentelemetry-api/package.json b/packages/opentelemetry-api/package.json index 40195286d4..859f47501c 100644 --- a/packages/opentelemetry-api/package.json +++ b/packages/opentelemetry-api/package.json @@ -4,6 +4,10 @@ "description": "Public API for OpenTelemetry", "main": "build/src/index.js", "types": "build/src/index.d.ts", + "browser": { + "./src/platform/index.ts": "./src/platform/browser/index.ts", + "./build/src/platform/index.js": "./build/src/platform/browser/index.js" + }, "repository": "open-telemetry/opentelemetry-js", "scripts": { "test": "nyc ts-mocha -p tsconfig.json test/**/*.test.ts", diff --git a/packages/opentelemetry-api/src/api/global-utils.ts b/packages/opentelemetry-api/src/api/global-utils.ts index 3114d1b6d0..00b73f8ce8 100644 --- a/packages/opentelemetry-api/src/api/global-utils.ts +++ b/packages/opentelemetry-api/src/api/global-utils.ts @@ -18,6 +18,7 @@ import { ContextManager } from '@opentelemetry/context-base'; import { HttpTextPropagator } from '../context/propagation/HttpTextPropagator'; import { MeterProvider } from '../metrics/MeterProvider'; import { TracerProvider } from '../trace/tracer_provider'; +import { _globalThis } from '../platform'; export const GLOBAL_CONTEXT_MANAGER_API_KEY = Symbol.for( 'io.opentelemetry.js.api.context' @@ -31,14 +32,14 @@ export const GLOBAL_PROPAGATION_API_KEY = Symbol.for( export const GLOBAL_TRACE_API_KEY = Symbol.for('io.opentelemetry.js.api.trace'); type Get = (version: number) => T; -type MyGlobals = Partial<{ +type OtelGlobal = Partial<{ [GLOBAL_CONTEXT_MANAGER_API_KEY]: Get; [GLOBAL_METRICS_API_KEY]: Get; [GLOBAL_PROPAGATION_API_KEY]: Get; [GLOBAL_TRACE_API_KEY]: Get; }>; -export const _global = global as typeof global & MyGlobals; +export const _global = _globalThis as OtelGlobal; /** * Make a function which accepts a version integer and returns the instance of an API if the version diff --git a/packages/opentelemetry-api/src/platform/browser/globalThis.ts b/packages/opentelemetry-api/src/platform/browser/globalThis.ts new file mode 100644 index 0000000000..df2b5b247f --- /dev/null +++ b/packages/opentelemetry-api/src/platform/browser/globalThis.ts @@ -0,0 +1,19 @@ +/*! + * Copyright 2020, 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. + */ + +/** only globals that common to node and browsers are allowed */ +// eslint-disable-next-line node/no-unsupported-features/es-builtins, no-undef +export const _globalThis = typeof globalThis === 'object' ? globalThis : window; diff --git a/packages/opentelemetry-api/src/platform/browser/index.ts b/packages/opentelemetry-api/src/platform/browser/index.ts new file mode 100644 index 0000000000..c3608dbed7 --- /dev/null +++ b/packages/opentelemetry-api/src/platform/browser/index.ts @@ -0,0 +1,17 @@ +/*! + * Copyright 2020, 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. + */ + +export * from './globalThis'; diff --git a/packages/opentelemetry-api/src/platform/index.ts b/packages/opentelemetry-api/src/platform/index.ts new file mode 100644 index 0000000000..e4361f1724 --- /dev/null +++ b/packages/opentelemetry-api/src/platform/index.ts @@ -0,0 +1,17 @@ +/*! + * Copyright 2020, 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. + */ + +export * from './node'; diff --git a/packages/opentelemetry-api/src/platform/node/globalThis.ts b/packages/opentelemetry-api/src/platform/node/globalThis.ts new file mode 100644 index 0000000000..8e24cf207e --- /dev/null +++ b/packages/opentelemetry-api/src/platform/node/globalThis.ts @@ -0,0 +1,19 @@ +/*! + * Copyright 2020, 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. + */ + +/** only globals that common to node and browsers are allowed */ +// eslint-disable-next-line node/no-unsupported-features/es-builtins +export const _globalThis = typeof globalThis === 'object' ? globalThis : global; diff --git a/packages/opentelemetry-api/src/platform/node/index.ts b/packages/opentelemetry-api/src/platform/node/index.ts new file mode 100644 index 0000000000..c3608dbed7 --- /dev/null +++ b/packages/opentelemetry-api/src/platform/node/index.ts @@ -0,0 +1,17 @@ +/*! + * Copyright 2020, 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. + */ + +export * from './globalThis'; From 2391385d21c7abee66a425535d2b2436eab5be5a Mon Sep 17 00:00:00 2001 From: Mayur Kale Date: Thu, 21 May 2020 09:39:32 -0700 Subject: [PATCH 27/33] chore: remove unused test_utils (#1088) --- .../opentelemetry-test-utils/.eslintignore | 1 - .../opentelemetry-test-utils/.eslintrc.js | 7 - .../opentelemetry-test-utils/package.json | 33 ----- .../opentelemetry-test-utils/testUtils.ts | 123 ------------------ .../opentelemetry-test-utils/tsconfig.json | 10 -- 5 files changed, 174 deletions(-) delete mode 100644 packages/opentelemetry-test-utils/.eslintignore delete mode 100644 packages/opentelemetry-test-utils/.eslintrc.js delete mode 100644 packages/opentelemetry-test-utils/package.json delete mode 100644 packages/opentelemetry-test-utils/testUtils.ts delete mode 100644 packages/opentelemetry-test-utils/tsconfig.json diff --git a/packages/opentelemetry-test-utils/.eslintignore b/packages/opentelemetry-test-utils/.eslintignore deleted file mode 100644 index 378eac25d3..0000000000 --- a/packages/opentelemetry-test-utils/.eslintignore +++ /dev/null @@ -1 +0,0 @@ -build diff --git a/packages/opentelemetry-test-utils/.eslintrc.js b/packages/opentelemetry-test-utils/.eslintrc.js deleted file mode 100644 index f726f3becb..0000000000 --- a/packages/opentelemetry-test-utils/.eslintrc.js +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - "env": { - "mocha": true, - "node": true - }, - ...require('../../eslint.config.js') -} diff --git a/packages/opentelemetry-test-utils/package.json b/packages/opentelemetry-test-utils/package.json deleted file mode 100644 index ec482f78f1..0000000000 --- a/packages/opentelemetry-test-utils/package.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "@opentelemetry/test-utils", - "private": true, - "version": "0.8.1", - "description": "Test utilities.", - "main": "build/testUtils.js", - "scripts": { - "lint": "eslint . --ext .ts", - "lint:fix": "eslint . --ext .ts --fix", - "compile": "tsc -p .", - "precompile": "tsc --version", - "prepare": "npm run compile" - }, - "repository": "open-telemetry/opentelemetry-js", - "keywords": [ - "opentelemetry", - "test-utils" - ], - "author": "OpenTelemetry Authors", - "license": "Apache-2.0", - "bugs": { - "url": "https://github.com/open-telemetry/opentelemetry-js/issues" - }, - "homepage": "https://github.com/open-telemetry/opentelemetry-js#readme", - "devDependencies": { - "@opentelemetry/api": "^0.8.1", - "@opentelemetry/core": "^0.8.1", - "@opentelemetry/tracing": "^0.8.1", - "gts": "^2.0.0", - "ts-node": "^8.6.2", - "typescript": "3.7.4" - } -} diff --git a/packages/opentelemetry-test-utils/testUtils.ts b/packages/opentelemetry-test-utils/testUtils.ts deleted file mode 100644 index 62cf097ffc..0000000000 --- a/packages/opentelemetry-test-utils/testUtils.ts +++ /dev/null @@ -1,123 +0,0 @@ -/*! - * Copyright 2019, 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. - */ - -import * as childProcess from 'child_process'; -import * as assert from 'assert'; -/* eslint-disable node/no-unpublished-import */ -import { SpanKind, Attributes, Event, Span, Status } from '@opentelemetry/api'; -import { ReadableSpan } from '@opentelemetry/tracing'; -import { - hrTimeToMilliseconds, - hrTimeToMicroseconds, -} from '@opentelemetry/core'; - -export function startDocker(db: 'redis' | 'mysql' | 'postgres') { - let dockerRunCmd; - switch (db) { - case 'redis': - dockerRunCmd = `docker run -d -p 63790:6379 --name ot${db} ${db}:alpine`; - break; - - case 'mysql': - dockerRunCmd = `docker run --rm -d -e MYSQL_ROOT_PASSWORD=rootpw -e MYSQL_DATABASE=test_db -e MYSQL_USER=otel -e MYSQL_PASSWORD=secret -p 33306:3306 --name ot${db} circleci/${db}:5.7`; - break; - - case 'postgres': - dockerRunCmd = `docker run -d -p 54320:5432 --name ot${db} ${db}:alpine`; - break; - } - - const tasks = [run(dockerRunCmd)]; - - for (let i = 0; i < tasks.length; i++) { - const task = tasks[i]; - if (task && task.code !== 0) { - console.error('Failed to start container!'); - console.error(task.output); - return false; - } - } - return true; -} - -export function cleanUpDocker(db: 'redis' | 'mysql' | 'postgres') { - run(`docker stop ot${db}`); - run(`docker rm ot${db}`); -} - -function run(cmd: string) { - try { - const proc = childProcess.spawnSync(cmd, { - shell: true, - }); - return { - code: proc.status, - output: proc.output - .map(v => String.fromCharCode.apply(null, v as any)) - .join(''), - }; - } catch (e) { - console.log(e); - return; - } -} - -export const assertSpan = ( - span: ReadableSpan, - kind: SpanKind, - attributes: Attributes, - events: Event[], - status: Status -) => { - assert.strictEqual(span.spanContext.traceId.length, 32); - assert.strictEqual(span.spanContext.spanId.length, 16); - assert.strictEqual(span.kind, kind); - - assert.ok(span.endTime); - assert.strictEqual(span.links.length, 0); - - assert.ok( - hrTimeToMicroseconds(span.startTime) < hrTimeToMicroseconds(span.endTime) - ); - assert.ok(hrTimeToMilliseconds(span.endTime) > 0); - - // attributes - assert.deepStrictEqual(span.attributes, attributes); - - // events - assert.deepStrictEqual(span.events, events); - - assert.strictEqual(span.status.code, status.code); - if (status.message) { - assert.strictEqual(span.status.message, status.message); - } -}; - -// Check if childSpan was propagated from parentSpan -export const assertPropagation = ( - childSpan: ReadableSpan, - parentSpan: Span -) => { - const targetSpanContext = childSpan.spanContext; - const sourceSpanContext = parentSpan.context(); - assert.strictEqual(targetSpanContext.traceId, sourceSpanContext.traceId); - assert.strictEqual(childSpan.parentSpanId, sourceSpanContext.spanId); - assert.strictEqual( - targetSpanContext.traceFlags, - sourceSpanContext.traceFlags - ); - assert.notStrictEqual(targetSpanContext.spanId, sourceSpanContext.spanId); -}; diff --git a/packages/opentelemetry-test-utils/tsconfig.json b/packages/opentelemetry-test-utils/tsconfig.json deleted file mode 100644 index eba808d7cd..0000000000 --- a/packages/opentelemetry-test-utils/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "../tsconfig.base", - "compilerOptions": { - "rootDir": ".", - "outDir": "build" - }, - "include": [ - "*.ts" - ] -} From 7233a03a503bf04cdc577a2d65afd43c15febe3d Mon Sep 17 00:00:00 2001 From: Daniel Dyla Date: Thu, 21 May 2020 15:18:17 -0400 Subject: [PATCH 28/33] chore: 0.8.2 release proposal (#1092) --- CHANGELOG.md | 25 +++++++++++++++++++ examples/basic-tracer-node/package.json | 8 +++--- examples/collector-exporter-node/package.json | 8 +++--- examples/grpc/package.json | 14 +++++------ examples/http/package.json | 14 +++++------ examples/https/package.json | 14 +++++------ examples/metrics/package.json | 6 ++--- examples/opentracing-shim/package.json | 12 ++++----- examples/prometheus/package.json | 6 ++--- examples/tracer-web/package.json | 14 +++++------ .../monitored-example/package.json | 2 +- getting-started/traced-example/package.json | 10 ++++---- getting-started/ts-example/package.json | 16 ++++++------ lerna.json | 2 +- metapackages/plugins-node-core/package.json | 10 ++++---- metapackages/plugins-web-core/package.json | 4 +-- package.json | 2 +- packages/opentelemetry-api/package.json | 4 +-- packages/opentelemetry-api/src/version.ts | 2 +- .../package.json | 4 +-- .../src/version.ts | 2 +- .../opentelemetry-context-base/package.json | 2 +- .../opentelemetry-context-base/src/version.ts | 2 +- .../package.json | 4 +-- .../src/version.ts | 2 +- .../opentelemetry-context-zone/package.json | 4 +-- .../opentelemetry-context-zone/src/version.ts | 2 +- packages/opentelemetry-core/package.json | 6 ++--- packages/opentelemetry-core/src/version.ts | 2 +- .../package.json | 10 ++++---- .../src/version.ts | 2 +- .../package.json | 10 ++++---- .../src/version.ts | 2 +- .../package.json | 8 +++--- .../src/version.ts | 2 +- .../package.json | 10 ++++---- .../src/version.ts | 2 +- packages/opentelemetry-metrics/package.json | 8 +++--- packages/opentelemetry-metrics/src/version.ts | 2 +- packages/opentelemetry-node/package.json | 14 +++++------ packages/opentelemetry-node/src/version.ts | 2 +- .../opentelemetry-plugin-grpc/package.json | 18 ++++++------- .../opentelemetry-plugin-grpc/src/version.ts | 2 +- .../opentelemetry-plugin-http/package.json | 14 +++++------ .../opentelemetry-plugin-http/src/version.ts | 2 +- .../opentelemetry-plugin-https/package.json | 16 ++++++------ .../opentelemetry-plugin-https/src/version.ts | 2 +- .../package.json | 12 ++++----- .../src/version.ts | 2 +- packages/opentelemetry-resources/package.json | 6 ++--- .../opentelemetry-resources/src/version.ts | 2 +- .../package.json | 8 +++--- .../src/version.ts | 2 +- packages/opentelemetry-tracing/package.json | 10 ++++---- packages/opentelemetry-tracing/src/version.ts | 2 +- packages/opentelemetry-web/package.json | 14 +++++------ packages/opentelemetry-web/src/version.ts | 2 +- 57 files changed, 207 insertions(+), 182 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 114437f132..41de6d9ba8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,31 @@ All notable changes to this project will be documented in this file. ## Unreleased +## 0.8.2 + +#### :rocket: (Enhancement) +* `opentelemetry-exporter-collector` + * [#1063](https://github.com/open-telemetry/opentelemetry-js/pull/1063) feat: exporter collector TLS option ([@mzahor](https://github.com/mzahor)) +* `opentelemetry-core` + * [#838](https://github.com/open-telemetry/opentelemetry-js/pull/838) feat: implement W3C Correlation Context propagator ([@rubenvp8510](https://github.com/rubenvp8510)) + +#### :bug: (Bug Fix) +* `opentelemetry-api` + * [#1067](https://github.com/open-telemetry/opentelemetry-js/pull/1067) fix: missing `global` in browser environments ([@legendecas](https://github.com/legendecas)) + +#### :books: (Refine Doc) +* Other + * [#1057](https://github.com/open-telemetry/opentelemetry-js/pull/1057) chore: add examples README.md ([@mayurkale22](https://github.com/mayurkale22)) +* `opentelemetry-core` + * [#1080](https://github.com/open-telemetry/opentelemetry-js/pull/1080) docs: document CorrelationContext propagator under Built-in Implement… ([@rubenvp8510](https://github.com/rubenvp8510)) + +#### Committers: 5 +- Marian Zagoruiko ([@mzahor](https://github.com/mzahor)) +- Mayur Kale ([@mayurkale22](https://github.com/mayurkale22)) +- Olivier Albertini ([@OlivierAlbertini](https://github.com/OlivierAlbertini)) +- Ruben Vargas Palma ([@rubenvp8510](https://github.com/rubenvp8510)) +- legendecas ([@legendecas](https://github.com/legendecas)) + ## 0.8.1 #### :rocket: (Enhancement) diff --git a/examples/basic-tracer-node/package.json b/examples/basic-tracer-node/package.json index 41a48b0358..614c5cec9c 100644 --- a/examples/basic-tracer-node/package.json +++ b/examples/basic-tracer-node/package.json @@ -1,7 +1,7 @@ { "name": "example-basic-tracer-node", "private": true, - "version": "0.8.1", + "version": "0.8.2", "description": "Example of using @opentelemetry/tracing in Node.js", "main": "index.js", "scripts": { @@ -24,9 +24,9 @@ "url": "https://github.com/open-telemetry/opentelemetry-js/issues" }, "dependencies": { - "@opentelemetry/api": "^0.8.1", - "@opentelemetry/exporter-jaeger": "^0.8.1", - "@opentelemetry/tracing": "^0.8.1" + "@opentelemetry/api": "^0.8.2", + "@opentelemetry/exporter-jaeger": "^0.8.2", + "@opentelemetry/tracing": "^0.8.2" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js#readme" } diff --git a/examples/collector-exporter-node/package.json b/examples/collector-exporter-node/package.json index 59e5051f05..34dc191acb 100644 --- a/examples/collector-exporter-node/package.json +++ b/examples/collector-exporter-node/package.json @@ -1,7 +1,7 @@ { "name": "example-collector-exporter-node", "private": true, - "version": "0.8.1", + "version": "0.8.2", "description": "Example of using @opentelemetry/collector-exporter in Node.js", "main": "index.js", "scripts": { @@ -26,9 +26,9 @@ "url": "https://github.com/open-telemetry/opentelemetry-js/issues" }, "dependencies": { - "@opentelemetry/api": "^0.8.1", - "@opentelemetry/exporter-collector": "^0.8.1", - "@opentelemetry/tracing": "^0.8.1" + "@opentelemetry/api": "^0.8.2", + "@opentelemetry/exporter-collector": "^0.8.2", + "@opentelemetry/tracing": "^0.8.2" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js#readme" } diff --git a/examples/grpc/package.json b/examples/grpc/package.json index e7cf1559ca..a2018dc018 100644 --- a/examples/grpc/package.json +++ b/examples/grpc/package.json @@ -1,7 +1,7 @@ { "name": "grpc-example", "private": true, - "version": "0.8.1", + "version": "0.8.2", "description": "Example of gRPC integration with OpenTelemetry", "main": "index.js", "scripts": { @@ -28,12 +28,12 @@ "url": "https://github.com/open-telemetry/opentelemetry-js/issues" }, "dependencies": { - "@opentelemetry/api": "^0.8.1", - "@opentelemetry/exporter-jaeger": "^0.8.1", - "@opentelemetry/exporter-zipkin": "^0.8.1", - "@opentelemetry/node": "^0.8.1", - "@opentelemetry/plugin-grpc": "^0.8.1", - "@opentelemetry/tracing": "^0.8.1", + "@opentelemetry/api": "^0.8.2", + "@opentelemetry/exporter-jaeger": "^0.8.2", + "@opentelemetry/exporter-zipkin": "^0.8.2", + "@opentelemetry/node": "^0.8.2", + "@opentelemetry/plugin-grpc": "^0.8.2", + "@opentelemetry/tracing": "^0.8.2", "google-protobuf": "^3.9.2", "grpc": "^1.23.3", "node-pre-gyp": "0.12.0" diff --git a/examples/http/package.json b/examples/http/package.json index 899b991476..883e79cfea 100644 --- a/examples/http/package.json +++ b/examples/http/package.json @@ -1,7 +1,7 @@ { "name": "http-example", "private": true, - "version": "0.8.1", + "version": "0.8.2", "description": "Example of HTTP integration with OpenTelemetry", "main": "index.js", "scripts": { @@ -28,12 +28,12 @@ "url": "https://github.com/open-telemetry/opentelemetry-js/issues" }, "dependencies": { - "@opentelemetry/api": "^0.8.1", - "@opentelemetry/exporter-jaeger": "^0.8.1", - "@opentelemetry/exporter-zipkin": "^0.8.1", - "@opentelemetry/node": "^0.8.1", - "@opentelemetry/plugin-http": "^0.8.1", - "@opentelemetry/tracing": "^0.8.1" + "@opentelemetry/api": "^0.8.2", + "@opentelemetry/exporter-jaeger": "^0.8.2", + "@opentelemetry/exporter-zipkin": "^0.8.2", + "@opentelemetry/node": "^0.8.2", + "@opentelemetry/plugin-http": "^0.8.2", + "@opentelemetry/tracing": "^0.8.2" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js#readme", "devDependencies": { diff --git a/examples/https/package.json b/examples/https/package.json index 33f0189ad6..f65360d862 100644 --- a/examples/https/package.json +++ b/examples/https/package.json @@ -1,7 +1,7 @@ { "name": "https-example", "private": true, - "version": "0.8.1", + "version": "0.8.2", "description": "Example of HTTPs integration with OpenTelemetry", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -29,12 +29,12 @@ "url": "https://github.com/open-telemetry/opentelemetry-js/issues" }, "dependencies": { - "@opentelemetry/api": "^0.8.1", - "@opentelemetry/exporter-jaeger": "^0.8.1", - "@opentelemetry/exporter-zipkin": "^0.8.1", - "@opentelemetry/node": "^0.8.1", - "@opentelemetry/plugin-https": "^0.8.1", - "@opentelemetry/tracing": "^0.8.1" + "@opentelemetry/api": "^0.8.2", + "@opentelemetry/exporter-jaeger": "^0.8.2", + "@opentelemetry/exporter-zipkin": "^0.8.2", + "@opentelemetry/node": "^0.8.2", + "@opentelemetry/plugin-https": "^0.8.2", + "@opentelemetry/tracing": "^0.8.2" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js#readme", "devDependencies": { diff --git a/examples/metrics/package.json b/examples/metrics/package.json index 322e50e7ac..75c71a498c 100644 --- a/examples/metrics/package.json +++ b/examples/metrics/package.json @@ -1,7 +1,7 @@ { "name": "example-metrics", "private": true, - "version": "0.8.1", + "version": "0.8.2", "description": "Example of using @opentelemetry/metrics", "main": "index.js", "scripts": { @@ -26,8 +26,8 @@ "url": "https://github.com/open-telemetry/opentelemetry-js/issues" }, "dependencies": { - "@opentelemetry/exporter-prometheus": "^0.8.1", - "@opentelemetry/metrics": "^0.8.1" + "@opentelemetry/exporter-prometheus": "^0.8.2", + "@opentelemetry/metrics": "^0.8.2" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js#readme" } diff --git a/examples/opentracing-shim/package.json b/examples/opentracing-shim/package.json index ff53c63ac5..8df9a822cd 100644 --- a/examples/opentracing-shim/package.json +++ b/examples/opentracing-shim/package.json @@ -1,7 +1,7 @@ { "name": "opentracing-shim", "private": true, - "version": "0.8.1", + "version": "0.8.2", "description": "Example of using @opentelemetry/shim-opentracing in Node.js", "main": "index.js", "scripts": { @@ -29,11 +29,11 @@ "url": "https://github.com/open-telemetry/opentelemetry-js/issues" }, "dependencies": { - "@opentelemetry/exporter-jaeger": "^0.8.1", - "@opentelemetry/exporter-zipkin": "^0.8.1", - "@opentelemetry/node": "^0.8.1", - "@opentelemetry/shim-opentracing": "^0.8.1", - "@opentelemetry/tracing": "^0.8.1", + "@opentelemetry/exporter-jaeger": "^0.8.2", + "@opentelemetry/exporter-zipkin": "^0.8.2", + "@opentelemetry/node": "^0.8.2", + "@opentelemetry/shim-opentracing": "^0.8.2", + "@opentelemetry/tracing": "^0.8.2", "opentracing": "^0.14.4" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js#readme", diff --git a/examples/prometheus/package.json b/examples/prometheus/package.json index 5b25e85915..62b1b260d9 100644 --- a/examples/prometheus/package.json +++ b/examples/prometheus/package.json @@ -1,6 +1,6 @@ { "name": "prometheus-example", - "version": "0.8.1", + "version": "0.8.2", "description": "Example of using @opentelemetry/metrics and @opentelemetry/exporter-prometheus", "main": "index.js", "scripts": { @@ -9,7 +9,7 @@ "author": "OpenTelemetry Authors", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/exporter-prometheus": "^0.8.1", - "@opentelemetry/metrics": "^0.8.1" + "@opentelemetry/exporter-prometheus": "^0.8.2", + "@opentelemetry/metrics": "^0.8.2" } } diff --git a/examples/tracer-web/package.json b/examples/tracer-web/package.json index 198f4d953a..2f1e601e14 100644 --- a/examples/tracer-web/package.json +++ b/examples/tracer-web/package.json @@ -1,7 +1,7 @@ { "name": "web-tracer-example", "private": true, - "version": "0.8.1", + "version": "0.8.2", "description": "Example of using @opentelemetry/web in browser", "main": "index.js", "scripts": { @@ -34,14 +34,14 @@ "webpack-merge": "^4.2.2" }, "dependencies": { - "@opentelemetry/context-zone": "^0.8.1", - "@opentelemetry/core": "^0.8.1", - "@opentelemetry/exporter-collector": "^0.8.1", + "@opentelemetry/context-zone": "^0.8.2", + "@opentelemetry/core": "^0.8.2", + "@opentelemetry/exporter-collector": "^0.8.2", "@opentelemetry/plugin-document-load": "^0.6.1", "@opentelemetry/plugin-user-interaction": "^0.6.1", - "@opentelemetry/plugin-xml-http-request": "^0.8.1", - "@opentelemetry/tracing": "^0.8.1", - "@opentelemetry/web": "^0.8.1" + "@opentelemetry/plugin-xml-http-request": "^0.8.2", + "@opentelemetry/tracing": "^0.8.2", + "@opentelemetry/web": "^0.8.2" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js#readme" } diff --git a/getting-started/monitored-example/package.json b/getting-started/monitored-example/package.json index 36b33e49f5..daec19d5a9 100644 --- a/getting-started/monitored-example/package.json +++ b/getting-started/monitored-example/package.json @@ -9,7 +9,7 @@ "author": "OpenTelemetry Authors", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/metrics": "^0.8.1", + "@opentelemetry/metrics": "^0.8.2", "axios": "^0.19.0", "express": "^4.17.1" } diff --git a/getting-started/traced-example/package.json b/getting-started/traced-example/package.json index cb57d34ee0..53c0fae327 100644 --- a/getting-started/traced-example/package.json +++ b/getting-started/traced-example/package.json @@ -9,11 +9,11 @@ "author": "OpenTelemetry Authors", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "^0.8.1", - "@opentelemetry/exporter-zipkin": "^0.8.1", - "@opentelemetry/node": "^0.8.1", - "@opentelemetry/plugin-http": "^0.8.1", - "@opentelemetry/tracing": "^0.8.1", + "@opentelemetry/core": "^0.8.2", + "@opentelemetry/exporter-zipkin": "^0.8.2", + "@opentelemetry/node": "^0.8.2", + "@opentelemetry/plugin-http": "^0.8.2", + "@opentelemetry/tracing": "^0.8.2", "axios": "^0.19.0", "express": "^4.17.1" } diff --git a/getting-started/ts-example/package.json b/getting-started/ts-example/package.json index fe8a24746a..a41e904abf 100644 --- a/getting-started/ts-example/package.json +++ b/getting-started/ts-example/package.json @@ -13,14 +13,14 @@ "ts-node": "^8.6.2" }, "dependencies": { - "@opentelemetry/api": "^0.8.1", - "@opentelemetry/core": "^0.8.1", - "@opentelemetry/exporter-prometheus": "^0.8.1", - "@opentelemetry/exporter-zipkin": "^0.8.1", - "@opentelemetry/metrics": "^0.8.1", - "@opentelemetry/node": "^0.8.1", - "@opentelemetry/plugin-http": "^0.8.1", - "@opentelemetry/tracing": "^0.8.1", + "@opentelemetry/api": "^0.8.2", + "@opentelemetry/core": "^0.8.2", + "@opentelemetry/exporter-prometheus": "^0.8.2", + "@opentelemetry/exporter-zipkin": "^0.8.2", + "@opentelemetry/metrics": "^0.8.2", + "@opentelemetry/node": "^0.8.2", + "@opentelemetry/plugin-http": "^0.8.2", + "@opentelemetry/tracing": "^0.8.2", "axios": "^0.19.1", "express": "^4.17.1" } diff --git a/lerna.json b/lerna.json index dc5cc82334..b903831656 100644 --- a/lerna.json +++ b/lerna.json @@ -6,7 +6,7 @@ "metapackages/*", "packages/*" ], - "version": "0.8.1", + "version": "0.8.2", "changelog": { "repo": "open-telemetry/opentelemetry-js", "labels": { diff --git a/metapackages/plugins-node-core/package.json b/metapackages/plugins-node-core/package.json index 05a7b3249d..9175c87567 100644 --- a/metapackages/plugins-node-core/package.json +++ b/metapackages/plugins-node-core/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/plugins-node-core", - "version": "0.8.1", + "version": "0.8.2", "description": "Metapackage which bundles all opentelemetry node core plugins", "author": "OpenTelemetry Authors", "homepage": "https://github.com/open-telemetry/opentelemetry-js#readme", @@ -16,8 +16,8 @@ "url": "https://github.com/open-telemetry/opentelemetry-js/issues" }, "dependencies": { - "@opentelemetry/plugin-grpc": "^0.8.1", - "@opentelemetry/plugin-http": "^0.8.1", - "@opentelemetry/plugin-https": "^0.8.1" + "@opentelemetry/plugin-grpc": "^0.8.2", + "@opentelemetry/plugin-http": "^0.8.2", + "@opentelemetry/plugin-https": "^0.8.2" } -} \ No newline at end of file +} diff --git a/metapackages/plugins-web-core/package.json b/metapackages/plugins-web-core/package.json index df0f875ac5..9476ea3531 100644 --- a/metapackages/plugins-web-core/package.json +++ b/metapackages/plugins-web-core/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/plugins-web-core", - "version": "0.8.1", + "version": "0.8.2", "description": "Metapackage which bundles all opentelemetry web core plugins", "author": "OpenTelemetry Authors", "homepage": "https://github.com/open-telemetry/opentelemetry-js#readme", @@ -16,6 +16,6 @@ "url": "https://github.com/open-telemetry/opentelemetry-js/issues" }, "dependencies": { - "@opentelemetry/plugin-xml-http-request": "^0.8.1" + "@opentelemetry/plugin-xml-http-request": "^0.8.2" } } diff --git a/package.json b/package.json index f96d35db80..273db8acf3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "opentelemetry-base", - "version": "0.8.1", + "version": "0.8.2", "description": "OpenTelemetry is a distributed tracing and stats collection framework.", "main": "build/src/index.js", "types": "build/src/index.d.ts", diff --git a/packages/opentelemetry-api/package.json b/packages/opentelemetry-api/package.json index 859f47501c..107db98f92 100644 --- a/packages/opentelemetry-api/package.json +++ b/packages/opentelemetry-api/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/api", - "version": "0.8.1", + "version": "0.8.2", "description": "Public API for OpenTelemetry", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -51,7 +51,7 @@ "access": "public" }, "dependencies": { - "@opentelemetry/context-base": "^0.8.1" + "@opentelemetry/context-base": "^0.8.2" }, "devDependencies": { "@types/mocha": "^7.0.0", diff --git a/packages/opentelemetry-api/src/version.ts b/packages/opentelemetry-api/src/version.ts index 2a73db3923..d34e2cff6d 100644 --- a/packages/opentelemetry-api/src/version.ts +++ b/packages/opentelemetry-api/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.8.1'; +export const VERSION = '0.8.2'; diff --git a/packages/opentelemetry-context-async-hooks/package.json b/packages/opentelemetry-context-async-hooks/package.json index 4db7392621..0dcebf44e1 100644 --- a/packages/opentelemetry-context-async-hooks/package.json +++ b/packages/opentelemetry-context-async-hooks/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/context-async-hooks", - "version": "0.8.1", + "version": "0.8.2", "description": "OpenTelemetry AsyncHooks-based Context Manager", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -54,6 +54,6 @@ "typescript": "3.7.2" }, "dependencies": { - "@opentelemetry/context-base": "^0.8.1" + "@opentelemetry/context-base": "^0.8.2" } } diff --git a/packages/opentelemetry-context-async-hooks/src/version.ts b/packages/opentelemetry-context-async-hooks/src/version.ts index 2a73db3923..d34e2cff6d 100644 --- a/packages/opentelemetry-context-async-hooks/src/version.ts +++ b/packages/opentelemetry-context-async-hooks/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.8.1'; +export const VERSION = '0.8.2'; diff --git a/packages/opentelemetry-context-base/package.json b/packages/opentelemetry-context-base/package.json index d17375780b..66b5776da3 100644 --- a/packages/opentelemetry-context-base/package.json +++ b/packages/opentelemetry-context-base/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/context-base", - "version": "0.8.1", + "version": "0.8.2", "description": "OpenTelemetry Base Context Manager", "main": "build/src/index.js", "types": "build/src/index.d.ts", diff --git a/packages/opentelemetry-context-base/src/version.ts b/packages/opentelemetry-context-base/src/version.ts index 2a73db3923..d34e2cff6d 100644 --- a/packages/opentelemetry-context-base/src/version.ts +++ b/packages/opentelemetry-context-base/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.8.1'; +export const VERSION = '0.8.2'; diff --git a/packages/opentelemetry-context-zone-peer-dep/package.json b/packages/opentelemetry-context-zone-peer-dep/package.json index 6fd95f8022..902ba19bd3 100644 --- a/packages/opentelemetry-context-zone-peer-dep/package.json +++ b/packages/opentelemetry-context-zone-peer-dep/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/context-zone-peer-dep", - "version": "0.8.1", + "version": "0.8.2", "description": "OpenTelemetry Context Zone with peer dependency for zone.js", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -70,7 +70,7 @@ "zone.js": "^0.10.2" }, "dependencies": { - "@opentelemetry/context-base": "^0.8.1" + "@opentelemetry/context-base": "^0.8.2" }, "peerDependencies": { "zone.js": "^0.10.2" diff --git a/packages/opentelemetry-context-zone-peer-dep/src/version.ts b/packages/opentelemetry-context-zone-peer-dep/src/version.ts index 2a73db3923..d34e2cff6d 100644 --- a/packages/opentelemetry-context-zone-peer-dep/src/version.ts +++ b/packages/opentelemetry-context-zone-peer-dep/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.8.1'; +export const VERSION = '0.8.2'; diff --git a/packages/opentelemetry-context-zone/package.json b/packages/opentelemetry-context-zone/package.json index d69938af82..b6071e9b04 100644 --- a/packages/opentelemetry-context-zone/package.json +++ b/packages/opentelemetry-context-zone/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/context-zone", - "version": "0.8.1", + "version": "0.8.2", "description": "OpenTelemetry Context Zone", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -64,7 +64,7 @@ "webpack-merge": "^4.2.2" }, "dependencies": { - "@opentelemetry/context-zone-peer-dep": "^0.8.1", + "@opentelemetry/context-zone-peer-dep": "^0.8.2", "zone.js": "^0.10.2" }, "sideEffects": true diff --git a/packages/opentelemetry-context-zone/src/version.ts b/packages/opentelemetry-context-zone/src/version.ts index 2a73db3923..d34e2cff6d 100644 --- a/packages/opentelemetry-context-zone/src/version.ts +++ b/packages/opentelemetry-context-zone/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.8.1'; +export const VERSION = '0.8.2'; diff --git a/packages/opentelemetry-core/package.json b/packages/opentelemetry-core/package.json index f00a765f3a..c043c157bc 100644 --- a/packages/opentelemetry-core/package.json +++ b/packages/opentelemetry-core/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/core", - "version": "0.8.1", + "version": "0.8.2", "description": "OpenTelemetry Core provides default and no-op implementations of the OpenTelemetry types for trace and metrics", "main": "build/src/index.js", "browser": { @@ -76,8 +76,8 @@ "webpack": "^4.35.2" }, "dependencies": { - "@opentelemetry/api": "^0.8.1", - "@opentelemetry/context-base": "^0.8.1", + "@opentelemetry/api": "^0.8.2", + "@opentelemetry/context-base": "^0.8.2", "semver": "^7.1.3" } } diff --git a/packages/opentelemetry-core/src/version.ts b/packages/opentelemetry-core/src/version.ts index 2a73db3923..d34e2cff6d 100644 --- a/packages/opentelemetry-core/src/version.ts +++ b/packages/opentelemetry-core/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.8.1'; +export const VERSION = '0.8.2'; diff --git a/packages/opentelemetry-exporter-collector/package.json b/packages/opentelemetry-exporter-collector/package.json index d929452771..555117f6b5 100644 --- a/packages/opentelemetry-exporter-collector/package.json +++ b/packages/opentelemetry-exporter-collector/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/exporter-collector", - "version": "0.8.1", + "version": "0.8.2", "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", @@ -83,10 +83,10 @@ }, "dependencies": { "@grpc/proto-loader": "^0.5.3", - "@opentelemetry/api": "^0.8.1", - "@opentelemetry/core": "^0.8.1", - "@opentelemetry/resources": "^0.8.1", - "@opentelemetry/tracing": "^0.8.1", + "@opentelemetry/api": "^0.8.2", + "@opentelemetry/core": "^0.8.2", + "@opentelemetry/resources": "^0.8.2", + "@opentelemetry/tracing": "^0.8.2", "google-protobuf": "^3.11.4", "grpc": "^1.24.2" } diff --git a/packages/opentelemetry-exporter-collector/src/version.ts b/packages/opentelemetry-exporter-collector/src/version.ts index 2a73db3923..d34e2cff6d 100644 --- a/packages/opentelemetry-exporter-collector/src/version.ts +++ b/packages/opentelemetry-exporter-collector/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.8.1'; +export const VERSION = '0.8.2'; diff --git a/packages/opentelemetry-exporter-jaeger/package.json b/packages/opentelemetry-exporter-jaeger/package.json index a838760bfb..53877f31ba 100644 --- a/packages/opentelemetry-exporter-jaeger/package.json +++ b/packages/opentelemetry-exporter-jaeger/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/exporter-jaeger", - "version": "0.8.1", + "version": "0.8.2", "description": "OpenTelemetry Exporter Jaeger allows user to send collected traces to Jaeger", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -41,7 +41,7 @@ "access": "public" }, "devDependencies": { - "@opentelemetry/resources": "^0.8.1", + "@opentelemetry/resources": "^0.8.2", "@types/mocha": "^7.0.0", "@types/node": "^12.6.9", "codecov": "^3.6.1", @@ -54,9 +54,9 @@ "typescript": "3.7.2" }, "dependencies": { - "@opentelemetry/api": "^0.8.1", - "@opentelemetry/core": "^0.8.1", - "@opentelemetry/tracing": "^0.8.1", + "@opentelemetry/api": "^0.8.2", + "@opentelemetry/core": "^0.8.2", + "@opentelemetry/tracing": "^0.8.2", "jaeger-client": "^3.15.0" } } diff --git a/packages/opentelemetry-exporter-jaeger/src/version.ts b/packages/opentelemetry-exporter-jaeger/src/version.ts index 2a73db3923..d34e2cff6d 100644 --- a/packages/opentelemetry-exporter-jaeger/src/version.ts +++ b/packages/opentelemetry-exporter-jaeger/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.8.1'; +export const VERSION = '0.8.2'; diff --git a/packages/opentelemetry-exporter-prometheus/package.json b/packages/opentelemetry-exporter-prometheus/package.json index 0a43786d71..439247818b 100644 --- a/packages/opentelemetry-exporter-prometheus/package.json +++ b/packages/opentelemetry-exporter-prometheus/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/exporter-prometheus", - "version": "0.8.1", + "version": "0.8.2", "description": "OpenTelemetry Exporter Prometheus provides a metrics endpoint for Prometheus", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -52,9 +52,9 @@ "typescript": "3.7.2" }, "dependencies": { - "@opentelemetry/api": "^0.8.1", - "@opentelemetry/core": "^0.8.1", - "@opentelemetry/metrics": "^0.8.1", + "@opentelemetry/api": "^0.8.2", + "@opentelemetry/core": "^0.8.2", + "@opentelemetry/metrics": "^0.8.2", "prom-client": "^11.5.3" } } diff --git a/packages/opentelemetry-exporter-prometheus/src/version.ts b/packages/opentelemetry-exporter-prometheus/src/version.ts index 2a73db3923..d34e2cff6d 100644 --- a/packages/opentelemetry-exporter-prometheus/src/version.ts +++ b/packages/opentelemetry-exporter-prometheus/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.8.1'; +export const VERSION = '0.8.2'; diff --git a/packages/opentelemetry-exporter-zipkin/package.json b/packages/opentelemetry-exporter-zipkin/package.json index 5dff195285..5cf52e1825 100644 --- a/packages/opentelemetry-exporter-zipkin/package.json +++ b/packages/opentelemetry-exporter-zipkin/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/exporter-zipkin", - "version": "0.8.1", + "version": "0.8.2", "description": "OpenTelemetry Zipkin Exporter allows the user to send collected traces to Zipkin.", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -52,9 +52,9 @@ "typescript": "3.7.2" }, "dependencies": { - "@opentelemetry/api": "^0.8.1", - "@opentelemetry/core": "^0.8.1", - "@opentelemetry/resources": "^0.8.1", - "@opentelemetry/tracing": "^0.8.1" + "@opentelemetry/api": "^0.8.2", + "@opentelemetry/core": "^0.8.2", + "@opentelemetry/resources": "^0.8.2", + "@opentelemetry/tracing": "^0.8.2" } } diff --git a/packages/opentelemetry-exporter-zipkin/src/version.ts b/packages/opentelemetry-exporter-zipkin/src/version.ts index 2a73db3923..d34e2cff6d 100644 --- a/packages/opentelemetry-exporter-zipkin/src/version.ts +++ b/packages/opentelemetry-exporter-zipkin/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.8.1'; +export const VERSION = '0.8.2'; diff --git a/packages/opentelemetry-metrics/package.json b/packages/opentelemetry-metrics/package.json index c27e928e26..e011260a71 100644 --- a/packages/opentelemetry-metrics/package.json +++ b/packages/opentelemetry-metrics/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/metrics", - "version": "0.8.1", + "version": "0.8.2", "description": "OpenTelemetry metrics SDK", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -55,8 +55,8 @@ "typescript": "3.7.2" }, "dependencies": { - "@opentelemetry/api": "^0.8.1", - "@opentelemetry/core": "^0.8.1", - "@opentelemetry/resources": "^0.8.1" + "@opentelemetry/api": "^0.8.2", + "@opentelemetry/core": "^0.8.2", + "@opentelemetry/resources": "^0.8.2" } } diff --git a/packages/opentelemetry-metrics/src/version.ts b/packages/opentelemetry-metrics/src/version.ts index 2a73db3923..d34e2cff6d 100644 --- a/packages/opentelemetry-metrics/src/version.ts +++ b/packages/opentelemetry-metrics/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.8.1'; +export const VERSION = '0.8.2'; diff --git a/packages/opentelemetry-node/package.json b/packages/opentelemetry-node/package.json index d08039f21f..4252e2165e 100644 --- a/packages/opentelemetry-node/package.json +++ b/packages/opentelemetry-node/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/node", - "version": "0.8.1", + "version": "0.8.2", "description": "OpenTelemetry Node SDK provides automatic telemetry (tracing, metrics, etc) for Node.js applications", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -41,8 +41,8 @@ "access": "public" }, "devDependencies": { - "@opentelemetry/context-base": "^0.8.1", - "@opentelemetry/resources": "^0.8.1", + "@opentelemetry/context-base": "^0.8.2", + "@opentelemetry/resources": "^0.8.2", "@types/mocha": "^7.0.0", "@types/node": "^12.6.8", "@types/semver": "^6.0.1", @@ -58,10 +58,10 @@ "typescript": "3.7.2" }, "dependencies": { - "@opentelemetry/api": "^0.8.1", - "@opentelemetry/context-async-hooks": "^0.8.1", - "@opentelemetry/core": "^0.8.1", - "@opentelemetry/tracing": "^0.8.1", + "@opentelemetry/api": "^0.8.2", + "@opentelemetry/context-async-hooks": "^0.8.2", + "@opentelemetry/core": "^0.8.2", + "@opentelemetry/tracing": "^0.8.2", "require-in-the-middle": "^5.0.0", "semver": "^7.1.3" } diff --git a/packages/opentelemetry-node/src/version.ts b/packages/opentelemetry-node/src/version.ts index 2a73db3923..d34e2cff6d 100644 --- a/packages/opentelemetry-node/src/version.ts +++ b/packages/opentelemetry-node/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.8.1'; +export const VERSION = '0.8.2'; diff --git a/packages/opentelemetry-plugin-grpc/package.json b/packages/opentelemetry-plugin-grpc/package.json index 501f2aacfb..ed3857b9aa 100644 --- a/packages/opentelemetry-plugin-grpc/package.json +++ b/packages/opentelemetry-plugin-grpc/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/plugin-grpc", - "version": "0.8.1", + "version": "0.8.2", "description": "OpenTelemetry grpc automatic instrumentation package.", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -41,10 +41,10 @@ "access": "public" }, "devDependencies": { - "@opentelemetry/context-async-hooks": "^0.8.1", - "@opentelemetry/context-base": "^0.8.1", - "@opentelemetry/node": "^0.8.1", - "@opentelemetry/tracing": "^0.8.1", + "@opentelemetry/context-async-hooks": "^0.8.2", + "@opentelemetry/context-base": "^0.8.2", + "@opentelemetry/node": "^0.8.2", + "@opentelemetry/tracing": "^0.8.2", "@types/mocha": "^7.0.0", "@types/node": "^12.6.9", "@types/semver": "^7.1.0", @@ -52,20 +52,20 @@ "@types/sinon": "^7.0.13", "codecov": "^3.6.1", "grpc": "^1.23.3", - "mocha": "^7.1.2", "gts": "^2.0.0", - "semver": "7.3.2", + "mocha": "^7.1.2", "node-pre-gyp": "^0.12.0", "nyc": "^15.0.0", "rimraf": "^3.0.0", + "semver": "7.3.2", "sinon": "^7.5.0", "ts-mocha": "^7.0.0", "ts-node": "^8.6.2", "typescript": "3.7.2" }, "dependencies": { - "@opentelemetry/api": "^0.8.1", - "@opentelemetry/core": "^0.8.1", + "@opentelemetry/api": "^0.8.2", + "@opentelemetry/core": "^0.8.2", "shimmer": "^1.2.1" } } diff --git a/packages/opentelemetry-plugin-grpc/src/version.ts b/packages/opentelemetry-plugin-grpc/src/version.ts index 2a73db3923..d34e2cff6d 100644 --- a/packages/opentelemetry-plugin-grpc/src/version.ts +++ b/packages/opentelemetry-plugin-grpc/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.8.1'; +export const VERSION = '0.8.2'; diff --git a/packages/opentelemetry-plugin-http/package.json b/packages/opentelemetry-plugin-http/package.json index 91c648fd89..e59a6f3afe 100644 --- a/packages/opentelemetry-plugin-http/package.json +++ b/packages/opentelemetry-plugin-http/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/plugin-http", - "version": "0.8.1", + "version": "0.8.2", "description": "OpenTelemetry http automatic instrumentation package.", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -41,10 +41,10 @@ "access": "public" }, "devDependencies": { - "@opentelemetry/context-async-hooks": "^0.8.1", - "@opentelemetry/context-base": "^0.8.1", - "@opentelemetry/node": "^0.8.1", - "@opentelemetry/tracing": "^0.8.1", + "@opentelemetry/context-async-hooks": "^0.8.2", + "@opentelemetry/context-base": "^0.8.2", + "@opentelemetry/node": "^0.8.2", + "@opentelemetry/tracing": "^0.8.2", "@types/got": "^9.6.7", "@types/mocha": "^7.0.0", "@types/node": "^12.12.9", @@ -71,8 +71,8 @@ "typescript": "3.7.2" }, "dependencies": { - "@opentelemetry/api": "^0.8.1", - "@opentelemetry/core": "^0.8.1", + "@opentelemetry/api": "^0.8.2", + "@opentelemetry/core": "^0.8.2", "semver": "^7.1.3", "shimmer": "^1.2.1" } diff --git a/packages/opentelemetry-plugin-http/src/version.ts b/packages/opentelemetry-plugin-http/src/version.ts index 2a73db3923..d34e2cff6d 100644 --- a/packages/opentelemetry-plugin-http/src/version.ts +++ b/packages/opentelemetry-plugin-http/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.8.1'; +export const VERSION = '0.8.2'; diff --git a/packages/opentelemetry-plugin-https/package.json b/packages/opentelemetry-plugin-https/package.json index eee1d720be..ada320bc18 100644 --- a/packages/opentelemetry-plugin-https/package.json +++ b/packages/opentelemetry-plugin-https/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/plugin-https", - "version": "0.8.1", + "version": "0.8.2", "description": "OpenTelemetry https automatic instrumentation package.", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -41,10 +41,10 @@ "access": "public" }, "devDependencies": { - "@opentelemetry/context-async-hooks": "^0.8.1", - "@opentelemetry/context-base": "^0.8.1", - "@opentelemetry/node": "^0.8.1", - "@opentelemetry/tracing": "^0.8.1", + "@opentelemetry/context-async-hooks": "^0.8.2", + "@opentelemetry/context-base": "^0.8.2", + "@opentelemetry/node": "^0.8.2", + "@opentelemetry/tracing": "^0.8.2", "@types/got": "^9.6.7", "@types/mocha": "^7.0.0", "@types/node": "^12.12.9", @@ -70,9 +70,9 @@ "typescript": "3.7.2" }, "dependencies": { - "@opentelemetry/api": "^0.8.1", - "@opentelemetry/core": "^0.8.1", - "@opentelemetry/plugin-http": "^0.8.1", + "@opentelemetry/api": "^0.8.2", + "@opentelemetry/core": "^0.8.2", + "@opentelemetry/plugin-http": "^0.8.2", "semver": "^7.1.3", "shimmer": "^1.2.1" } diff --git a/packages/opentelemetry-plugin-https/src/version.ts b/packages/opentelemetry-plugin-https/src/version.ts index 2a73db3923..d34e2cff6d 100644 --- a/packages/opentelemetry-plugin-https/src/version.ts +++ b/packages/opentelemetry-plugin-https/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.8.1'; +export const VERSION = '0.8.2'; diff --git a/packages/opentelemetry-plugin-xml-http-request/package.json b/packages/opentelemetry-plugin-xml-http-request/package.json index 650a48f2cc..05d9de83e5 100644 --- a/packages/opentelemetry-plugin-xml-http-request/package.json +++ b/packages/opentelemetry-plugin-xml-http-request/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/plugin-xml-http-request", - "version": "0.8.1", + "version": "0.8.2", "description": "OpenTelemetry XMLHttpRequest automatic instrumentation package.", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -44,8 +44,8 @@ }, "devDependencies": { "@babel/core": "^7.6.0", - "@opentelemetry/context-zone": "^0.8.1", - "@opentelemetry/tracing": "^0.8.1", + "@opentelemetry/context-zone": "^0.8.2", + "@opentelemetry/tracing": "^0.8.2", "@types/mocha": "^7.0.0", "@types/node": "^12.6.8", "@types/shimmer": "^1.0.1", @@ -74,9 +74,9 @@ "webpack-merge": "^4.2.2" }, "dependencies": { - "@opentelemetry/api": "^0.8.1", - "@opentelemetry/core": "^0.8.1", - "@opentelemetry/web": "^0.8.1", + "@opentelemetry/api": "^0.8.2", + "@opentelemetry/core": "^0.8.2", + "@opentelemetry/web": "^0.8.2", "shimmer": "^1.2.1" } } diff --git a/packages/opentelemetry-plugin-xml-http-request/src/version.ts b/packages/opentelemetry-plugin-xml-http-request/src/version.ts index 2a73db3923..d34e2cff6d 100644 --- a/packages/opentelemetry-plugin-xml-http-request/src/version.ts +++ b/packages/opentelemetry-plugin-xml-http-request/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.8.1'; +export const VERSION = '0.8.2'; diff --git a/packages/opentelemetry-resources/package.json b/packages/opentelemetry-resources/package.json index b3be600f97..e9bb2bcddc 100644 --- a/packages/opentelemetry-resources/package.json +++ b/packages/opentelemetry-resources/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/resources", - "version": "0.8.1", + "version": "0.8.2", "description": "OpenTelemetry SDK resources", "main": "build/src/index.js", "browser": { @@ -59,8 +59,8 @@ "typescript": "3.7.2" }, "dependencies": { - "@opentelemetry/api": "^0.8.1", - "@opentelemetry/core": "^0.8.1", + "@opentelemetry/api": "^0.8.2", + "@opentelemetry/core": "^0.8.2", "gcp-metadata": "^3.5.0" } } diff --git a/packages/opentelemetry-resources/src/version.ts b/packages/opentelemetry-resources/src/version.ts index 2a73db3923..d34e2cff6d 100644 --- a/packages/opentelemetry-resources/src/version.ts +++ b/packages/opentelemetry-resources/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.8.1'; +export const VERSION = '0.8.2'; diff --git a/packages/opentelemetry-shim-opentracing/package.json b/packages/opentelemetry-shim-opentracing/package.json index b79e13c382..49e89a7665 100644 --- a/packages/opentelemetry-shim-opentracing/package.json +++ b/packages/opentelemetry-shim-opentracing/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/shim-opentracing", - "version": "0.8.1", + "version": "0.8.2", "description": "OpenTracing to OpenTelemetry shim", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -39,7 +39,7 @@ "access": "public" }, "devDependencies": { - "@opentelemetry/tracing": "^0.8.1", + "@opentelemetry/tracing": "^0.8.2", "@types/mocha": "^7.0.0", "@types/node": "^12.6.9", "codecov": "^3.6.1", @@ -54,8 +54,8 @@ "typescript": "3.7.2" }, "dependencies": { - "@opentelemetry/api": "^0.8.1", - "@opentelemetry/core": "^0.8.1", + "@opentelemetry/api": "^0.8.2", + "@opentelemetry/core": "^0.8.2", "opentracing": "^0.14.4" } } diff --git a/packages/opentelemetry-shim-opentracing/src/version.ts b/packages/opentelemetry-shim-opentracing/src/version.ts index 2a73db3923..d34e2cff6d 100644 --- a/packages/opentelemetry-shim-opentracing/src/version.ts +++ b/packages/opentelemetry-shim-opentracing/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.8.1'; +export const VERSION = '0.8.2'; diff --git a/packages/opentelemetry-tracing/package.json b/packages/opentelemetry-tracing/package.json index b39e2f05b7..ff5863e046 100644 --- a/packages/opentelemetry-tracing/package.json +++ b/packages/opentelemetry-tracing/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/tracing", - "version": "0.8.1", + "version": "0.8.2", "description": "OpenTelemetry Tracing", "main": "build/src/index.js", "browser": { @@ -73,9 +73,9 @@ "webpack": "^4.35.2" }, "dependencies": { - "@opentelemetry/api": "^0.8.1", - "@opentelemetry/context-base": "^0.8.1", - "@opentelemetry/core": "^0.8.1", - "@opentelemetry/resources": "^0.8.1" + "@opentelemetry/api": "^0.8.2", + "@opentelemetry/context-base": "^0.8.2", + "@opentelemetry/core": "^0.8.2", + "@opentelemetry/resources": "^0.8.2" } } diff --git a/packages/opentelemetry-tracing/src/version.ts b/packages/opentelemetry-tracing/src/version.ts index 2a73db3923..d34e2cff6d 100644 --- a/packages/opentelemetry-tracing/src/version.ts +++ b/packages/opentelemetry-tracing/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.8.1'; +export const VERSION = '0.8.2'; diff --git a/packages/opentelemetry-web/package.json b/packages/opentelemetry-web/package.json index 8c9e04f5ea..9e38540dc8 100644 --- a/packages/opentelemetry-web/package.json +++ b/packages/opentelemetry-web/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/web", - "version": "0.8.1", + "version": "0.8.2", "description": "OpenTelemetry Web Tracer", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -43,8 +43,8 @@ }, "devDependencies": { "@babel/core": "^7.6.0", - "@opentelemetry/context-zone": "^0.8.1", - "@opentelemetry/resources": "^0.8.1", + "@opentelemetry/context-zone": "^0.8.2", + "@opentelemetry/resources": "^0.8.2", "@types/jquery": "^3.3.31", "@types/mocha": "^7.0.0", "@types/node": "^12.6.8", @@ -74,9 +74,9 @@ "webpack-merge": "^4.2.2" }, "dependencies": { - "@opentelemetry/api": "^0.8.1", - "@opentelemetry/context-base": "^0.8.1", - "@opentelemetry/core": "^0.8.1", - "@opentelemetry/tracing": "^0.8.1" + "@opentelemetry/api": "^0.8.2", + "@opentelemetry/context-base": "^0.8.2", + "@opentelemetry/core": "^0.8.2", + "@opentelemetry/tracing": "^0.8.2" } } diff --git a/packages/opentelemetry-web/src/version.ts b/packages/opentelemetry-web/src/version.ts index 2a73db3923..d34e2cff6d 100644 --- a/packages/opentelemetry-web/src/version.ts +++ b/packages/opentelemetry-web/src/version.ts @@ -15,4 +15,4 @@ */ // this is autogenerated file, see scripts/version-update.js -export const VERSION = '0.8.1'; +export const VERSION = '0.8.2'; From c1b8653504e0c0845565ff723f7f5e3b5486d6a2 Mon Sep 17 00:00:00 2001 From: shivkanya9146 <62445341+shivkanya9146@users.noreply.github.com> Date: Tue, 26 May 2020 20:03:10 +0530 Subject: [PATCH 29/33] Fix:Spelling Mistake (#1104) --- examples/basic-tracer-node/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/basic-tracer-node/index.js b/examples/basic-tracer-node/index.js index 5db3fd1ffc..45888437c2 100644 --- a/examples/basic-tracer-node/index.js +++ b/examples/basic-tracer-node/index.js @@ -18,7 +18,7 @@ provider.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter())); * tracer provider. This means when you call API methods like * `opentelemetry.trace.getTracer`, they will use this tracer provider. If you * do not register a global tracer provider, instrumentation which calls these - * methods will recieve no-op implementations. + * methods will receive no-op implementations. */ provider.register(); const tracer = opentelemetry.trace.getTracer('example-basic-tracer-node'); From 63dfcb5d93edb2d55c0d177681b04b61d18e16e2 Mon Sep 17 00:00:00 2001 From: Kanika Shah Date: Tue, 26 May 2020 10:32:19 -0700 Subject: [PATCH 30/33] Add the missing plugin dependencies in tracing example (#1078) Co-authored-by: Daniel Dyla --- getting-started/traced-example/package.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/getting-started/traced-example/package.json b/getting-started/traced-example/package.json index 53c0fae327..e1f5f6da58 100644 --- a/getting-started/traced-example/package.json +++ b/getting-started/traced-example/package.json @@ -12,7 +12,9 @@ "@opentelemetry/core": "^0.8.2", "@opentelemetry/exporter-zipkin": "^0.8.2", "@opentelemetry/node": "^0.8.2", + "@opentelemetry/plugin-express": "^0.7.0", "@opentelemetry/plugin-http": "^0.8.2", + "@opentelemetry/plugin-https": "^0.8.2", "@opentelemetry/tracing": "^0.8.2", "axios": "^0.19.0", "express": "^4.17.1" From 83b9cd11ff22b8afc5989a136baebeb88e6a449c Mon Sep 17 00:00:00 2001 From: Mayur Kale Date: Tue, 26 May 2020 11:25:58 -0700 Subject: [PATCH 31/33] chore: guidelines for Pull Requests and general Merge Requirements (#1085) --- CONTRIBUTING.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 58a2ac14c6..2d4d8925bd 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -63,6 +63,31 @@ The `opentelemetry-js` project is written in TypeScript. - `npm test` tests code the same way that our CI will test it. - `npm run lint:fix` lint (and maybe fix) any changes. +### Guidelines for Pull Requests + +- Typically we try to turn around reviews within one to two business days. +- It is generally expected that a maintainer ([@open-telemetry/javascript-maintainers](https://github.com/orgs/open-telemetry/teams/javascript-maintainers)) should review and merge every PR. + - If a change has met the requirements listed below, an approver may also merge the pull request. +- Most PRs should be merged in one to two weeks. +- If a PR is taking longer than 30 days, please ping the approvers ([@open-telemetry/javascript-approvers](https://github.com/orgs/open-telemetry/teams/javascript-approvers)) as it may have been lost +- Dependency upgrades and Security fixes: This PR is small and/or low-risk and can be merged with only maintainer reviews. +- If your patch is not getting reviewed or you need a specific person to review it, you can @username or @open-telemetry/javascript-approvers a reviewer asking for a review in the pull request, or you can ask for a review on Gitter channel. +- API changes, breaking changes, or large changes will be subject to more scrutiny and may require more reviewers. These PRs should only be merged by maintainers. +- Changes to existing plugins and exporters will typically require the approval of the original plugin/exporter author. + +### General Merge Requirements + +- All requirements are at the discretion of the maintainers. + - Maintainers may merge pull requests which have not strictly met these requirements. + - Maintainers may close, block, or put on hold pull requests even if they have strictly met these requirements. +- No “changes requested” reviews. +- No unresolved conversations. +- 4 approvals, including the approvals of both maintainers + - A pull request opened by an approver may be merged with only 3 reviews. + - Small (simple typo, URL, update docs, or grammatical fix) or high-priority changes may be merged more quickly or with fewer reviewers at the discretion of the maintainers. This is typically indicated with the express label. +- For plugins, exporters, and propagators approval of the original code module author is preferred but not required. +- New or changed functionality is tested by unit tests. +- New or changed functionality is documented. ### Generating API documentation - `npm run docs` to generate API documentation. Generates the documentation in `packages/opentelemetry-api/docs/out` From cfcf38e45209aa5de965ea8d79d37a436ae5af49 Mon Sep 17 00:00:00 2001 From: Bartlomiej Obecny Date: Tue, 26 May 2020 22:45:56 +0200 Subject: [PATCH 32/33] chore: test build (#1107) Co-authored-by: Daniel Dyla --- .circleci/config.yml | 2 +- README.md | 1 + packages/opentelemetry-api/package.json | 2 +- packages/opentelemetry-context-async-hooks/package.json | 2 +- packages/opentelemetry-context-base/package.json | 2 +- packages/opentelemetry-context-zone-peer-dep/package.json | 2 +- packages/opentelemetry-context-zone/package.json | 2 +- packages/opentelemetry-core/package.json | 2 +- packages/opentelemetry-exporter-collector/package.json | 2 +- packages/opentelemetry-exporter-jaeger/package.json | 2 +- packages/opentelemetry-exporter-prometheus/package.json | 2 +- packages/opentelemetry-exporter-zipkin/package.json | 2 +- packages/opentelemetry-metrics/package.json | 2 +- packages/opentelemetry-node/package.json | 2 +- packages/opentelemetry-plugin-grpc/package.json | 2 +- packages/opentelemetry-plugin-http/package.json | 2 +- packages/opentelemetry-plugin-https/package.json | 2 +- packages/opentelemetry-plugin-xml-http-request/package.json | 2 +- packages/opentelemetry-resources/package.json | 2 +- packages/opentelemetry-shim-opentracing/package.json | 2 +- packages/opentelemetry-tracing/package.json | 2 +- packages/opentelemetry-web/package.json | 2 +- 22 files changed, 22 insertions(+), 21 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index adcd21056c..36e18dfe3e 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -124,7 +124,7 @@ jobs: - checkout - run: name: Install minimal doc and lint modules globally - command: npm i -g eslint eslint-plugin-node @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-plugin-header eslint-plugin-import eslint-plugin-prettier prettier lerna typedoc linkinator typescript + command: npm i -g eslint@^6.8.0 eslint-plugin-node @typescript-eslint/eslint-plugin@^2.23.0 @typescript-eslint/parser@^2.23.0 eslint-plugin-header@^3.0.0 eslint-plugin-import@^2.19.1 eslint-plugin-prettier prettier lerna typedoc linkinator typescript@^3.7.2 - run: name: Install gts version 2.0.0 globally command: npm i -g gts@2.0.0 diff --git a/README.md b/README.md index 524566195c..c19f11402a 100644 --- a/README.md +++ b/README.md @@ -261,3 +261,4 @@ Apache 2.0 - See [LICENSE][license-url] for more information. [otel-contrib-plugin-express]: https://github.com/open-telemetry/opentelemetry-js-contrib/tree/master/plugins/node/opentelemetry-plugin-express [otel-contrib-plugin-user-interaction]: https://github.com/open-telemetry/opentelemetry-js-contrib/tree/master/plugins/web/opentelemetry-plugin-user-interaction [otel-contrib-plugin-document-load]: https://github.com/open-telemetry/opentelemetry-js-contrib/tree/master/plugins/web/opentelemetry-plugin-document-load + diff --git a/packages/opentelemetry-api/package.json b/packages/opentelemetry-api/package.json index 107db98f92..f15ca22678 100644 --- a/packages/opentelemetry-api/package.json +++ b/packages/opentelemetry-api/package.json @@ -55,7 +55,7 @@ }, "devDependencies": { "@types/mocha": "^7.0.0", - "@types/node": "^12.6.8", + "@types/node": "12.12.35", "@types/webpack-env": "1.13.9", "codecov": "^3.6.1", "gts": "^2.0.0", diff --git a/packages/opentelemetry-context-async-hooks/package.json b/packages/opentelemetry-context-async-hooks/package.json index 0dcebf44e1..e52dbb759e 100644 --- a/packages/opentelemetry-context-async-hooks/package.json +++ b/packages/opentelemetry-context-async-hooks/package.json @@ -42,7 +42,7 @@ }, "devDependencies": { "@types/mocha": "^7.0.0", - "@types/node": "^12.6.8", + "@types/node": "12.12.35", "@types/shimmer": "^1.0.1", "codecov": "^3.6.1", "gts": "^2.0.0", diff --git a/packages/opentelemetry-context-base/package.json b/packages/opentelemetry-context-base/package.json index 66b5776da3..09d6b82ea6 100644 --- a/packages/opentelemetry-context-base/package.json +++ b/packages/opentelemetry-context-base/package.json @@ -44,7 +44,7 @@ }, "devDependencies": { "@types/mocha": "^7.0.0", - "@types/node": "^12.6.8", + "@types/node": "12.12.35", "codecov": "^3.6.1", "gts": "^2.0.0", "mocha": "^7.1.2", diff --git a/packages/opentelemetry-context-zone-peer-dep/package.json b/packages/opentelemetry-context-zone-peer-dep/package.json index 902ba19bd3..0b6e768f34 100644 --- a/packages/opentelemetry-context-zone-peer-dep/package.json +++ b/packages/opentelemetry-context-zone-peer-dep/package.json @@ -43,7 +43,7 @@ "devDependencies": { "@babel/core": "^7.6.0", "@types/mocha": "^7.0.0", - "@types/node": "^12.6.8", + "@types/node": "12.12.35", "@types/sinon": "^7.0.13", "@types/webpack-env": "1.13.9", "@types/zone.js": "^0.5.12", diff --git a/packages/opentelemetry-context-zone/package.json b/packages/opentelemetry-context-zone/package.json index b6071e9b04..777e8dd2cd 100644 --- a/packages/opentelemetry-context-zone/package.json +++ b/packages/opentelemetry-context-zone/package.json @@ -40,7 +40,7 @@ "devDependencies": { "@babel/core": "^7.6.0", "@types/mocha": "^7.0.0", - "@types/node": "^12.6.8", + "@types/node": "12.12.35", "@types/sinon": "^7.0.13", "@types/webpack-env": "1.13.9", "babel-loader": "^8.0.6", diff --git a/packages/opentelemetry-core/package.json b/packages/opentelemetry-core/package.json index c043c157bc..138ccdb527 100644 --- a/packages/opentelemetry-core/package.json +++ b/packages/opentelemetry-core/package.json @@ -52,7 +52,7 @@ }, "devDependencies": { "@types/mocha": "^7.0.0", - "@types/node": "^12.6.8", + "@types/node": "12.12.35", "@types/semver": "^6.2.0", "@types/sinon": "^7.0.13", "@types/webpack-env": "1.13.9", diff --git a/packages/opentelemetry-exporter-collector/package.json b/packages/opentelemetry-exporter-collector/package.json index 555117f6b5..07cbe3eb42 100644 --- a/packages/opentelemetry-exporter-collector/package.json +++ b/packages/opentelemetry-exporter-collector/package.json @@ -55,7 +55,7 @@ "devDependencies": { "@babel/core": "^7.6.0", "@types/mocha": "^7.0.0", - "@types/node": "^12.6.8", + "@types/node": "12.12.35", "@types/sinon": "^7.0.13", "@types/webpack-env": "1.13.9", "babel-loader": "^8.0.6", diff --git a/packages/opentelemetry-exporter-jaeger/package.json b/packages/opentelemetry-exporter-jaeger/package.json index 53877f31ba..37d76fcf1a 100644 --- a/packages/opentelemetry-exporter-jaeger/package.json +++ b/packages/opentelemetry-exporter-jaeger/package.json @@ -43,7 +43,7 @@ "devDependencies": { "@opentelemetry/resources": "^0.8.2", "@types/mocha": "^7.0.0", - "@types/node": "^12.6.9", + "@types/node": "12.12.35", "codecov": "^3.6.1", "gts": "^2.0.0", "mocha": "^7.1.2", diff --git a/packages/opentelemetry-exporter-prometheus/package.json b/packages/opentelemetry-exporter-prometheus/package.json index 439247818b..9a15cf9241 100644 --- a/packages/opentelemetry-exporter-prometheus/package.json +++ b/packages/opentelemetry-exporter-prometheus/package.json @@ -41,7 +41,7 @@ }, "devDependencies": { "@types/mocha": "^7.0.0", - "@types/node": "^12.6.9", + "@types/node": "12.12.35", "codecov": "^3.6.1", "gts": "^2.0.0", "mocha": "^7.1.2", diff --git a/packages/opentelemetry-exporter-zipkin/package.json b/packages/opentelemetry-exporter-zipkin/package.json index 5cf52e1825..a587ca1471 100644 --- a/packages/opentelemetry-exporter-zipkin/package.json +++ b/packages/opentelemetry-exporter-zipkin/package.json @@ -40,7 +40,7 @@ }, "devDependencies": { "@types/mocha": "^7.0.0", - "@types/node": "^12.6.9", + "@types/node": "12.12.35", "codecov": "^3.6.1", "gts": "^2.0.0", "mocha": "^7.1.2", diff --git a/packages/opentelemetry-metrics/package.json b/packages/opentelemetry-metrics/package.json index e011260a71..fcddbfc616 100644 --- a/packages/opentelemetry-metrics/package.json +++ b/packages/opentelemetry-metrics/package.json @@ -42,7 +42,7 @@ }, "devDependencies": { "@types/mocha": "^7.0.0", - "@types/node": "^12.6.9", + "@types/node": "12.12.35", "@types/sinon": "^7.0.13", "codecov": "^3.6.1", "gts": "^2.0.0", diff --git a/packages/opentelemetry-node/package.json b/packages/opentelemetry-node/package.json index 4252e2165e..05a194c83b 100644 --- a/packages/opentelemetry-node/package.json +++ b/packages/opentelemetry-node/package.json @@ -44,7 +44,7 @@ "@opentelemetry/context-base": "^0.8.2", "@opentelemetry/resources": "^0.8.2", "@types/mocha": "^7.0.0", - "@types/node": "^12.6.8", + "@types/node": "12.12.35", "@types/semver": "^6.0.1", "@types/shimmer": "^1.0.1", "codecov": "^3.6.1", diff --git a/packages/opentelemetry-plugin-grpc/package.json b/packages/opentelemetry-plugin-grpc/package.json index ed3857b9aa..bdddc970fc 100644 --- a/packages/opentelemetry-plugin-grpc/package.json +++ b/packages/opentelemetry-plugin-grpc/package.json @@ -46,7 +46,7 @@ "@opentelemetry/node": "^0.8.2", "@opentelemetry/tracing": "^0.8.2", "@types/mocha": "^7.0.0", - "@types/node": "^12.6.9", + "@types/node": "12.12.35", "@types/semver": "^7.1.0", "@types/shimmer": "^1.0.1", "@types/sinon": "^7.0.13", diff --git a/packages/opentelemetry-plugin-http/package.json b/packages/opentelemetry-plugin-http/package.json index e59a6f3afe..deecba25c2 100644 --- a/packages/opentelemetry-plugin-http/package.json +++ b/packages/opentelemetry-plugin-http/package.json @@ -47,7 +47,7 @@ "@opentelemetry/tracing": "^0.8.2", "@types/got": "^9.6.7", "@types/mocha": "^7.0.0", - "@types/node": "^12.12.9", + "@types/node": "12.12.35", "@types/request-promise-native": "^1.0.17", "@types/semver": "^6.0.2", "@types/shimmer": "^1.0.1", diff --git a/packages/opentelemetry-plugin-https/package.json b/packages/opentelemetry-plugin-https/package.json index ada320bc18..09c29c1efd 100644 --- a/packages/opentelemetry-plugin-https/package.json +++ b/packages/opentelemetry-plugin-https/package.json @@ -47,7 +47,7 @@ "@opentelemetry/tracing": "^0.8.2", "@types/got": "^9.6.7", "@types/mocha": "^7.0.0", - "@types/node": "^12.12.9", + "@types/node": "12.12.35", "@types/request-promise-native": "^1.0.17", "@types/semver": "^6.0.2", "@types/shimmer": "^1.0.1", diff --git a/packages/opentelemetry-plugin-xml-http-request/package.json b/packages/opentelemetry-plugin-xml-http-request/package.json index 05d9de83e5..3166e09cc1 100644 --- a/packages/opentelemetry-plugin-xml-http-request/package.json +++ b/packages/opentelemetry-plugin-xml-http-request/package.json @@ -47,7 +47,7 @@ "@opentelemetry/context-zone": "^0.8.2", "@opentelemetry/tracing": "^0.8.2", "@types/mocha": "^7.0.0", - "@types/node": "^12.6.8", + "@types/node": "12.12.35", "@types/shimmer": "^1.0.1", "@types/sinon": "^7.0.13", "@types/webpack-env": "1.13.9", diff --git a/packages/opentelemetry-resources/package.json b/packages/opentelemetry-resources/package.json index e9bb2bcddc..ac9267eca8 100644 --- a/packages/opentelemetry-resources/package.json +++ b/packages/opentelemetry-resources/package.json @@ -45,7 +45,7 @@ }, "devDependencies": { "@types/mocha": "^7.0.0", - "@types/node": "^12.6.9", + "@types/node": "12.12.35", "@types/sinon": "^7.0.13", "codecov": "^3.6.1", "gts": "^2.0.0", diff --git a/packages/opentelemetry-shim-opentracing/package.json b/packages/opentelemetry-shim-opentracing/package.json index 49e89a7665..40b00235e0 100644 --- a/packages/opentelemetry-shim-opentracing/package.json +++ b/packages/opentelemetry-shim-opentracing/package.json @@ -41,7 +41,7 @@ "devDependencies": { "@opentelemetry/tracing": "^0.8.2", "@types/mocha": "^7.0.0", - "@types/node": "^12.6.9", + "@types/node": "12.12.35", "codecov": "^3.6.1", "gts": "^2.0.0", "mocha": "^7.1.2", diff --git a/packages/opentelemetry-tracing/package.json b/packages/opentelemetry-tracing/package.json index ff5863e046..cc2533224d 100644 --- a/packages/opentelemetry-tracing/package.json +++ b/packages/opentelemetry-tracing/package.json @@ -50,7 +50,7 @@ }, "devDependencies": { "@types/mocha": "^7.0.0", - "@types/node": "^12.6.8", + "@types/node": "12.12.35", "@types/sinon": "^7.0.13", "@types/webpack-env": "1.13.9", "codecov": "^3.6.1", diff --git a/packages/opentelemetry-web/package.json b/packages/opentelemetry-web/package.json index 9e38540dc8..3e1c8e1843 100644 --- a/packages/opentelemetry-web/package.json +++ b/packages/opentelemetry-web/package.json @@ -47,7 +47,7 @@ "@opentelemetry/resources": "^0.8.2", "@types/jquery": "^3.3.31", "@types/mocha": "^7.0.0", - "@types/node": "^12.6.8", + "@types/node": "12.12.35", "@types/sinon": "^7.0.13", "@types/webpack-env": "1.13.9", "babel-loader": "^8.0.6", From da11e1bd5f974bf4ed56059500f1f0f1b6323c01 Mon Sep 17 00:00:00 2001 From: Bartlomiej Obecny Date: Wed, 27 May 2020 00:09:02 +0200 Subject: [PATCH 33/33] chore: fixing a list of files to be in unit test coverage report (#1091) Co-authored-by: Mayur Kale --- .nycrc | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.nycrc b/.nycrc index f8e60152fa..47b8c170df 100644 --- a/.nycrc +++ b/.nycrc @@ -4,11 +4,14 @@ ], "exclude": [ "**/*.d.ts", - "build/**/**/*.js", + "build/**/*.*", "src/index.ts", - "karma.conf.js", + "src/platform/**/index.ts", "src/platform/browser/*.ts", - "test/index-webpack.ts", + "src/version.ts", + "test/**/*.*", + ".eslintrc.js", + "karma.conf.js", "webpack/*.js" ], "all": true