Skip to content

Commit fae8be2

Browse files
authored
Merge branch 'main' into issue-4248
2 parents 42bb776 + cd232cd commit fae8be2

File tree

71 files changed

+725
-692
lines changed

Some content is hidden

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

71 files changed

+725
-692
lines changed

CHANGELOG.md

+2
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ For experimental package changes, see the [experimental CHANGELOG](experimental/
1515

1616
### :bug: (Bug Fix)
1717

18+
* fix(core): remove re-export of `version.ts` [#4225](https://github.com/open-telemetry/opentelemetry-js/pull/4225) @david-luna
19+
1820
### :books: (Refine Doc)
1921

2022
### :house: (Internal)

api/package.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,10 @@
6161
"access": "public"
6262
},
6363
"devDependencies": {
64-
"@types/mocha": "10.0.2",
64+
"@types/mocha": "10.0.3",
6565
"@types/node": "18.6.5",
66-
"@types/sinon": "10.0.19",
67-
"@types/webpack": "4.41.34",
66+
"@types/sinon": "10.0.20",
67+
"@types/webpack": "4.41.35",
6868
"@types/webpack-env": "1.16.3",
6969
"codecov": "3.8.3",
7070
"cross-var": "1.1.0",

experimental/CHANGELOG.md

+3
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ All notable changes to experimental packages in this project will be documented
1313
* fix(sdk-node): remove the explicit dependency on @opentelemetry/exporter-jaeger that was kept on the previous release
1414
* '@opentelemetry/exporter-jaeger' is no longer be a dependency of this package. To continue using '@opentelemetry/exporter-jaeger', please install it manually.
1515
* NOTE: `@opentelemetry/exporter-jaeger` is deprecated, consider switching to one of the alternatives described [here](https://www.npmjs.com/package/@opentelemetry/exporter-jaeger)
16+
* fix(otlp-transformer): OTLP json encoding [#4220](https://github.com/open-telemetry/opentelemetry-js/pull/4220) @seemk
17+
* Fixes a bug in the OTLP (http/json) exporters where timestamps were not encoded as strings, causing the export to
18+
be rejected by OTLP endpoints
1619

1720
### :books: (Refine Doc)
1821

experimental/packages/api-events/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@
6464
"@opentelemetry/api": "^1.0.0"
6565
},
6666
"devDependencies": {
67-
"@types/mocha": "10.0.2",
67+
"@types/mocha": "10.0.3",
6868
"@types/node": "18.6.5",
6969
"@types/webpack-env": "1.16.3",
7070
"babel-plugin-istanbul": "6.1.1",

experimental/packages/api-logs/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@
6464
"@opentelemetry/api": "^1.0.0"
6565
},
6666
"devDependencies": {
67-
"@types/mocha": "10.0.2",
67+
"@types/mocha": "10.0.3",
6868
"@types/node": "18.6.5",
6969
"@types/webpack-env": "1.16.3",
7070
"babel-plugin-istanbul": "6.1.1",

experimental/packages/exporter-logs-otlp-grpc/package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,9 @@
5454
"@opentelemetry/api-logs": "0.44.0",
5555
"@opentelemetry/otlp-exporter-base": "0.44.0",
5656
"@opentelemetry/resources": "1.17.1",
57-
"@types/mocha": "10.0.2",
57+
"@types/mocha": "10.0.3",
5858
"@types/node": "18.6.5",
59-
"@types/sinon": "10.0.19",
59+
"@types/sinon": "10.0.20",
6060
"codecov": "3.8.3",
6161
"cpx": "1.5.0",
6262
"cross-var": "1.1.0",

experimental/packages/exporter-logs-otlp-http/package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -74,9 +74,9 @@
7474
"@babel/core": "7.22.20",
7575
"@opentelemetry/api": "1.6.0",
7676
"@opentelemetry/resources": "1.17.1",
77-
"@types/mocha": "10.0.2",
77+
"@types/mocha": "10.0.3",
7878
"@types/node": "18.6.5",
79-
"@types/sinon": "10.0.19",
79+
"@types/sinon": "10.0.20",
8080
"@types/webpack-env": "1.16.3",
8181
"babel-loader": "8.3.0",
8282
"babel-plugin-istanbul": "6.1.1",

experimental/packages/exporter-logs-otlp-http/src/platform/browser/OTLPLogExporter.ts

+4-1
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,10 @@ export class OTLPLogExporter
4848
}
4949

5050
convert(logRecords: ReadableLogRecord[]): IExportLogsServiceRequest {
51-
return createExportLogsServiceRequest(logRecords, true);
51+
return createExportLogsServiceRequest(logRecords, {
52+
useHex: true,
53+
useLongBits: false,
54+
});
5255
}
5356

5457
getDefaultUrl(config: OTLPExporterConfigBase): string {

experimental/packages/exporter-logs-otlp-http/src/platform/node/OTLPLogExporter.ts

+4-1
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,10 @@ export class OTLPLogExporter
4848
}
4949

5050
convert(logRecords: ReadableLogRecord[]): IExportLogsServiceRequest {
51-
return createExportLogsServiceRequest(logRecords, true);
51+
return createExportLogsServiceRequest(logRecords, {
52+
useHex: true,
53+
useLongBits: false,
54+
});
5255
}
5356

5457
getDefaultUrl(config: OTLPExporterNodeConfigBase): string {

experimental/packages/exporter-logs-otlp-http/test/logHelper.ts

+2-8
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ import { Resource } from '@opentelemetry/resources';
2020
import * as assert from 'assert';
2121
import { VERSION } from '@opentelemetry/core';
2222
import {
23-
hrTimeToFixed64Nanos,
2423
IAnyValue,
2524
IExportLogsServiceRequest,
2625
IKeyValue,
@@ -77,22 +76,17 @@ export function ensureExportedBodyIsCorrect(body?: IAnyValue) {
7776
);
7877
}
7978

80-
function hrTimeToFixed64(hrTime: HrTime) {
81-
const { low, high } = hrTimeToFixed64Nanos(hrTime);
82-
return { low, high };
83-
}
84-
8579
export function ensureExportedLogRecordIsCorrect(logRecord: ILogRecord) {
8680
ensureExportedBodyIsCorrect(logRecord.body);
8781
ensureExportedAttributesAreCorrect(logRecord.attributes);
8882
assert.deepStrictEqual(
8983
logRecord.timeUnixNano,
90-
hrTimeToFixed64(mockedReadableLogRecord.hrTime),
84+
'1680253513123241635',
9185
'timeUnixNano is wrong'
9286
);
9387
assert.deepStrictEqual(
9488
logRecord.observedTimeUnixNano,
95-
hrTimeToFixed64(mockedReadableLogRecord.hrTimeObserved),
89+
'1680253513123241635',
9690
'observedTimeUnixNano is wrong'
9791
);
9892
assert.strictEqual(

experimental/packages/exporter-logs-otlp-proto/package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,9 @@
6565
"devDependencies": {
6666
"@babel/core": "7.22.20",
6767
"@opentelemetry/api": "1.6.0",
68-
"@types/mocha": "10.0.2",
68+
"@types/mocha": "10.0.3",
6969
"@types/node": "18.6.5",
70-
"@types/sinon": "10.0.19",
70+
"@types/sinon": "10.0.20",
7171
"babel-plugin-istanbul": "6.1.1",
7272
"codecov": "3.8.3",
7373
"cpx": "1.5.0",

experimental/packages/exporter-trace-otlp-grpc/package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,9 @@
5151
"@grpc/proto-loader": "^0.7.10",
5252
"@opentelemetry/api": "1.6.0",
5353
"@opentelemetry/otlp-exporter-base": "0.44.0",
54-
"@types/mocha": "10.0.2",
54+
"@types/mocha": "10.0.3",
5555
"@types/node": "18.6.5",
56-
"@types/sinon": "10.0.19",
56+
"@types/sinon": "10.0.20",
5757
"codecov": "3.8.3",
5858
"cpx": "1.5.0",
5959
"cross-var": "1.1.0",

experimental/packages/exporter-trace-otlp-http/package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,9 @@
6565
"devDependencies": {
6666
"@babel/core": "7.22.20",
6767
"@opentelemetry/api": "1.6.0",
68-
"@types/mocha": "10.0.2",
68+
"@types/mocha": "10.0.3",
6969
"@types/node": "18.6.5",
70-
"@types/sinon": "10.0.19",
70+
"@types/sinon": "10.0.20",
7171
"@types/webpack-env": "1.16.3",
7272
"babel-loader": "8.3.0",
7373
"babel-plugin-istanbul": "6.1.1",

experimental/packages/exporter-trace-otlp-http/src/platform/browser/OTLPTraceExporter.ts

+4-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,10 @@ export class OTLPTraceExporter
4747
);
4848
}
4949
convert(spans: ReadableSpan[]): IExportTraceServiceRequest {
50-
return createExportTraceServiceRequest(spans, true);
50+
return createExportTraceServiceRequest(spans, {
51+
useHex: true,
52+
useLongBits: false,
53+
});
5154
}
5255

5356
getDefaultUrl(config: OTLPExporterConfigBase): string {

experimental/packages/exporter-trace-otlp-http/src/platform/node/OTLPTraceExporter.ts

+4-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,10 @@ export class OTLPTraceExporter
5353
}
5454

5555
convert(spans: ReadableSpan[]): IExportTraceServiceRequest {
56-
return createExportTraceServiceRequest(spans, true);
56+
return createExportTraceServiceRequest(spans, {
57+
useHex: true,
58+
useLongBits: false,
59+
});
5760
}
5861

5962
getDefaultUrl(config: OTLPExporterNodeConfigBase): string {

experimental/packages/exporter-trace-otlp-http/test/traceHelper.ts

+10-16
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ import {
3131
ILink,
3232
IResource,
3333
ISpan,
34-
UnsignedLong,
3534
} from '@opentelemetry/otlp-transformer';
3635

3736
if (typeof Buffer === 'undefined') {
@@ -244,59 +243,54 @@ export const multiInstrumentationLibraryTrace: ReadableSpan[] = [
244243
},
245244
];
246245

247-
function fixed64FromString(str: string) {
248-
const { low, high } = UnsignedLong.fromString(str);
249-
return { low, high };
250-
}
251-
252246
export function ensureEventsAreCorrect(events: IEvent[]) {
253247
assert.deepStrictEqual(
254248
events,
255249
[
256250
{
257-
timeUnixNano: fixed64FromString('1574120165429803070'),
251+
timeUnixNano: '1574120165429803070',
258252
name: 'fetchStart',
259253
attributes: [],
260254
droppedAttributesCount: 0,
261255
},
262256
{
263-
timeUnixNano: fixed64FromString('1574120165429803070'),
257+
timeUnixNano: '1574120165429803070',
264258
name: 'domainLookupStart',
265259
attributes: [],
266260
droppedAttributesCount: 0,
267261
},
268262
{
269-
timeUnixNano: fixed64FromString('1574120165429803070'),
263+
timeUnixNano: '1574120165429803070',
270264
name: 'domainLookupEnd',
271265
attributes: [],
272266
droppedAttributesCount: 0,
273267
},
274268
{
275-
timeUnixNano: fixed64FromString('1574120165429803070'),
269+
timeUnixNano: '1574120165429803070',
276270
name: 'connectStart',
277271
attributes: [],
278272
droppedAttributesCount: 0,
279273
},
280274
{
281-
timeUnixNano: fixed64FromString('1574120165429803070'),
275+
timeUnixNano: '1574120165429803070',
282276
name: 'connectEnd',
283277
attributes: [],
284278
droppedAttributesCount: 0,
285279
},
286280
{
287-
timeUnixNano: fixed64FromString('1574120165435513070'),
281+
timeUnixNano: '1574120165435513070',
288282
name: 'requestStart',
289283
attributes: [],
290284
droppedAttributesCount: 0,
291285
},
292286
{
293-
timeUnixNano: fixed64FromString('1574120165436923070'),
287+
timeUnixNano: '1574120165436923070',
294288
name: 'responseStart',
295289
attributes: [],
296290
droppedAttributesCount: 0,
297291
},
298292
{
299-
timeUnixNano: fixed64FromString('1574120165438688070'),
293+
timeUnixNano: '1574120165438688070',
300294
name: 'responseEnd',
301295
attributes: [],
302296
droppedAttributesCount: 0,
@@ -372,12 +366,12 @@ export function ensureSpanIsCorrect(span: ISpan, useHex = true) {
372366
assert.strictEqual(span.kind, ESpanKind.SPAN_KIND_INTERNAL, 'kind is wrong');
373367
assert.deepStrictEqual(
374368
span.startTimeUnixNano,
375-
fixed64FromString('1574120165429803070'),
369+
'1574120165429803070',
376370
'startTimeUnixNano is wrong'
377371
);
378372
assert.deepStrictEqual(
379373
span.endTimeUnixNano,
380-
fixed64FromString('1574120165438688070'),
374+
'1574120165438688070',
381375
'endTimeUnixNano is wrong'
382376
);
383377
assert.strictEqual(

experimental/packages/exporter-trace-otlp-proto/package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,9 @@
6464
"devDependencies": {
6565
"@babel/core": "7.22.20",
6666
"@opentelemetry/api": "1.6.0",
67-
"@types/mocha": "10.0.2",
67+
"@types/mocha": "10.0.3",
6868
"@types/node": "18.6.5",
69-
"@types/sinon": "10.0.19",
69+
"@types/sinon": "10.0.20",
7070
"babel-plugin-istanbul": "6.1.1",
7171
"codecov": "3.8.3",
7272
"cpx": "1.5.0",

experimental/packages/opentelemetry-browser-detector/package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,9 @@
5555
"devDependencies": {
5656
"@babel/core": "7.22.20",
5757
"@opentelemetry/api": "1.6.0",
58-
"@types/mocha": "10.0.2",
58+
"@types/mocha": "10.0.3",
5959
"@types/node": "18.6.5",
60-
"@types/sinon": "10.0.19",
60+
"@types/sinon": "10.0.20",
6161
"babel-plugin-istanbul": "6.1.1",
6262
"codecov": "3.8.3",
6363
"cross-var": "1.1.0",

experimental/packages/opentelemetry-exporter-metrics-otlp-grpc/package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,9 @@
5050
"@babel/core": "7.22.20",
5151
"@grpc/proto-loader": "^0.7.10",
5252
"@opentelemetry/api": "1.6.0",
53-
"@types/mocha": "10.0.2",
53+
"@types/mocha": "10.0.3",
5454
"@types/node": "18.6.5",
55-
"@types/sinon": "10.0.19",
55+
"@types/sinon": "10.0.20",
5656
"codecov": "3.8.3",
5757
"cpx": "1.5.0",
5858
"cross-var": "1.1.0",

experimental/packages/opentelemetry-exporter-metrics-otlp-grpc/test/metricsHelper.ts

+7-26
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,10 @@ import {
3333
View,
3434
} from '@opentelemetry/sdk-metrics';
3535
import {
36-
hrTimeToFixed64Nanos,
36+
encodeAsString,
3737
IKeyValue,
3838
IMetric,
3939
IResource,
40-
UnsignedLong,
4140
} from '@opentelemetry/otlp-transformer';
4241

4342
class TestMetricReader extends MetricReader {
@@ -152,14 +151,8 @@ export function ensureExportedCounterIsCorrect(
152151
assert.strictEqual(dp.asInt, '1');
153152
assert.strictEqual(dp.flags, 0);
154153

155-
assert.deepStrictEqual(
156-
UnsignedLong.fromString(dp.startTimeUnixNano as string),
157-
hrTimeToFixed64Nanos(startTime)
158-
);
159-
assert.deepStrictEqual(
160-
UnsignedLong.fromString(dp.timeUnixNano as string),
161-
hrTimeToFixed64Nanos(time)
162-
);
154+
assert.deepStrictEqual(dp.startTimeUnixNano, encodeAsString(startTime));
155+
assert.deepStrictEqual(dp.timeUnixNano as string, encodeAsString(time));
163156
}
164157

165158
export function ensureExportedObservableGaugeIsCorrect(
@@ -179,14 +172,8 @@ export function ensureExportedObservableGaugeIsCorrect(
179172
assert.strictEqual(dp.asDouble, 6);
180173
assert.strictEqual(dp.flags, 0);
181174

182-
assert.deepStrictEqual(
183-
UnsignedLong.fromString(dp.startTimeUnixNano as string),
184-
hrTimeToFixed64Nanos(startTime)
185-
);
186-
assert.deepStrictEqual(
187-
UnsignedLong.fromString(dp.timeUnixNano as string),
188-
hrTimeToFixed64Nanos(time)
189-
);
175+
assert.deepStrictEqual(dp.startTimeUnixNano, encodeAsString(startTime));
176+
assert.deepStrictEqual(dp.timeUnixNano, encodeAsString(time));
190177
}
191178

192179
export function ensureExportedHistogramIsCorrect(
@@ -215,14 +202,8 @@ export function ensureExportedHistogramIsCorrect(
215202
assert.strictEqual(dp.min, 7);
216203
assert.strictEqual(dp.max, 14);
217204

218-
assert.deepStrictEqual(
219-
UnsignedLong.fromString(dp.startTimeUnixNano as string),
220-
hrTimeToFixed64Nanos(startTime)
221-
);
222-
assert.deepStrictEqual(
223-
UnsignedLong.fromString(dp.timeUnixNano as string),
224-
hrTimeToFixed64Nanos(time)
225-
);
205+
assert.deepStrictEqual(dp.startTimeUnixNano, encodeAsString(startTime));
206+
assert.deepStrictEqual(dp.timeUnixNano, encodeAsString(time));
226207
assert.deepStrictEqual(dp.bucketCounts, bucketCounts);
227208
assert.deepStrictEqual(dp.explicitBounds, explicitBounds);
228209
}

experimental/packages/opentelemetry-exporter-metrics-otlp-http/package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,9 @@
6565
"devDependencies": {
6666
"@babel/core": "7.22.20",
6767
"@opentelemetry/api": "1.6.0",
68-
"@types/mocha": "10.0.2",
68+
"@types/mocha": "10.0.3",
6969
"@types/node": "18.6.5",
70-
"@types/sinon": "10.0.19",
70+
"@types/sinon": "10.0.20",
7171
"@types/webpack-env": "1.16.3",
7272
"babel-loader": "8.3.0",
7373
"babel-plugin-istanbul": "6.1.1",

0 commit comments

Comments
 (0)