Skip to content

Commit d5bab9b

Browse files
authored
Merge branch 'main' into start-active-span
2 parents 4eb9d6c + d551781 commit d5bab9b

File tree

101 files changed

+589
-749
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

101 files changed

+589
-749
lines changed

README.md

+2
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,8 @@ To request automatic tracing support for a module not on this list, please [file
232232

233233
- `JaegerHttpTracePropagator` renamed to `JaegerPropagator`
234234

235+
- `serviceName` configuration removed from Collector exporters. Use `service.name` Resource attribute instead.
236+
235237
### 0.18.x to 0.19.0
236238

237239
- API is now a peer dependency. This means that users will need to include `@opentelemetry/api` as a dependency of their project in order to use the SDK. NPM version 7+ (Node 15+) should do this automatically.

backwards-compatability/node10/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
},
1414
"devDependencies": {
1515
"@types/node": "10.17.59",
16-
"typescript": "4.2.4"
16+
"typescript": "4.3.2"
1717
},
1818
"author": "OpenTelemetry Authors",
1919
"license": "Apache-2.0"

backwards-compatability/node12/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
},
1414
"devDependencies": {
1515
"@types/node": "12.20.11",
16-
"typescript": "4.2.4"
16+
"typescript": "4.3.2"
1717
},
1818
"author": "OpenTelemetry Authors",
1919
"license": "Apache-2.0"

backwards-compatability/node8/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
},
1414
"devDependencies": {
1515
"@types/node": "8.10.66",
16-
"typescript": "4.2.4"
16+
"typescript": "4.3.2"
1717
},
1818
"author": "OpenTelemetry Authors",
1919
"license": "Apache-2.0"

integration-tests/propagation-validation-server/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
},
2121
"devDependencies": {
2222
"@opentelemetry/api": "^0.20.0",
23-
"typescript": "4.2.4"
23+
"typescript": "4.3.2"
2424
},
2525
"peerDependencies": {
2626
"@opentelemetry/api": "^0.20.0"

package.json

+5-5
Original file line numberDiff line numberDiff line change
@@ -48,21 +48,21 @@
4848
"devDependencies": {
4949
"@commitlint/cli": "12.1.1",
5050
"@commitlint/config-conventional": "12.1.1",
51-
"@typescript-eslint/eslint-plugin": "4.22.0",
52-
"@typescript-eslint/parser": "4.22.0",
51+
"@typescript-eslint/eslint-plugin": "4.25.0",
52+
"@typescript-eslint/parser": "4.25.0",
5353
"beautify-benchmark": "0.2.4",
5454
"benchmark": "2.1.4",
55-
"eslint": "7.25.0",
55+
"eslint": "7.27.0",
5656
"eslint-config-airbnb-base": "14.2.1",
5757
"eslint-plugin-header": "3.1.1",
58-
"eslint-plugin-import": "2.22.1",
58+
"eslint-plugin-import": "2.23.3",
5959
"eslint-plugin-node": "11.1.0",
6060
"gh-pages": "3.1.0",
6161
"husky": "4.3.8",
6262
"lerna": "3.22.1",
6363
"lerna-changelog": "1.0.1",
6464
"markdownlint-cli": "0.27.1",
65-
"typescript": "4.2.4",
65+
"typescript": "4.3.2",
6666
"update-ts-references": "2.3.0"
6767
},
6868
"husky": {

packages/opentelemetry-api-metrics/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@
7272
"nyc": "15.1.0",
7373
"ts-loader": "8.2.0",
7474
"ts-mocha": "8.0.0",
75-
"typescript": "4.2.4",
75+
"typescript": "4.3.2",
7676
"webpack": "4.46.0"
7777
}
7878
}

packages/opentelemetry-api-metrics/test/api/api.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ describe('API', () => {
3838
});
3939

4040
class TestMeterProvider extends NoopMeterProvider {
41-
getMeter() {
41+
override getMeter() {
4242
return dummyMeter;
4343
}
4444
}

packages/opentelemetry-context-async-hooks/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
"rimraf": "3.0.2",
5151
"ts-mocha": "8.0.0",
5252
"ts-node": "9.1.1",
53-
"typescript": "4.2.4"
53+
"typescript": "4.3.2"
5454
},
5555
"peerDependencies": {
5656
"@opentelemetry/api": "^0.20.0"

packages/opentelemetry-context-zone-peer-dep/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@
6868
"ts-loader": "8.2.0",
6969
"ts-mocha": "8.0.0",
7070
"ts-node": "9.1.1",
71-
"typescript": "4.2.4",
71+
"typescript": "4.3.2",
7272
"webpack": "4.46.0",
7373
"webpack-cli": "4.6.0",
7474
"zone.js": "0.11.4"

packages/opentelemetry-context-zone/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@
6161
"ts-loader": "8.2.0",
6262
"ts-mocha": "8.0.0",
6363
"ts-node": "9.1.1",
64-
"typescript": "4.2.4",
64+
"typescript": "4.3.2",
6565
"webpack": "4.46.0",
6666
"webpack-cli": "4.6.0",
6767
"webpack-merge": "5.7.3"

packages/opentelemetry-core/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@
7676
"ts-loader": "8.2.0",
7777
"ts-mocha": "8.0.0",
7878
"ts-node": "9.1.1",
79-
"typescript": "4.2.4",
79+
"typescript": "4.3.2",
8080
"webpack": "4.46.0"
8181
},
8282
"peerDependencies": {

packages/opentelemetry-core/src/utils/environment.ts

+2
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ export type ENVIRONMENT = {
7676
OTEL_EXPORTER_ZIPKIN_ENDPOINT?: string;
7777
OTEL_LOG_LEVEL?: DiagLogLevel;
7878
OTEL_RESOURCE_ATTRIBUTES?: string;
79+
OTEL_SERVICE_NAME?: string;
7980
OTEL_TRACES_EXPORTER?: string;
8081
OTEL_TRACES_SAMPLER_ARG?: string;
8182
OTEL_TRACES_SAMPLER?: string;
@@ -115,6 +116,7 @@ export const DEFAULT_ENVIRONMENT: Required<ENVIRONMENT> = {
115116
OTEL_NO_PATCH_MODULES: [],
116117
OTEL_PROPAGATORS: ['tracecontext', 'baggage'],
117118
OTEL_RESOURCE_ATTRIBUTES: '',
119+
OTEL_SERVICE_NAME: '',
118120
OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT: 128,
119121
OTEL_SPAN_EVENT_COUNT_LIMIT: 128,
120122
OTEL_SPAN_LINK_COUNT_LIMIT: 128,

packages/opentelemetry-exporter-collector-grpc/README.md

+6-4
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@ This module provides exporter for web and node to be used with [opentelemetry-co
1313
npm install --save @opentelemetry/exporter-collector-grpc
1414
```
1515

16+
## Service Name
17+
18+
The OpenTelemetry Collector Exporter does not have a service name configuration.
19+
In order to set the service name, use the `service.name` resource attribute as prescribed in the [OpenTelemetry Resource Semantic Conventions][semconv-resource-service-name].
20+
1621
## Traces in Node - GRPC
1722

1823
The CollectorTraceExporter in Node expects the URL to only be the hostname. It will not work with `/v1/traces`.
@@ -22,7 +27,6 @@ const { BasicTracerProvider, SimpleSpanProcessor } = require('@opentelemetry/tra
2227
const { CollectorTraceExporter } = require('@opentelemetry/exporter-collector-grpc');
2328

2429
const collectorOptions = {
25-
serviceName: 'basic-service',
2630
// url is optional and can be omitted - default is localhost:4317
2731
url: '<collector-hostname>:<port>',
2832
};
@@ -47,7 +51,6 @@ const { BasicTracerProvider, SimpleSpanProcessor } = require('@opentelemetry/tra
4751
const { CollectorTraceExporter } = require('@opentelemetry/exporter-collector-grpc');
4852

4953
const collectorOptions = {
50-
serviceName: 'basic-service',
5154
// url is optional and can be omitted - default is localhost:4317
5255
url: '<collector-hostname>:<port>',
5356
credentials: grpc.credentials.createSsl(),
@@ -88,7 +91,6 @@ const metadata = new grpc.Metadata();
8891
metadata.set('k', 'v');
8992

9093
const collectorOptions = {
91-
serviceName: 'basic-service',
9294
// url is optional and can be omitted - default is localhost:4317
9395
url: '<collector-hostname>:<port>',
9496
metadata, // // an optional grpc.Metadata object to be sent with each request
@@ -114,7 +116,6 @@ The CollectorTraceExporter in Node expects the URL to only be the hostname. It w
114116
const { MeterProvider } = require('@opentelemetry/metrics');
115117
const { CollectorMetricExporter } = require('@opentelemetry/exporter-collector-grpc');
116118
const collectorOptions = {
117-
serviceName: 'basic-service',
118119
// url is optional and can be omitted - default is localhost:4317
119120
url: '<collector-hostname>:<port>',
120121
};
@@ -161,3 +162,4 @@ Apache 2.0 - See [LICENSE][license-url] for more information.
161162
[npm-url]: https://www.npmjs.com/package/@opentelemetry/exporter-collector-grpc
162163
[npm-img]: https://badge.fury.io/js/%40opentelemetry%2Fexporter-collector-grpc.svg
163164
[opentelemetry-collector-url]: https://github.com/open-telemetry/opentelemetry-collector
165+
[semconv-resource-service-name]: https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/resource/semantic_conventions/README.md#service

packages/opentelemetry-exporter-collector-grpc/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@
6060
"ts-loader": "8.2.0",
6161
"ts-mocha": "8.0.0",
6262
"ts-node": "9.1.1",
63-
"typescript": "4.2.4"
63+
"typescript": "4.3.2"
6464
},
6565
"peerDependencies": {
6666
"@opentelemetry/api": "^0.20.0"

packages/opentelemetry-exporter-collector-grpc/src/CollectorMetricExporter.ts

-5
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ import { CollectorExporterNodeBase } from './CollectorExporterNodeBase';
2424
import { getEnv } from '@opentelemetry/core';
2525
import { validateAndNormalizeUrl } from './util';
2626

27-
const DEFAULT_SERVICE_NAME = 'collector-metric-exporter';
2827
const DEFAULT_COLLECTOR_URL = 'localhost:4317';
2928

3029
/**
@@ -59,10 +58,6 @@ export class CollectorMetricExporter
5958
: DEFAULT_COLLECTOR_URL;
6059
}
6160

62-
getDefaultServiceName(config: CollectorExporterConfigNode): string {
63-
return config.serviceName || DEFAULT_SERVICE_NAME;
64-
}
65-
6661
getServiceClientType() {
6762
return ServiceClientType.METRICS;
6863
}

packages/opentelemetry-exporter-collector-grpc/src/CollectorTraceExporter.ts

-5
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ import { CollectorExporterConfigNode, ServiceClientType } from './types';
2424
import { getEnv } from '@opentelemetry/core';
2525
import { validateAndNormalizeUrl } from './util';
2626

27-
const DEFAULT_SERVICE_NAME = 'collector-trace-exporter';
2827
const DEFAULT_COLLECTOR_URL = 'localhost:4317';
2928

3029
/**
@@ -52,10 +51,6 @@ export class CollectorTraceExporter
5251
: DEFAULT_COLLECTOR_URL;
5352
}
5453

55-
getDefaultServiceName(config: CollectorExporterConfigNode): string {
56-
return config.serviceName || DEFAULT_SERVICE_NAME;
57-
}
58-
5954
getServiceClientType() {
6055
return ServiceClientType.SPANS;
6156
}

packages/opentelemetry-exporter-collector-grpc/test/CollectorMetricExporter.test.ts

-3
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,6 @@ const testCollectorMetricExporter = (params: TestParams) =>
131131
collectorExporter = new CollectorMetricExporter({
132132
url: 'grpcs://' + address,
133133
credentials,
134-
serviceName: 'basic-service',
135134
metadata: params.metadata,
136135
});
137136
// Overwrites the start time to make tests consistent
@@ -169,7 +168,6 @@ const testCollectorMetricExporter = (params: TestParams) =>
169168
// Need to stub/spy on the underlying logger as the 'diag' instance is global
170169
const spyLoggerWarn = sinon.stub(diag, 'warn');
171170
collectorExporter = new CollectorMetricExporter({
172-
serviceName: 'basic-service',
173171
url: `http://${address}`,
174172
headers: {
175173
foo: 'bar',
@@ -181,7 +179,6 @@ const testCollectorMetricExporter = (params: TestParams) =>
181179
it('should warn about path in url', () => {
182180
const spyLoggerWarn = sinon.stub(diag, 'warn');
183181
collectorExporter = new CollectorMetricExporter({
184-
serviceName: 'basic-service',
185182
url: `http://${address}/v1/metrics`
186183
});
187184
const args = spyLoggerWarn.args[0];

packages/opentelemetry-exporter-collector-grpc/test/CollectorTraceExporter.test.ts

-3
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,6 @@ const testCollectorExporter = (params: TestParams) =>
124124
)
125125
: undefined;
126126
collectorExporter = new CollectorTraceExporter({
127-
serviceName: 'basic-service',
128127
url: 'grpcs://' + address,
129128
credentials,
130129
metadata: params.metadata,
@@ -146,7 +145,6 @@ const testCollectorExporter = (params: TestParams) =>
146145
// Need to stub/spy on the underlying logger as the 'diag' instance is global
147146
const spyLoggerWarn = sinon.stub(diag, 'warn');
148147
collectorExporter = new CollectorTraceExporter({
149-
serviceName: 'basic-service',
150148
url: `http://${address}`,
151149
headers: {
152150
foo: 'bar',
@@ -158,7 +156,6 @@ const testCollectorExporter = (params: TestParams) =>
158156
it('should warn about path in url', () => {
159157
const spyLoggerWarn = sinon.stub(diag, 'warn');
160158
collectorExporter = new CollectorTraceExporter({
161-
serviceName: 'basic-service',
162159
url: `http://${address}/v1/trace`,
163160
});
164161
const args = spyLoggerWarn.args[0];

packages/opentelemetry-exporter-collector-grpc/test/helper.ts

+29-7
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import { Resource } from '@opentelemetry/resources';
2828
import { ReadableSpan } from '@opentelemetry/tracing';
2929
import * as assert from 'assert';
3030
import * as grpc from '@grpc/grpc-js';
31+
import { VERSION } from '@opentelemetry/core';
3132

3233
const meterProvider = new metrics.MeterProvider({
3334
interval: 30000,
@@ -157,11 +158,11 @@ export const mockedReadableSpan: ReadableSpan = {
157158
},
158159
],
159160
duration: [0, 8885000],
160-
resource: new Resource({
161+
resource: Resource.default().merge(new Resource({
161162
service: 'ui',
162163
version: 1,
163164
cost: 112.12,
164-
}),
165+
})),
165166
instrumentationLibrary: { name: 'default', version: '0.0.1' },
166167
};
167168

@@ -409,11 +410,32 @@ export function ensureResourceIsCorrect(
409410
assert.deepStrictEqual(resource, {
410411
attributes: [
411412
{
412-
key: 'service.name',
413-
value: {
414-
stringValue: 'basic-service',
415-
value: 'stringValue',
416-
},
413+
"key": "service.name",
414+
"value": {
415+
"stringValue": `unknown_service:${process.argv0}`,
416+
"value": "stringValue"
417+
}
418+
},
419+
{
420+
"key": "telemetry.sdk.language",
421+
"value": {
422+
"stringValue": "nodejs",
423+
"value": "stringValue"
424+
}
425+
},
426+
{
427+
"key": "telemetry.sdk.name",
428+
"value": {
429+
"stringValue": "opentelemetry",
430+
"value": "stringValue"
431+
}
432+
},
433+
{
434+
"key": "telemetry.sdk.version",
435+
"value": {
436+
"stringValue": VERSION,
437+
"value": "stringValue"
438+
}
417439
},
418440
{
419441
key: 'service',

packages/opentelemetry-exporter-collector-proto/README.md

+6-2
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,18 @@ This module provides exporter for node to be used with [opentelemetry-collector]
1313
npm install --save @opentelemetry/exporter-collector-proto
1414
```
1515

16+
## Service Name
17+
18+
The OpenTelemetry Collector Exporter does not have a service name configuration.
19+
In order to set the service name, use the `service.name` resource attribute as prescribed in the [OpenTelemetry Resource Semantic Conventions][semconv-resource-service-name].
20+
1621
## Traces in Node - PROTO over http
1722

1823
```js
1924
const { BasicTracerProvider, SimpleSpanProcessor } = require('@opentelemetry/tracing');
2025
const { CollectorTraceExporter } = require('@opentelemetry/exporter-collector-proto');
2126

2227
const collectorOptions = {
23-
serviceName: 'basic-service',
2428
url: '<opentelemetry-collector-url>', // url is optional and can be omitted - default is http://localhost:55681/v1/traces
2529
headers: {
2630
foo: 'bar'
@@ -41,7 +45,6 @@ provider.register();
4145
const { MeterProvider } = require('@opentelemetry/metrics');
4246
const { CollectorMetricExporter } = require('@opentelemetry/exporter-collector-proto');
4347
const collectorOptions = {
44-
serviceName: 'basic-service',
4548
url: '<opentelemetry-collector-url>', // url is optional and can be omitted - default is http://localhost:55681/v1/metrics
4649
};
4750
const exporter = new CollectorMetricExporter(collectorOptions);
@@ -84,3 +87,4 @@ Apache 2.0 - See [LICENSE][license-url] for more information.
8487
[npm-url]: https://www.npmjs.com/package/@opentelemetry/exporter-collector-proto
8588
[npm-img]: https://badge.fury.io/js/%40opentelemetry%2Fexporter-collector-proto.svg
8689
[opentelemetry-collector-url]: https://github.com/open-telemetry/opentelemetry-collector
90+
[semconv-resource-service-name]: https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/resource/semantic_conventions/README.md#service

packages/opentelemetry-exporter-collector-proto/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@
6060
"ts-loader": "8.2.0",
6161
"ts-mocha": "8.0.0",
6262
"ts-node": "9.1.1",
63-
"typescript": "4.2.4"
63+
"typescript": "4.3.2"
6464
},
6565
"peerDependencies": {
6666
"@opentelemetry/api": "^0.20.0"

0 commit comments

Comments
 (0)