Hey, i was trying to create simple Histogram metric via latest prom-client on express server, but prom-client keeps choking internally on the method "histogram.reset" that i am not even using. Maybe you can suggest something?
2025-03-02 19:22:50 Warning: Not implemented: process.cpuUsage()
2025-03-02 19:22:50 Listening on http://0.0.0.0:8080/
2025-03-02 19:23:14 name="BatchSpanProcessor.Flush.ExportError" reason="Other(hyper_util::client::legacy::Error(Connect, ConnectError(\"tcp connect error\", Os { code: 111, kind: ConnectionRefused, message: \"Connection refused\" })))" message=Failed during the export process
2025-03-02 19:23:15 Warning: Not implemented: process.cpuUsage()
2025-03-02 19:23:15 Error generating metrics: TypeError: histogram.reset is not a function
2025-03-02 19:23:15 at Gauge.collect (file:///deno-dir/npm/registry.npmjs.org/prom-client/15.1.3/lib/metrics/eventLoopLag.js:63:15)
2025-03-02 19:23:15 at Gauge.get (file:///deno-dir/npm/registry.npmjs.org/prom-client/15.1.3/lib/gauge.js:110:19)
2025-03-02 19:23:15 at Registry.getMetricsAsString (file:///deno-dir/npm/registry.npmjs.org/prom-client/15.1.3/lib/registry.js:35:21)
2025-03-02 19:23:15 at file:///deno-dir/npm/registry.npmjs.org/prom-client/15.1.3/lib/registry.js:91:16
2025-03-02 19:23:15 at Array.map (<anonymous>)
2025-03-02 19:23:15 at Registry.metrics (file:///deno-dir/npm/registry.npmjs.org/prom-client/15.1.3/lib/registry.js:87:45)
2025-03-02 19:23:15 at file:///app/main.ts:18:38
2025-03-02 19:23:15 at mapped (ext:deno_http/00_serve.ts:391:24)
2025-03-02 19:23:15 at mapped (ext:deno_http/00_serve.ts:456:44)
2025-03-02 19:23:15 at ext:deno_http/00_serve.ts:631:29
import client from "prom-client";
import { histogram } from "./histogram.ts";
// Creating a Registry to add it to metric
const register = new client.Registry();
client.collectDefaultMetrics({ register });
register.registerMetric(histogram);
Deno.serve({ port: config.appPort }, async (req) => {
const url = new URL(req.url).pathname;
if (url === "/metrics") {
try {
const metrics = await register.metrics();
return new Response(metrics, {
headers: { "Content-Type": register.contentType },
});
} catch (err) {
console.error("Error generating metrics:", err);
return new Response("Internal Server Error", { status: 500 });
}
}
return new Response("Resource not found", { status: 404 });
});
import client from "prom-client";
export const histogram = new client.Histogram({
name: "http_request_duration_ms",
help: "Duration of HTTP requests in milliseconds",
labelNames: ["method", "route", "code"],
buckets: [
30, 50, 70, 100, 150, 200, 250, 300, 400, 500, 600, 700, 800, 900, 1000,
],
});
Description
Hey, i was trying to create simple Histogram metric via latest prom-client on express server, but prom-client keeps choking internally on the method "histogram.reset" that i am not even using. Maybe you can suggest something?
Error
Code
Library version
prom-client: 15.1.3
express: 4.21.2