diff --git a/changelog.d/869.bugfix b/changelog.d/869.bugfix new file mode 100644 index 0000000000000000000000000000000000000000..e723503a9bca3253c8027a209aabbeeca7d50923 --- /dev/null +++ b/changelog.d/869.bugfix @@ -0,0 +1 @@ +Fix a crash caused by processing metrics for Matrix events. \ No newline at end of file diff --git a/src/metrics.ts b/src/metrics.ts index 4be179a3389b583d380095688b6613ca2fb81c4e..2a64a24cf46d155603a218b43d677f0142bca0dd 100644 --- a/src/metrics.ts +++ b/src/metrics.ts @@ -69,7 +69,7 @@ export class PrometheusBridgeMetrics implements IBridgeMetrics { private remoteRequest: Histogram<string>; private matrixRequest: Histogram<string>; private requestsInFlight: Map<string, number>; - private matrixRequestStatus: Map<string, "success"|"failed">; + private matrixRequestStatus: Map<string, "success"|"failed"> = new Map(); private httpServer: http.Server; private remoteMonthlyActiveUsers: Gauge<string>; private bridgeBlocked: Gauge<string>; @@ -116,7 +116,7 @@ export class PrometheusBridgeMetrics implements IBridgeMetrics { this.matrixRequest = new Histogram({ help: "Histogram of processing durations of received Matrix messages", - labelNames: ["outcome"], + labelNames: ["outcome", "method"], name: "matrix_request_seconds", }); register.registerMetric(this.matrixRequest); @@ -208,7 +208,7 @@ export class PrometheusBridgeMetrics implements IBridgeMetrics { this.matrixRequestStatus.delete(context.uniqueId); this.matrixRequest.observe({ method: context.functionName, - result: successFail, + outcome: successFail, }, timeMs); }