]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/lib/opentelemetry/metric-helpers/nodejs-observers-builder.ts
Upgrade server dependencies
[github/Chocobozzz/PeerTube.git] / server / lib / opentelemetry / metric-helpers / nodejs-observers-builder.ts
index 766cbe03be0b03b5bda73eda9db0a0ea1d061cac..b66fa474ca6d760eef4443da894bcafd3b419871 100644 (file)
@@ -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'
     })