Skip to content

Commit 546f3e8

Browse files
authored
[javascript] move to SDK 2.x (open-telemetry#6441)
1 parent e117e59 commit 546f3e8

File tree

4 files changed

+52
-36
lines changed

4 files changed

+52
-36
lines changed

content/en/docs/languages/js/_index.md

+4
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,10 @@ OpenTelemetry.
2121
OpenTelemetry JavaScript has no official supported list of browsers. It is aimed
2222
to work on currently supported versions of major browsers.
2323

24+
OpenTelemetry JavaScript follows DefinitelyType's support policy for TypeScript
25+
which sets a support window of 2 years. Support for TypeScript versions older
26+
than 2 years will be dropped in minor releases of OpenTelemetry JavaScript.
27+
2428
For more details on runtime support see
2529
[this overview](https://github.com/open-telemetry/opentelemetry-js#supported-runtimes).
2630

content/en/docs/languages/js/instrumentation.md

+39-26
Original file line numberDiff line numberDiff line change
@@ -221,14 +221,14 @@ import {
221221
PeriodicExportingMetricReader,
222222
ConsoleMetricExporter,
223223
} from '@opentelemetry/sdk-metrics';
224-
import { Resource } from '@opentelemetry/resources';
224+
import { resourceFromAttributes } from '@opentelemetry/resources';
225225
import {
226226
ATTR_SERVICE_NAME,
227227
ATTR_SERVICE_VERSION,
228228
} from '@opentelemetry/semantic-conventions';
229229

230230
const sdk = new NodeSDK({
231-
resource: new Resource({
231+
resource: resourceFromAttributes({
232232
[ATTR_SERVICE_NAME]: 'yourServiceName',
233233
[ATTR_SERVICE_VERSION]: '1.0',
234234
}),
@@ -251,14 +251,14 @@ const {
251251
PeriodicExportingMetricReader,
252252
ConsoleMetricExporter,
253253
} = require('@opentelemetry/sdk-metrics');
254-
const { Resource } = require('@opentelemetry/resources');
254+
const { resourceFromAttributes } = require('@opentelemetry/resources');
255255
const {
256256
ATTR_SERVICE_NAME,
257257
ATTR_SERVICE_VERSION,
258258
} = require('@opentelemetry/semantic-conventions');
259259

260260
const sdk = new NodeSDK({
261-
resource: new Resource({
261+
resource: resourceFromAttributes({
262262
[ATTR_SERVICE_NAME]: 'dice-server',
263263
[ATTR_SERVICE_VERSION]: '0.1.0',
264264
}),
@@ -349,7 +349,10 @@ SDK initialization code in it:
349349
{{< tabpane text=true >}} {{% tab TypeScript %}}
350350

351351
```ts
352-
import { Resource } from '@opentelemetry/resources';
352+
import {
353+
defaultResource,
354+
resourceFromAttributes,
355+
} from '@opentelemetry/resources';
353356
import {
354357
ATTR_SERVICE_NAME,
355358
ATTR_SERVICE_VERSION,
@@ -360,8 +363,8 @@ import {
360363
ConsoleSpanExporter,
361364
} from '@opentelemetry/sdk-trace-base';
362365

363-
const resource = Resource.default().merge(
364-
new Resource({
366+
const resource = defaultResource().merge(
367+
resourceFromAttributes({
365368
[ATTR_SERVICE_NAME]: 'service-name-here',
366369
[ATTR_SERVICE_VERSION]: '0.1.0',
367370
}),
@@ -382,7 +385,10 @@ provider.register();
382385

383386
```js
384387
const opentelemetry = require('@opentelemetry/api');
385-
const { Resource } = require('@opentelemetry/resources');
388+
const {
389+
defaultResource,
390+
resourceFromAttributes,
391+
} = require('@opentelemetry/resources');
386392
const {
387393
ATTR_SERVICE_NAME,
388394
ATTR_SERVICE_VERSION,
@@ -393,8 +399,8 @@ const {
393399
BatchSpanProcessor,
394400
} = require('@opentelemetry/sdk-trace-base');
395401

396-
const resource = Resource.default().merge(
397-
new Resource({
402+
const resource = defaultResource().merge(
403+
resourceFromAttributes({
398404
[ATTR_SERVICE_NAME]: 'service-name-here',
399405
[ATTR_SERVICE_VERSION]: '0.1.0',
400406
}),
@@ -1286,14 +1292,17 @@ import {
12861292
MeterProvider,
12871293
PeriodicExportingMetricReader,
12881294
} from '@opentelemetry/sdk-metrics';
1289-
import { Resource } from '@opentelemetry/resources';
1295+
import {
1296+
defaultResource,
1297+
resourceFromAttributes,
1298+
} from '@opentelemetry/resources';
12901299
import {
12911300
ATTR_SERVICE_NAME,
12921301
ATTR_SERVICE_VERSION,
12931302
} from '@opentelemetry/semantic-conventions';
12941303

1295-
const resource = Resource.default().merge(
1296-
new Resource({
1304+
const resource = defaultResource().merge(
1305+
resourceFromAttributes({
12971306
[ATTR_SERVICE_NAME]: 'dice-server',
12981307
[ATTR_SERVICE_VERSION]: '0.1.0',
12991308
}),
@@ -1323,14 +1332,17 @@ const {
13231332
PeriodicExportingMetricReader,
13241333
ConsoleMetricExporter,
13251334
} = require('@opentelemetry/sdk-metrics');
1326-
const { Resource } = require('@opentelemetry/resources');
1335+
const {
1336+
defaultResource,
1337+
resourceFromAttributes,
1338+
} = require('@opentelemetry/resources');
13271339
const {
13281340
ATTR_SERVICE_NAME,
13291341
ATTR_SERVICE_VERSION,
13301342
} = require('@opentelemetry/semantic-conventions');
13311343

1332-
const resource = Resource.default().merge(
1333-
new Resource({
1344+
const resource = defaultResource().merge(
1345+
resourceFromAttributes({
13341346
[ATTR_SERVICE_NAME]: 'service-name-here',
13351347
[ATTR_SERVICE_VERSION]: '0.1.0',
13361348
}),
@@ -1761,33 +1773,34 @@ with `http` by using `http*`.
17611773
Filter attributes on all metric types:
17621774

17631775
```js
1764-
const limitAttributesView = new View({
1776+
const limitAttributesView = {
17651777
// only export the attribute 'environment'
17661778
attributeKeys: ['environment'],
17671779
// apply the view to all instruments
17681780
instrumentName: '*',
1769-
});
1781+
};
17701782
```
17711783

17721784
Drop all instruments with the meter name `pubsub`:
17731785

17741786
```js
1775-
const dropView = new View({
1776-
aggregation: new DropAggregation(),
1787+
const dropView = {
1788+
aggregation: { type: AggrgationType.DROP },
17771789
meterName: 'pubsub',
1778-
});
1790+
};
17791791
```
17801792

17811793
Define explicit bucket sizes for the Histogram named `http.server.duration`:
17821794

17831795
```js
1784-
const histogramView = new View({
1785-
aggregation: new ExplicitBucketHistogramAggregation([
1786-
0, 1, 5, 10, 15, 20, 25, 30,
1787-
]),
1796+
const histogramView = {
1797+
aggregation: {
1798+
type: AggregationType.EXPLICIT_BUCKET_HISTOGRAM,
1799+
options: { boundaries: [0, 1, 5, 10, 15, 20, 25, 30] },
1800+
},
17881801
instrumentName: 'http.server.duration',
17891802
instrumentType: InstrumentType.HISTOGRAM,
1790-
});
1803+
};
17911804
```
17921805

17931806
#### Attach to meter provider

content/en/docs/languages/js/resources.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -91,12 +91,12 @@ configuration option, where you can set them. For example you can update the
9191

9292
```javascript
9393
...
94-
const { Resource } = require('@opentelemetry/resources');
94+
const { resourceFromAttributes } = require('@opentelemetry/resources');
9595
const { SEMRESATTRS_SERVICE_NAME, SEMRESATTRS_SERVICE_NAMESPACE, SEMRESATTRS_SERVICE_VERSION, SEMRESATTRS_SERVICE_INSTANCE_ID } = require('@opentelemetry/semantic-conventions');
9696
...
9797
const sdk = new opentelemetry.NodeSDK({
9898
...
99-
resource: new Resource({
99+
resource: resourceFromAttributes({
100100
[ SEMRESATTRS_SERVICE_NAME ]: "yourServiceName",
101101
[ SEMRESATTRS_SERVICE_NAMESPACE ]: "yourNameSpace",
102102
[ SEMRESATTRS_SERVICE_VERSION ]: "1.0",

content/en/docs/languages/js/serverless.md

+7-8
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@ service. Please make sure that you provide a `SERVICE_NAME` and that you set the
224224
```javascript
225225
/* otelwrapper.js */
226226
227-
const { Resource } = require('@opentelemetry/resources');
227+
const { resourceFromAttributes } = require('@opentelemetry/resources');
228228
const {
229229
SEMRESATTRS_SERVICE_NAME,
230230
} = require('@opentelemetry/semantic-conventions');
@@ -271,13 +271,12 @@ Add the following to your `package.json`:
271271
"@google-cloud/functions-framework": "^3.0.0",
272272
"@opentelemetry/api": "^1.9.0",
273273
"@opentelemetry/auto-instrumentations-node": "^0.56.1",
274-
"@opentelemetry/exporter-trace-otlp-http": "^0.57.2",
275-
"@opentelemetry/instrumentation": "^0.57.2",
276-
"@opentelemetry/sdk-node": "^0.57.2",
277-
"@opentelemetry/sdk-trace-base": "^1.30.1",
278-
"@opentelemetry/sdk-trace-node": "^1.30.1",
279-
"@opentelemetry/resources": "^1.30.1",
280-
"@opentelemetry/semantic-conventions": "^1.30.0"
274+
"@opentelemetry/exporter-trace-otlp-http": "^0.200.0",
275+
"@opentelemetry/instrumentation": "^0.200.0",
276+
"@opentelemetry/sdk-trace-base": "^2.0.0",
277+
"@opentelemetry/sdk-trace-node": "^2.0.0",
278+
"@opentelemetry/resources": "^2.0.0",
279+
"@opentelemetry/semantic-conventions": "^2.0.0"
281280
}
282281
}
283282
```

0 commit comments

Comments
 (0)