docs(sdk-metrics): align documentation with current state (#5485)
This commit is contained in:
parent
0cdf9eea80
commit
d004d41b5a
|
|
@ -362,13 +362,15 @@ for the resulting metric. The first step is select to the metrics to whom the Vi
|
|||
is relevant, the second step is to configure the customizations for the the selected
|
||||
metrics.
|
||||
|
||||
A Metric View is a class that can be instantiated via:
|
||||
A Metric View can be added to a `MeterProvider` like so
|
||||
|
||||
````typescript
|
||||
const view = new View({
|
||||
name: 'metric-view', // optionally, give the view a unique name
|
||||
// select instruments with a specific name
|
||||
instrumentName: 'http.server.duration',
|
||||
new MeterProvider({
|
||||
views: [{
|
||||
name: 'metric-view', // optionally, give the view a unique name
|
||||
// select instruments with a specific name
|
||||
instrumentName: 'http.server.duration',
|
||||
}]
|
||||
});
|
||||
````
|
||||
|
||||
|
|
@ -396,20 +398,22 @@ should be used to define the bucket sizes for the Histogram instrument.
|
|||
Below an example is given how you can define explicit buckets for a histogram.
|
||||
|
||||
```typescript
|
||||
// Define view for the histogram metric
|
||||
const histogramView = new View({
|
||||
aggregation: new ExplicitBucketHistogramAggregation([0, 1, 5, 10, 15, 20, 25, 30]),
|
||||
instrumentName: 'http.server.duration',
|
||||
instrumentType: InstrumentType.HISTOGRAM,
|
||||
});
|
||||
|
||||
// Note, the instrumentName is the same as the name that has been passed for
|
||||
// the Meter#createHistogram function
|
||||
|
||||
// Create an instance of the metric provider
|
||||
const meterProvider = new MeterProvider({
|
||||
views: [
|
||||
histogramView
|
||||
// Define view for the histogram metric
|
||||
{
|
||||
aggregation: {
|
||||
type: AggregationType.EXPLICIT_BUCKET_HISTOGRAM,
|
||||
options: {
|
||||
boundaries: [0, 1, 5, 10, 15, 20, 25, 30],
|
||||
}
|
||||
},
|
||||
// Note, the instrumentName is the same as the name that has been passed for
|
||||
// the Meter#createHistogram function
|
||||
instrumentName: 'http.server.duration',
|
||||
instrumentType: InstrumentType.HISTOGRAM,
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
|
|
@ -441,20 +445,20 @@ instruments with a specific name:
|
|||
The following view drops all instruments that are associated with a meter named `pubsub`:
|
||||
|
||||
```typescript
|
||||
const dropView = new View({
|
||||
aggregation: new DropAggregation(),
|
||||
{
|
||||
aggregation: { type: AggregationType.DROP },
|
||||
meterName: 'pubsub',
|
||||
});
|
||||
}
|
||||
```
|
||||
|
||||
Alternatively, you can also drop instruments with a specific instrument name,
|
||||
for example, all instruments of which the name starts with `http`:
|
||||
|
||||
```typescript
|
||||
const dropView = new View({
|
||||
aggregation: new DropAggregation(),
|
||||
{
|
||||
aggregation: { type: AggregationType.DROP },
|
||||
instrumentName: 'http*',
|
||||
});
|
||||
}
|
||||
```
|
||||
|
||||
### Customizing the metric attributes of instrument
|
||||
|
|
@ -467,12 +471,12 @@ In the example below will drop all attributes except attribute `environment` for
|
|||
all instruments.
|
||||
|
||||
```typescript
|
||||
new View({
|
||||
{
|
||||
// only export the attribute 'environment'
|
||||
attributeKeys: ['environment'],
|
||||
// apply the view to all instruments
|
||||
instrumentName: '*',
|
||||
})
|
||||
}
|
||||
```
|
||||
|
||||
## Exporting measurements
|
||||
|
|
|
|||
|
|
@ -6,10 +6,10 @@ const { OTLPMetricExporter } = require('@opentelemetry/exporter-metrics-otlp-htt
|
|||
// const { OTLPMetricExporter } = require('@opentelemetry/exporter-metrics-otlp-proto');
|
||||
// const { ConsoleMetricExporter } = require('@opentelemetry/sdk-metrics');
|
||||
const {
|
||||
ExponentialHistogramAggregation,
|
||||
MeterProvider,
|
||||
PeriodicExportingMetricReader,
|
||||
View,
|
||||
AggregationType,
|
||||
} = require('@opentelemetry/sdk-metrics');
|
||||
const { resourceFromAttributes } = require('@opentelemetry/resources');
|
||||
const {
|
||||
|
|
@ -25,20 +25,18 @@ const metricExporter = new OTLPMetricExporter({
|
|||
// },
|
||||
});
|
||||
|
||||
// Define view for the exponential histogram metric
|
||||
const expHistogramView = new View({
|
||||
aggregation: new ExponentialHistogramAggregation(),
|
||||
// Note, the instrumentName is the same as the name that has been passed for
|
||||
// the Meter#createHistogram function for exponentialHistogram.
|
||||
instrumentName: 'test_exponential_histogram',
|
||||
});
|
||||
|
||||
// Create an instance of the metric provider
|
||||
const meterProvider = new MeterProvider({
|
||||
resource: resourceFromAttributes({
|
||||
[SEMRESATTRS_SERVICE_NAME]: 'basic-metric-service',
|
||||
}),
|
||||
views: [expHistogramView],
|
||||
// Define view for the exponential histogram metric
|
||||
views: [{
|
||||
aggregation: { type: AggregationType.EXPONENTIAL_HISTOGRAM },
|
||||
// Note, the instrumentName is the same as the name that has been passed for
|
||||
// the Meter#createHistogram function for exponentialHistogram.
|
||||
instrumentName: 'test_exponential_histogram',
|
||||
}],
|
||||
readers: [
|
||||
new PeriodicExportingMetricReader({
|
||||
exporter: metricExporter,
|
||||
|
|
|
|||
|
|
@ -64,9 +64,17 @@ Views can be registered when instantiating a `MeterProvider`:
|
|||
const meterProvider = new MeterProvider({
|
||||
views: [
|
||||
// override the bucket boundaries on `my.histogram` to [0, 50, 100]
|
||||
new View({ aggregation: new ExplicitBucketHistogramAggregation([0, 50, 100]), instrumentName: 'my.histogram'}),
|
||||
{
|
||||
aggregation: {
|
||||
type: AggregationType.EXPLICIT_BUCKET_HISTOGRAM,
|
||||
options: {
|
||||
boundaries: [0, 50, 100]
|
||||
}
|
||||
},
|
||||
instrumentName: 'my.histogram'
|
||||
},
|
||||
// rename 'my.counter' to 'my.renamed.counter'
|
||||
new View({ name: 'my.renamed.counter', instrumentName: 'my.counter'})
|
||||
{ name: 'my.renamed.counter', instrumentName: 'my.counter'}
|
||||
]
|
||||
})
|
||||
```
|
||||
|
|
|
|||
Loading…
Reference in New Issue