Skip to content
This repository was archived by the owner on Oct 31, 2024. It is now read-only.

Commit 67eb37b

Browse files
seemkmottibec
andauthored
chore: upgrade instrumentations to otel 1.13.0/0.39.1 (#262)
* feat: upgrade instrumentations to otel 1.13.0/0.39.1 * fix: ReadableSpan conversion * chore: prettier * fix dep * chore: prettier --------- Co-authored-by: Motti Bechhofer <mybechhofer@gmail.com>
1 parent c539814 commit 67eb37b

File tree

10 files changed

+56
-41
lines changed

10 files changed

+56
-41
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ The instrumentations in this repo are:
2929
- strictly complies with [open telemetry semantic conventions](https://github.com/open-telemetry/opentelemetry-specification/tree/main/specification/trace/semantic_conventions)
3030
- up to date with latest SDK version
3131

32-
**Compatible with [SDK stable ^1.8.0](https://github.com/open-telemetry/opentelemetry-js/tree/stable/v1.8.0) and [SDK experimental ^0.35.0](https://github.com/open-telemetry/opentelemetry-js/tree/experimental/v0.35.0)**
32+
**Compatible with [SDK stable ^1.13.0](https://github.com/open-telemetry/opentelemetry-js/tree/v1.13.0) and [SDK experimental ^0.39.1](https://github.com/open-telemetry/opentelemetry-js/tree/experimental/v0.39.1)**
3333
## Instrumentations
3434
| Instrumentation Package | Instrumented Lib | NPM |
3535
|---------------------------------------------------------------------------------------|----------------------------------------------------------------------------------| --- |

packages/instrumentation-elasticsearch/package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,14 +45,14 @@
4545
"@opentelemetry/api": "^1.3.0"
4646
},
4747
"dependencies": {
48-
"@opentelemetry/core": "^1.8.0",
49-
"@opentelemetry/instrumentation": "^0.35.1",
50-
"@opentelemetry/semantic-conventions": "^1.8.0"
48+
"@opentelemetry/core": "^1.13.0",
49+
"@opentelemetry/instrumentation": "^0.41.0",
50+
"@opentelemetry/semantic-conventions": "^1.13.0"
5151
},
5252
"devDependencies": {
5353
"@elastic/elasticsearch": "^7.8.0",
5454
"@opentelemetry/api": "^1.3.0",
55-
"@opentelemetry/contrib-test-utils": "^0.33.1",
55+
"@opentelemetry/contrib-test-utils": "^0.34.0",
5656
"@types/chai": "^4.2.15",
5757
"@types/mocha": "^8.2.2",
5858
"chai": "^4.3.0",

packages/instrumentation-express/package.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,17 +35,17 @@
3535
"@opentelemetry/api": "^1.3.0"
3636
},
3737
"dependencies": {
38-
"@opentelemetry/core": "^1.8.0",
39-
"@opentelemetry/instrumentation": "^0.35.1",
40-
"@opentelemetry/semantic-conventions": "^1.8.0",
38+
"@opentelemetry/core": "^1.13.0",
39+
"@opentelemetry/instrumentation": "^0.41.0",
40+
"@opentelemetry/semantic-conventions": "^1.13.0",
4141
"parseurl": "~1.3.3",
4242
"path-to-regexp": "0.1.7"
4343
},
4444
"devDependencies": {
4545
"@opentelemetry/api": "^1.3.0",
46-
"@opentelemetry/contrib-test-utils": "^0.33.1",
47-
"@opentelemetry/instrumentation-http": "^0.35.1",
48-
"@opentelemetry/sdk-trace-base": "1.8.0",
46+
"@opentelemetry/contrib-test-utils": "^0.34.0",
47+
"@opentelemetry/instrumentation-http": "^0.39.1",
48+
"@opentelemetry/sdk-trace-base": "^1.8.0",
4949
"@types/express": "4.17.8",
5050
"@types/mocha": "^8.2.2",
5151
"axios": "0.21.1",

packages/instrumentation-kafkajs/package.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,16 +38,16 @@
3838
"@opentelemetry/api": "^1.3.0"
3939
},
4040
"dependencies": {
41-
"@opentelemetry/instrumentation": "^0.35.1",
42-
"@opentelemetry/semantic-conventions": "^1.8.0"
41+
"@opentelemetry/instrumentation": "^0.41.0",
42+
"@opentelemetry/semantic-conventions": "^1.13.0"
4343
},
4444
"devDependencies": {
4545
"@opentelemetry/api": "^1.3.0",
46-
"@opentelemetry/contrib-test-utils": "^0.33.1",
47-
"@opentelemetry/sdk-trace-base": "1.8.0",
46+
"@opentelemetry/contrib-test-utils": "^0.34.0",
47+
"@opentelemetry/sdk-trace-base": "^1.8.0",
4848
"@types/mocha": "^8.2.2",
4949
"expect": "^26.6.2",
50-
"kafkajs": "^1.12.0",
50+
"kafkajs": "^1.16.0",
5151
"mocha": "^8.4.0",
5252
"opentelemetry-instrumentation-mocha": "0.0.1-rc.7",
5353
"ts-node": "^9.1.1",

packages/instrumentation-neo4j/package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,13 @@
4444
"@opentelemetry/api": "^1.3.0"
4545
},
4646
"dependencies": {
47-
"@opentelemetry/instrumentation": "^0.35.1",
48-
"@opentelemetry/semantic-conventions": "^1.8.0"
47+
"@opentelemetry/instrumentation": "^0.41.0",
48+
"@opentelemetry/semantic-conventions": "^1.13.0"
4949
},
5050
"devDependencies": {
5151
"@opentelemetry/api": "^1.3.0",
52-
"@opentelemetry/contrib-test-utils": "^0.33.1",
53-
"@opentelemetry/sdk-trace-base": "1.8.0",
52+
"@opentelemetry/contrib-test-utils": "^0.34.0",
53+
"@opentelemetry/sdk-trace-base": "^1.8.0",
5454
"@types/mocha": "^8.2.2",
5555
"expect": "^26.6.2",
5656
"mocha": "^8.4.0",

packages/instrumentation-node-cache/package.json

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,14 +42,15 @@
4242
"@opentelemetry/api": "^1.3.0"
4343
},
4444
"dependencies": {
45-
"@opentelemetry/core": "^1.8.0",
46-
"@opentelemetry/instrumentation": "^0.35.1",
47-
"@opentelemetry/semantic-conventions": "^1.8.0"
45+
"@opentelemetry/contrib-test-utils": "^0.34.0",
46+
"@opentelemetry/core": "^1.13.0",
47+
"@opentelemetry/instrumentation": "^0.41.0",
48+
"@opentelemetry/semantic-conventions": "^1.13.0"
4849
},
4950
"devDependencies": {
5051
"@opentelemetry/api": "^1.3.0",
51-
"@opentelemetry/contrib-test-utils": "^0.33.1",
52-
"@opentelemetry/sdk-trace-base": "1.8.0",
52+
"@opentelemetry/contrib-test-utils": "^0.34.0",
53+
"@opentelemetry/sdk-trace-base": "^1.8.0",
5354
"@types/mocha": "^8.2.2",
5455
"expect": "^26.6.2",
5556
"mocha": "^8.4.0",

packages/instrumentation-sequelize/package.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,14 +42,14 @@
4242
"@opentelemetry/api": "^1.3.0"
4343
},
4444
"dependencies": {
45-
"@opentelemetry/core": "^1.8.0",
46-
"@opentelemetry/instrumentation": "^0.35.1",
47-
"@opentelemetry/semantic-conventions": "^1.8.0"
45+
"@opentelemetry/core": "^1.13.0",
46+
"@opentelemetry/instrumentation": "^0.41.0",
47+
"@opentelemetry/semantic-conventions": "^1.14.0"
4848
},
4949
"devDependencies": {
5050
"@opentelemetry/api": "^1.3.0",
51-
"@opentelemetry/contrib-test-utils": "^0.33.1",
52-
"@opentelemetry/sdk-trace-base": "1.8.0",
51+
"@opentelemetry/contrib-test-utils": "^0.34.0",
52+
"@opentelemetry/sdk-trace-base": "^1.8.0",
5353
"@types/mocha": "^8.2.2",
5454
"expect": "^26.6.2",
5555
"mocha": "^8.4.0",

packages/instrumentation-typeorm/package.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,15 +38,15 @@
3838
"@opentelemetry/api": "^1.3.0"
3939
},
4040
"dependencies": {
41-
"@opentelemetry/core": "^1.8.0",
42-
"@opentelemetry/instrumentation": "^0.35.1",
43-
"@opentelemetry/semantic-conventions": "^1.8.0",
41+
"@opentelemetry/core": "^1.13.0",
42+
"@opentelemetry/instrumentation": "^0.41.0",
43+
"@opentelemetry/semantic-conventions": "^1.13.0",
4444
"is-promise": "^4.0.0"
4545
},
4646
"devDependencies": {
4747
"@opentelemetry/api": "^1.3.0",
48-
"@opentelemetry/contrib-test-utils": "^0.33.1",
49-
"@opentelemetry/sdk-trace-base": "1.8.0",
48+
"@opentelemetry/contrib-test-utils": "^0.34.0",
49+
"@opentelemetry/sdk-trace-base": "^1.8.0",
5050
"@types/mocha": "^8.2.2",
5151
"expect": "^26.6.2",
5252
"mocha": "^8.4.0",

packages/span-transformations/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@
2525
},
2626
"dependencies": {
2727
"@opentelemetry/api": "^1.0.0",
28-
"@opentelemetry/core": "^1.0.0",
29-
"@opentelemetry/sdk-trace-base": "^1.0.0"
28+
"@opentelemetry/core": "^1.13.0",
29+
"@opentelemetry/sdk-trace-base": "^1.8.0"
3030
},
3131
"devDependencies": {
3232
"@types/mocha": "^8.2.2",

packages/span-transformations/src/jaeger.ts

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,29 @@
1-
import { SpanAttributes, SpanKind, SpanStatusCode } from '@opentelemetry/api';
1+
import { Attributes, SpanKind, SpanStatusCode } from '@opentelemetry/api';
22
import { timeInputToHrTime } from '@opentelemetry/core';
33
import { ReadableSpan } from '@opentelemetry/sdk-trace-base';
44
import { Resource } from '@opentelemetry/resources';
55
import { JaegerSpan, JaegerTag } from './interfaces/jaeger';
66

77
const getJaegerValueForTag = (jaegerTagKey: string, tags: JaegerTag[]) =>
88
tags.find(({ key }) => jaegerTagKey === key)?.value;
9-
const convertJaegerTagsToAttributes = (tags): SpanAttributes => {
10-
const spanAttributes: SpanAttributes = {};
9+
const convertJaegerTagsToAttributes = (tags): Attributes => {
10+
const spanAttributes: Attributes = {};
1111
tags.forEach(({ key, value }) => {
1212
spanAttributes[key] = value;
1313
});
1414
return spanAttributes;
1515
};
1616

17+
const getNumberValue = (attributes: Attributes, key: string): number | undefined => {
18+
const value = attributes[key];
19+
20+
if (typeof value === 'number') {
21+
return value;
22+
}
23+
24+
return undefined;
25+
};
26+
1727
const getOtelKindFromJaegerKind = (jaegerKind: string) => {
1828
switch (jaegerKind) {
1929
case 'client':
@@ -47,11 +57,12 @@ export const convertJaegerSpanToOtelReadableSpan = (jaegerSpan: JaegerSpan): Rea
4757
const durationMillis = jaegerSpan.duration / 1000;
4858
const startDateMillis = jaegerSpan.startTime / 1000;
4959
const endDateMillis = timeInputToHrTime(new Date(startDateMillis + durationMillis));
60+
const attributes = convertJaegerTagsToAttributes(jaegerSpan.tags);
5061

5162
return {
5263
name: jaegerSpan.operationName,
5364
kind: getOtelKindFromJaegerKind(getJaegerValueForTag('span.kind', jaegerSpan.tags)),
54-
attributes: convertJaegerTagsToAttributes(jaegerSpan.tags),
65+
attributes,
5566
parentSpanId: getParentSpanID(jaegerSpan),
5667
duration: timeInputToHrTime(durationMillis),
5768
startTime: timeInputToHrTime(startDateMillis),
@@ -74,5 +85,8 @@ export const convertJaegerSpanToOtelReadableSpan = (jaegerSpan: JaegerSpan): Rea
7485
resource: new Resource({
7586
'service.name': getJaegerValueForTag('service.name', jaegerSpan.tags),
7687
}),
88+
droppedAttributesCount: getNumberValue(attributes, 'otel.dropped_attributes_count') || 0,
89+
droppedEventsCount: getNumberValue(attributes, 'otel.dropped_events_count') || 0,
90+
droppedLinksCount: getNumberValue(attributes, 'otel.dropped_links_count') || 0,
7791
};
7892
};

0 commit comments

Comments
 (0)