mirror of
https://github.com/Chocobozzz/PeerTube.git
synced 2025-10-05 02:39:33 +02:00
Update server dependencies
This commit is contained in:
parent
401dcafe47
commit
92e4492c48
6 changed files with 1524 additions and 1674 deletions
|
@ -1,10 +1,9 @@
|
|||
import { Meter, ObservableResult } from '@opentelemetry/api'
|
||||
import { AggregationType, InstrumentType, ViewOptions } from '@opentelemetry/sdk-metrics'
|
||||
import { logger } from '@server/helpers/logger.js'
|
||||
import { readdir } from 'fs/promises'
|
||||
import { constants, NodeGCPerformanceDetail, PerformanceObserver } from 'perf_hooks'
|
||||
import * as process from 'process'
|
||||
import { Meter, ObservableResult } from '@opentelemetry/api'
|
||||
import { ExplicitBucketHistogramAggregation } from '@opentelemetry/sdk-metrics'
|
||||
import { View } from '@opentelemetry/sdk-metrics/build/src/view/View.js'
|
||||
import { logger } from '@server/helpers/logger.js'
|
||||
|
||||
// Thanks to https://github.com/siimon/prom-client
|
||||
// We took their logic and adapter it for opentelemetry
|
||||
|
@ -14,12 +13,18 @@ export class NodeJSObserversBuilder {
|
|||
constructor (private readonly meter: Meter) {
|
||||
}
|
||||
|
||||
static getViews () {
|
||||
static getViews (): ViewOptions[] {
|
||||
return [
|
||||
new View({
|
||||
aggregation: new ExplicitBucketHistogramAggregation([ 0.001, 0.01, 0.1, 1, 2, 5 ]),
|
||||
instrumentName: 'nodejs_gc_duration_seconds'
|
||||
})
|
||||
{
|
||||
instrumentType: InstrumentType.HISTOGRAM,
|
||||
instrumentName: 'nodejs_gc_duration_seconds',
|
||||
aggregation: {
|
||||
type: AggregationType.EXPLICIT_BUCKET_HISTOGRAM,
|
||||
options: {
|
||||
boundaries: [ 0.001, 0.01, 0.1, 1, 2, 5 ]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
|
@ -117,7 +122,7 @@ export class NodeJSObserversBuilder {
|
|||
}
|
||||
|
||||
private buildEventLoopLagObserver () {
|
||||
const reportEventloopLag = (start: [number, number], observableResult: ObservableResult, res: () => void) => {
|
||||
const reportEventLoopLag = (start: [number, number], observableResult: ObservableResult, res: () => void) => {
|
||||
const delta = process.hrtime(start)
|
||||
const nanosec = delta[0] * 1e9 + delta[1]
|
||||
const seconds = nanosec / 1e9
|
||||
|
@ -133,7 +138,7 @@ export class NodeJSObserversBuilder {
|
|||
return new Promise(res => {
|
||||
const start = process.hrtime()
|
||||
|
||||
setImmediate(reportEventloopLag, start, observableResult, res)
|
||||
setImmediate(reportEventLoopLag, start, observableResult, res)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue