X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Flib%2Fopentelemetry%2Fmetric-helpers%2Fnodejs-observers-builder.ts;h=b66fa474ca6d760eef4443da894bcafd3b419871;hb=077600e03774203c57ba7e8b122bd18faa3e51e6;hp=766cbe03be0b03b5bda73eda9db0a0ea1d061cac;hpb=7fd28c99b9dfd0a0fe6799d947631e57f72e817a;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/lib/opentelemetry/metric-helpers/nodejs-observers-builder.ts b/server/lib/opentelemetry/metric-helpers/nodejs-observers-builder.ts index 766cbe03b..b66fa474c 100644 --- a/server/lib/opentelemetry/metric-helpers/nodejs-observers-builder.ts +++ b/server/lib/opentelemetry/metric-helpers/nodejs-observers-builder.ts @@ -1,9 +1,9 @@ import { readdir } from 'fs-extra' import { constants, PerformanceObserver } from 'perf_hooks' import * as process from 'process' -import { Meter, ObservableResult } from '@opentelemetry/api-metrics' -import { ExplicitBucketHistogramAggregation, MeterProvider } from '@opentelemetry/sdk-metrics-base' -import { View } from '@opentelemetry/sdk-metrics-base/build/src/view/View' +import { Meter, ObservableResult } from '@opentelemetry/api' +import { ExplicitBucketHistogramAggregation } from '@opentelemetry/sdk-metrics' +import { View } from '@opentelemetry/sdk-metrics/build/src/view/View' import { logger } from '@server/helpers/logger' // Thanks to https://github.com/siimon/prom-client @@ -12,7 +12,16 @@ import { logger } from '@server/helpers/logger' export class NodeJSObserversBuilder { - constructor (private readonly meter: Meter, private readonly meterProvider: MeterProvider) { + constructor (private readonly meter: Meter) { + } + + static getViews () { + return [ + new View({ + aggregation: new ExplicitBucketHistogramAggregation([ 0.001, 0.01, 0.1, 1, 2, 5 ]), + instrumentName: 'nodejs_gc_duration_seconds' + }) + ] } buildObservers () { @@ -91,11 +100,6 @@ export class NodeJSObserversBuilder { [constants.NODE_PERFORMANCE_GC_WEAKCB]: 'weakcb' } - this.meterProvider.addView( - new View({ aggregation: new ExplicitBucketHistogramAggregation([ 0.001, 0.01, 0.1, 1, 2, 5 ]) }), - { instrument: { name: 'nodejs_gc_duration_seconds' } } - ) - const histogram = this.meter.createHistogram('nodejs_gc_duration_seconds', { description: 'Garbage collection duration by kind, one of major, minor, incremental or weakcb' })