Function: createHistogram()
@arolariu/website / instrumentation.server / createHistogram
Function: createHistogram()
createHistogram(
name,description?,unit?):Histogram<Attributes>
Defined in: instrumentation.server.ts:1201
Create a histogram metric instrument.
Histograms record distributions of values (e.g., latency, request size). They track count, sum, min, max, and bucketed distributions.
Parameters
name
Metric name following semantic conventions (e.g., "http.server.duration")
description?
string
Human-readable description of what the metric measures
unit?
string
Optional unit of measurement (e.g., "ms", "bytes", "s")
Returns
Histogram<Attributes>
Histogram instrument for recording values with type-safe attributes
Remarks
- Use for measurements that vary over time
- Ideal for latency, duration, size metrics
- Backends typically aggregate as percentiles (p50, p95, p99)
- Include units in the name (e.g., "duration.ms", "size.bytes")
- Values can be any non-negative number
Examples
const durationHistogram = createHistogram(
'http.server.duration',
'HTTP request duration in milliseconds',
'ms'
);
const startTime = Date.now();
// ... handle request
const duration = Date.now() - startTime;
durationHistogram.record(duration, {
'http.method': 'POST',
'http.route': '/api/users',
'http.status_code': 201,
});
// Page load time histogram
const pageLoadHistogram = createHistogram(
'page.load.duration',
'Page load duration in milliseconds',
'ms'
);
pageLoadHistogram.record(loadTime, {
'next.render_context': 'server',
'next.page_type': 'dynamic',
});
See
// was this page useful?