Skip to content

Commit 00a8ce7

Browse files
authored
Update to Proto v0.5.0 (#1588)
* chore: updating submodule for opentelemetry-proto * chore: necessary changes after upgrade to proto ver. 0.5.0, aligning metrics to latest spec changes * chore: removing examples from lerna bootstrap * chore: cleaning ups unused interfaces * chore: fixing unit test * chore: updating aggregation temporality rules * chore: updating temporality for value recorder * chore: removing unneeded lib * chore: span id and trace id as hex * chore: adding value recorder to example
1 parent 1c27690 commit 00a8ce7

File tree

27 files changed

+868
-1293
lines changed

27 files changed

+868
-1293
lines changed

examples/collector-exporter-node/docker/docker-compose.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ version: "3"
22
services:
33
# Collector
44
collector:
5-
image: otel/opentelemetry-collector:latest
6-
# image: otel/opentelemetry-collector:0.6.0
5+
image: otel/opentelemetry-collector:0.12.0
6+
# image: otel/opentelemetry-collector:latest
77
command: ["--config=/conf/collector-config.yaml", "--log-level=DEBUG"]
88
volumes:
99
- ./collector-config.yaml:/conf/collector-config.yaml

examples/collector-exporter-node/metrics.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,14 @@ const upDownCounter = meter.createUpDownCounter('test_up_down_counter', {
2525
description: 'Example of a UpDownCounter',
2626
});
2727

28+
const recorder = meter.createValueRecorder('test_value_recorder', {
29+
description: 'Example of a ValueRecorder',
30+
});
31+
2832
const labels = { pid: process.pid, environment: 'staging' };
2933

3034
setInterval(() => {
3135
requestCounter.bind(labels).add(1);
3236
upDownCounter.bind(labels).add(Math.random() > 0.5 ? 1 : -1);
37+
recorder.bind(labels).record(Math.random());
3338
}, 1000);

packages/opentelemetry-api/src/metrics/Metric.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,11 @@ export interface MetricOptions {
5959
* User provided logger.
6060
*/
6161
logger?: Logger;
62+
63+
/**
64+
* Boundaries optional for histogram
65+
*/
66+
boundaries?: number[];
6267
}
6368

6469
export interface BatchMetricOptions extends MetricOptions {

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

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,10 @@ import { CollectorMetricExporter } from '../src';
2727
import {
2828
mockCounter,
2929
mockObserver,
30-
mockHistogram,
3130
ensureExportedCounterIsCorrect,
3231
ensureExportedObserverIsCorrect,
3332
ensureMetadataIsCorrect,
3433
ensureResourceIsCorrect,
35-
ensureExportedHistogramIsCorrect,
3634
ensureExportedValueRecorderIsCorrect,
3735
mockValueRecorder,
3836
} from './helper';
@@ -117,7 +115,7 @@ const testCollectorMetricExporter = (params: TestParams) =>
117115
server.forceShutdown();
118116
});
119117

120-
beforeEach(done => {
118+
beforeEach(async () => {
121119
const credentials = params.useTLS
122120
? grpc.credentials.createSsl(
123121
fs.readFileSync('./test/certs/ca.crt'),
@@ -136,10 +134,9 @@ const testCollectorMetricExporter = (params: TestParams) =>
136134
value: 1592602232694000000,
137135
});
138136
metrics = [];
139-
metrics.push(mockCounter());
140-
metrics.push(mockObserver());
141-
metrics.push(mockHistogram());
142-
metrics.push(mockValueRecorder());
137+
metrics.push(await mockCounter());
138+
metrics.push(await mockObserver());
139+
metrics.push(await mockValueRecorder());
143140

144141
metrics[0].aggregator.update(1);
145142

@@ -148,8 +145,6 @@ const testCollectorMetricExporter = (params: TestParams) =>
148145

149146
metrics[2].aggregator.update(7);
150147
metrics[2].aggregator.update(14);
151-
metrics[3].aggregator.update(5);
152-
done();
153148
});
154149

155150
afterEach(() => {
@@ -189,15 +184,21 @@ const testCollectorMetricExporter = (params: TestParams) =>
189184
const counter =
190185
exportedData[0].instrumentationLibraryMetrics[0].metrics[0];
191186
const observer =
192-
exportedData[1].instrumentationLibraryMetrics[0].metrics[0];
193-
const histogram =
194-
exportedData[2].instrumentationLibraryMetrics[0].metrics[0];
187+
exportedData[0].instrumentationLibraryMetrics[0].metrics[1];
195188
const recorder =
196-
exportedData[3].instrumentationLibraryMetrics[0].metrics[0];
197-
ensureExportedCounterIsCorrect(counter);
198-
ensureExportedObserverIsCorrect(observer);
199-
ensureExportedHistogramIsCorrect(histogram);
200-
ensureExportedValueRecorderIsCorrect(recorder);
189+
exportedData[0].instrumentationLibraryMetrics[0].metrics[2];
190+
ensureExportedCounterIsCorrect(
191+
counter,
192+
counter.intSum?.dataPoints[0].timeUnixNano
193+
);
194+
ensureExportedObserverIsCorrect(
195+
observer,
196+
observer.doubleGauge?.dataPoints[0].timeUnixNano
197+
);
198+
ensureExportedValueRecorderIsCorrect(
199+
recorder,
200+
recorder.intHistogram?.dataPoints[0].timeUnixNano
201+
);
201202
assert.ok(
202203
typeof resource !== 'undefined',
203204
"resource doesn't exist"

0 commit comments

Comments
 (0)