doc: migrate away from defunct `addMetricReader` in examples (#5349)

This commit is contained in:
Godfrey Chan 2025-01-24 01:09:31 -08:00 committed by GitHub
parent 0ae25f191e
commit f927e82b1d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
11 changed files with 94 additions and 75 deletions

View File

@ -504,8 +504,9 @@ const options = { port: 9464 };
const exporter = new PrometheusExporter(options);
// Creates MeterProvider and installs the exporter as a MetricReader
const meterProvider = new MeterProvider();
meterProvider.addMetricReader(exporter);
const meterProvider = new MeterProvider({
readers: [exporter],
});
const meter = meterProvider.getMeter('example-prometheus');
// Now, start recording data
@ -541,12 +542,14 @@ const collectorOptions = {
concurrencyLimit: 1, // an optional limit on pending requests
};
const exporter = new OTLPMetricExporter(collectorOptions);
const meterProvider = new MeterProvider({});
meterProvider.addMetricReader(new PeriodicExportingMetricReader({
exporter: metricExporter,
exportIntervalMillis: 1000,
}));
const meterProvider = new MeterProvider({
readers: [
new PeriodicExportingMetricReader({
exporter,
exportIntervalMillis: 1000,
}),
],
});
// Now, start recording data
const meter = meterProvider.getMeter('example-meter');

View File

@ -18,14 +18,16 @@ function stopMetrics() {
function startMetrics() {
console.log('STARTING METRICS');
const meterProvider = new MeterProvider();
const meterProvider = new MeterProvider({
readers: [
new PeriodicExportingMetricReader({
exporter: new OTLPMetricExporter(),
exportIntervalMillis: 1000
}),
],
});
metrics.setGlobalMeterProvider(meterProvider);
meterProvider.addMetricReader(new PeriodicExportingMetricReader({
exporter: new OTLPMetricExporter(),
exportIntervalMillis: 1000
}));
meter = meterProvider.getMeter('example-exporter-collector')
const requestCounter = meter.createCounter('requests', {

View File

@ -39,16 +39,15 @@ const meterProvider = new MeterProvider({
[SEMRESATTRS_SERVICE_NAME]: 'basic-metric-service',
}),
views: [expHistogramView],
readers: [
new PeriodicExportingMetricReader({
exporter: metricExporter,
// exporter: new ConsoleMetricExporter(),
exportIntervalMillis: 1000,
}),
],
});
meterProvider.addMetricReader(
new PeriodicExportingMetricReader({
exporter: metricExporter,
// exporter: new ConsoleMetricExporter(),
exportIntervalMillis: 1000,
})
);
const meter = meterProvider.getMeter('example-exporter-collector');
const requestCounter = meter.createCounter('requests', {

View File

@ -53,22 +53,24 @@ module.exports = function setup(serviceName) {
spanProcessors: [
new BatchSpanProcessor(new OTLPTraceExporter(), {
scheduledDelayMillis: 5000,
})
]
}),
],
});
tracerProvider.register();
const meterProvider = new MeterProvider({ resource });
meterProvider.addMetricReader(
new PrometheusExporter({
metricProducers: [
new OpenCensusMetricProducer({
openCensusMetricProducerManager:
oc.Metrics.getMetricProducerManager(),
}),
],
})
);
const meterProvider = new MeterProvider({
resource,
readers: [
new PrometheusExporter({
metricProducers: [
new OpenCensusMetricProducer({
openCensusMetricProducerManager:
oc.Metrics.getMetricProducerManager(),
}),
],
}),
],
});
metrics.setGlobalMeterProvider(meterProvider);
// Start OpenCensus tracing

View File

@ -16,8 +16,9 @@ const exporter = new PrometheusExporter({}, () => {
});
// Creates MeterProvider and installs the exporter as a MetricReader
const meterProvider = new MeterProvider();
meterProvider.addMetricReader(exporter);
const meterProvider = new MeterProvider({
readers: [exporter],
});
const meter = meterProvider.getMeter('example-prometheus');
// Creates metric instruments

View File

@ -36,12 +36,14 @@ const collectorOptions = {
};
const metricExporter = new OTLPMetricExporter(collectorOptions);
const meterProvider = new MeterProvider({});
meterProvider.addMetricReader(new PeriodicExportingMetricReader({
exporter: metricExporter,
exportIntervalMillis: 1000,
}));
const meterProvider = new MeterProvider({
readers: [
new PeriodicExportingMetricReader({
exporter: metricExporter,
exportIntervalMillis: 1000,
}),
],
});
['SIGINT', 'SIGTERM'].forEach(signal => {
process.on(signal, () => meterProvider.shutdown().catch(console.error));

View File

@ -35,12 +35,14 @@ const collectorOptions = {
concurrencyLimit: 1, // an optional limit on pending requests
};
const metricExporter = new OTLPMetricExporter(collectorOptions);
const meterProvider = new MeterProvider({});
meterProvider.addMetricReader(new PeriodicExportingMetricReader({
exporter: metricExporter,
exportIntervalMillis: 1000,
}));
const meterProvider = new MeterProvider({
readers: [
new PeriodicExportingMetricReader({
exporter: metricExporter,
exportIntervalMillis: 1000,
}),
],
});
// Now, start recording data
const meter = meterProvider.getMeter('example-meter');
@ -58,12 +60,14 @@ const collectorOptions = {
concurrencyLimit: 1, // an optional limit on pending requests
};
const metricExporter = new OTLPMetricExporter(collectorOptions);
const meterProvider = new MeterProvider({});
meterProvider.addMetricReader(new PeriodicExportingMetricReader({
exporter: metricExporter,
exportIntervalMillis: 1000,
}));
const meterProvider = new MeterProvider({
readers: [
new PeriodicExportingMetricReader({
exporter: metricExporter,
exportIntervalMillis: 1000,
}),
],
});
// Now, start recording data
const meter = meterProvider.getMeter('example-meter');

View File

@ -28,12 +28,14 @@ const collectorOptions = {
url: '<opentelemetry-collector-url>', // url is optional and can be omitted - default is http://localhost:4318/v1/metrics
};
const metricExporter = new OTLPMetricExporter(collectorOptions);
const meterProvider = new MeterProvider({});
meterProvider.addMetricReader(new PeriodicExportingMetricReader({
exporter: metricExporter,
exportIntervalMillis: 1000,
}));
const meterProvider = new MeterProvider({
readers: [
new PeriodicExportingMetricReader({
exporter: metricExporter,
exportIntervalMillis: 1000,
}),
],
});
// Now, start recording data
const meter = meterProvider.getMeter('example-meter');

View File

@ -29,8 +29,9 @@ const options = {port: 9464};
const exporter = new PrometheusExporter(options);
// Creates MeterProvider and installs the exporter as a MetricReader
const meterProvider = new MeterProvider();
meterProvider.addMetricReader(exporter);
const meterProvider = new MeterProvider({
readers: [exporter],
});
const meter = meterProvider.getMeter('example-prometheus');
// Now, start recording data

View File

@ -79,16 +79,18 @@ OpenCensus metrics can be collected and sent to an OpenTelemetry exporter by pro
through the OpenTelemetry Prometheus exporter:
```js
meterProvider.addMetricReader(
new PrometheusExporter({
metricProducers: [
new OpenCensusMetricProducer({
openCensusMetricProducerManager:
oc.Metrics.getMetricProducerManager(),
}),
],
})
);
new MeterProvider({
readers: [
new PrometheusExporter({
metricProducers: [
new OpenCensusMetricProducer({
openCensusMetricProducerManager:
oc.Metrics.getMetricProducerManager(),
}),
],
}),
],
});
```
## Example

View File

@ -46,12 +46,13 @@ interface OpenCensusMetricProducerOptions {
*
* @example
* ```
* const meterProvider = new MeterProvider();
* const reader = new PeriodicExportingMetricReader({
* metricProducers: [new OpenCensusMetricProducer()],
* exporter: exporter,
* });
* meterProvider.addMetricReader(reader);
* const meterProvider = new MeterProvider({
* readers: [reader],
* });
* ```
*/
export class OpenCensusMetricProducer implements MetricProducer {