LogoPear Docs
ReferencesBareModules

bare-prom-client

Client for prometheus

stable

bare-prom-client — Client for prometheus.

npm i bare-prom-client

Usage

See example folder for a sample usage. The library does not bundle any web framework. To expose the metrics, respond to Prometheus's scrape requests with the result of await registry.metrics().

Usage with Node.js's cluster module

Node.js's cluster module spawns multiple processes and hands off socket connections to those workers. Returning metrics from a worker's local registry will only reveal that individual worker's metrics, which is generally undesirable. To solve this, you can aggregate all of the workers' metrics in the master process. See example/cluster.js for an example.

Default metrics use sensible aggregation methods. (Note, however, that the event loop lag mean and percentiles are averaged, which is not perfectly accurate.) Custom metrics are summed across workers by default. To use a different aggregation method, set the aggregator property in the metric config to one of 'sum', 'first', 'min', 'max', 'average' or 'omit'. (See lib/metrics/version.js for an example.)

If you need to expose metrics about an individual worker, you can include a value that is unique to the worker (such as the worker ID or process ID) in a label. (See example/server.js for an example using worker_${cluster.worker.id} as a label value.)

Metrics are aggregated from the global registry by default. To use a different registry, call client.AggregatorRegistry.setRegistries(registryOrArrayOfRegistries) from the worker processes.

API

Registry

clear(): void

Remove all metrics from the registry

contentType: BoundRegistryContentType

Gets the Content-Type of the metrics for use in the response headers.

getMetricsAsArray(): MetricObject[]

Get all metrics as objects

Returns MetricObject[] — All registered metrics as plain objects.

getMetricsAsJSON(): Promise<MetricObjectWithValues<MetricValue<string>>[]>

Get all metrics as objects

Returns Promise<MetricObjectWithValues<MetricValue<string>>[]> — A promise resolving to all registered metrics as objects, each with its current values.

getSingleMetric<T extends string>(name: string): Metric<T> | undefined

Get a single metric

Parameters

ParameterTypeDefaultDescription
namestringThe name of the metric

Returns Metric<T> | undefined — The registered metric named name, or undefined if none is registered.

getSingleMetricAsString(name: string): Promise<string>

Get a string representation of a single metric by name

Parameters

ParameterTypeDefaultDescription
namestringThe name of the metric

Returns Promise<string> — A promise resolving to the exposition-format string for the named metric.

metrics(): Promise<string>

Get string representation for all metrics

Returns Promise<string> — A promise resolving to the exposition-format string for all registered metrics.

registerMetric<T extends string>(metric: Metric<T>): void

Register metric to register

Parameters

ParameterTypeDefaultDescription
metricMetric<T>Metric to add to register

Registry.merge(registers: Registry[]): Registry

Merge registers

Parameters

ParameterTypeDefaultDescription
registersRegistry[]The registers you want to merge together

Returns Registry — A new Registry containing the metrics of every registry in registers.

Registry.OPENMETRICS_CONTENT_TYPE: OpenMetricsContentType

HTTP OpenMetrics Content-Type for metrics response headers.

Registry.PROMETHEUS_CONTENT_TYPE: PrometheusContentType

HTTP Prometheus Content-Type for metrics response headers.

removeSingleMetric(name: string): void

Remove a single metric

Parameters

ParameterTypeDefaultDescription
namestringThe name of the metric to remove

resetMetrics(): void

Reset all metrics in the registry

setContentType(contentType: BoundRegistryContentType): void

Set the content type of a registry. Used to change between Prometheus and OpenMetrics versions.

Parameters

ParameterTypeDefaultDescription
contentTypeBoundRegistryContentTypeThe type of the registry

setDefaultLabels(labels: object): void

Set static labels to every metric emitted by this registry

Parameters

ParameterTypeDefaultDescription
labelsobjectName/value pairs, for example { defaultLabel: 'value', anotherLabel: 'value 2' }.

AggregatorRegistry

AggregatorRegistry.aggregate

AggregatorRegistry.aggregate<T extends RegistryContentType>(metricsArr: Array<object>): Registry<T>

Creates a new Registry instance from an array of metrics that were created by registry.getMetricsAsJSON(). Metrics are aggregated using the method specified by their aggregator property, or by summation if aggregator is undefined.

Parameters

ParameterTypeDefaultDescription
metricsArrArray<object>Array of metrics, each of which created by registry.getMetricsAsJSON().

Returns Registry<T> — aggregated registry.

AggregatorRegistry.setRegistries

AggregatorRegistry.setRegistries(regs: | Array<
					Registry<PrometheusContentType> | Registry<OpenMetricsContentType>
			  >
			| Registry<PrometheusContentType>
			| Registry<OpenMetricsContentType>): void

Sets the registry or registries to be aggregated. Call from workers to use a registry/registries other than the default global registry.

Parameters

ParameterTypeDefaultDescription
regs| Array< Registry<PrometheusContentType> | Registry<OpenMetricsContentType> > | Registry<PrometheusContentType> | Registry<OpenMetricsContentType>Registry or registries to be aggregated.

clusterMetrics(): Promise<string>

Gets aggregated metrics for all workers.

Returns Promise<string> — Promise that resolves with the aggregated metrics.

Counter

new Counter(configuration: CounterConfiguration<T>)

Counters go up, and reset when the process restarts.

Parameters

ParameterTypeDefaultDescription
configurationCounterConfiguration<T>Configuration when creating a Counter metric. Name and Help is required.

Counter.Internal

interface Internal {
		/**
		 * Increment with value
		 * @param value The value to increment with
		 */
		inc(value?: number): void;
	}

Counter.get(): Promise<MetricObjectWithValues<MetricValue<T>>>

Get counter metric object

Returns Promise<MetricObjectWithValues<MetricValue<T>>> — A promise resolving to the counter's current value as a metric object.

Counter.inc(labels: LabelValues<T>, value?: number): void

Increment for given labels

Overloads:

inc(labels: LabelValues<T>, value?: number): void
inc(value?: number): void
inc(incData: IncreaseDataWithExemplar<T>): void

Parameters

ParameterTypeDefaultDescription
labelsLabelValues<T>Object with label keys and values
value?numberThe number to increment with

labels(...values: string[]): Counter.Internal

Return the child for given labels

Overloads:

labels(...values: string[]): Counter.Internal
labels(labels: LabelValues<T>): Counter.Internal

Parameters

ParameterTypeDefaultDescription
valuesstring[]Label values

Returns Counter.Internal — Configured counter with given labels

Counter.remove(...values: string[]): void

Remove metrics for the given label values

Overloads:

remove(...values: string[]): void
remove(labels: LabelValues<T>): void

Parameters

ParameterTypeDefaultDescription
valuesstring[]Label values

Counter.reset(): void

Reset counter values

Gauge

new Gauge(configuration: GaugeConfiguration<T>)

Gauges are similar to Counters but a Gauge's value can be decreased.

Parameters

ParameterTypeDefaultDescription
configurationGaugeConfiguration<T>Configuration when creating a Gauge metric. Name and Help is mandatory

dec(labels: LabelValues<T>, value?: number): void

Decrement gauge

Overloads:

dec(labels: LabelValues<T>, value?: number): void
dec(value?: number): void

Parameters

ParameterTypeDefaultDescription
labelsLabelValues<T>Object with label keys and values
value?numberValue to decrement with

Gauge.Internal

interface Internal<T extends string> {
		/**
		 * Increment gauge with value
		 * @param value The value to increment with
		 */
		inc(value?: number): void;

		/**
		 * Decrement with value
		 * @param value The value to decrement with
		 */
		dec(value?: number): void;

		/**
		 * Set gauges value
		 * @param value The value to set
		 */
		set(value: number): void;

		/**
		 * Set gauge value to current epoch time in ms
		 */
		setToCurrentTime(): void;

		/**
		 * Start a timer. Calling the returned function will set the gauge's value
		 * to the observed duration in seconds.
		 * @return Function to invoke when timer should be stopped. The value it
		 * returns is the timed duration.
		 */
		startTimer(): (labels?: LabelValues<T>) => number;
	}

Gauge.get(): Promise<MetricObjectWithValues<MetricValue<T>>>

Get gauge metric object

Returns Promise<MetricObjectWithValues<MetricValue<T>>> — A promise resolving to the gauge's current value as a metric object.

Gauge.inc(labels: LabelValues<T>, value?: number): void

Increment gauge for given labels

Overloads:

inc(labels: LabelValues<T>, value?: number): void
inc(value?: number): void

Parameters

ParameterTypeDefaultDescription
labelsLabelValues<T>Object with label keys and values
value?numberThe value to increment with

labels(...values: string[]): Gauge.Internal<T>

Return the child for given labels

Overloads:

labels(...values: string[]): Gauge.Internal<T>
labels(labels: LabelValues<T>): Gauge.Internal<T>

Parameters

ParameterTypeDefaultDescription
valuesstring[]Label values

Returns Gauge.Internal<T> — Configured gauge with given labels

Gauge.remove(...values: string[]): void

Remove metrics for the given label values

Overloads:

remove(...values: string[]): void
remove(labels: LabelValues<T>): void

Parameters

ParameterTypeDefaultDescription
valuesstring[]Label values

Gauge.reset(): void

Reset gauge values

set(labels: LabelValues<T>, value: number): void

Set gauge value for labels

Overloads:

set(labels: LabelValues<T>, value: number): void
set(value: number): void

Parameters

ParameterTypeDefaultDescription
labelsLabelValues<T>Object with label keys and values
valuenumberThe value to set

setToCurrentTime(labels?: LabelValues<T>): void

Set gauge value to current epoch time in seconds

Parameters

ParameterTypeDefaultDescription
labels?LabelValues<T>Object with label keys and values

Gauge.startTimer(labels?: LabelValues<T>): (labels?: LabelValues<T>) => number

Start a timer. Calling the returned function will set the gauge's value to the observed duration in seconds.

Parameters

ParameterTypeDefaultDescription
labels?LabelValues<T>Object with label keys and values

Returns (labels?: LabelValues<T>) => number — Function to invoke when timer should be stopped. The value it returns is the timed duration.

Histogram

new Histogram(configuration: HistogramConfiguration<T>)

Histograms track sizes and frequency of events.

Parameters

ParameterTypeDefaultDescription
configurationHistogramConfiguration<T>Configuration when creating the Histogram. Name and Help is mandatory

Histogram.get(): Promise<MetricObjectWithValues<MetricValueWithName<T>>>

Get histogram metric object

Returns Promise<MetricObjectWithValues<MetricValueWithName<T>>> — A promise resolving to the histogram's current buckets and counts as a metric object.

Histogram.Config

interface Config {
		/**
		 * Buckets used in the histogram
		 */
		buckets?: number[];
	}

Histogram.Internal

interface Internal<T extends string> {
		/**
		 * Observe value
		 * @param value The value to observe
		 */
		observe(value: number): void;

		/**
		 * Start a timer. Calling the returned function will observe the
		 * duration in seconds in the histogram.
		 * @param labels Object with label keys and values
		 * @return Function to invoke when timer should be stopped. The value it
		 * returns is the timed duration.
		 */
		startTimer(): (labels?: LabelValues<T>) => void;
	}

labels(...values: string[]): Histogram.Internal<T>

Return the child for given labels

Overloads:

labels(...values: string[]): Histogram.Internal<T>
labels(labels: LabelValues<T>): Histogram.Internal<T>

Parameters

ParameterTypeDefaultDescription
valuesstring[]Label values

Returns Histogram.Internal<T> — Configured histogram with given labels

Histogram.observe(value: number): void

Observe value

Overloads:

observe(value: number): void
observe(labels: LabelValues<T>, value: number): void
observe(observeData: ObserveDataWithExemplar<T>): void

Parameters

ParameterTypeDefaultDescription
valuenumberThe value to observe

Histogram.remove(...values: string[]): void

Remove metrics for the given label values

Overloads:

remove(...values: string[]): void
remove(labels: LabelValues<T>): void

Parameters

ParameterTypeDefaultDescription
valuesstring[]Label values

Histogram.reset(): void

Reset histogram values

Histogram.startTimer(labels?: LabelValues<T>): (labels?: LabelValues<T>) => number

Start a timer. Calling the returned function will observe the duration in seconds in the histogram.

Overloads:

startTimer(labels?: LabelValues<T>): (labels?: LabelValues<T>) => number
startTimer(labels?: LabelValues<T>, exemplarLabels?: LabelValues<T>): (labels?: LabelValues<T>, exemplarLabels?: LabelValues<T>) => number

Parameters

ParameterTypeDefaultDescription
labels?LabelValues<T>Object with label keys and values

Returns (labels?: LabelValues<T>) => number — Function to invoke when timer should be stopped. The value it returns is the timed duration.

zero(labels: LabelValues<T>): void

Initialize the metrics for the given combination of labels to zero

Parameters

ParameterTypeDefaultDescription
labelsLabelValues<T>Object with label keys and values to initialize to zero.

Summary

new Summary(configuration: SummaryConfiguration<T>)

Summaries calculate percentiles of observed values.

Parameters

ParameterTypeDefaultDescription
configurationSummaryConfiguration<T>Configuration when creating Summary metric. Name and Help is mandatory

Summary.get(): Promise<MetricObjectWithValues<MetricValueWithName<T>>>

Get summary metric object

Returns Promise<MetricObjectWithValues<MetricValueWithName<T>>> — A promise resolving to the summary's current percentiles as a metric object.

labels(...values: string[]): Summary.Internal<T>

Return the child for given labels

Overloads:

labels(...values: string[]): Summary.Internal<T>
labels(labels: LabelValues<T>): Summary.Internal<T>

Parameters

ParameterTypeDefaultDescription
valuesstring[]Label values

Returns Summary.Internal<T> — Configured summary with given labels

Summary.observe(value: number): void

Observe value in summary

Overloads:

observe(value: number): void
observe(labels: LabelValues<T>, value: number): void

Parameters

ParameterTypeDefaultDescription
valuenumberThe value to observe

Summary.remove(...values: string[]): void

Remove metrics for the given label values

Overloads:

remove(...values: string[]): void
remove(labels: LabelValues<T>): void

Parameters

ParameterTypeDefaultDescription
valuesstring[]Label values

Summary.reset(): void

Reset all values in the summary

Summary.startTimer(labels?: LabelValues<T>): (labels?: LabelValues<T>) => number

Start a timer. Calling the returned function will observe the duration in seconds in the summary.

Parameters

ParameterTypeDefaultDescription
labels?LabelValues<T>Object with label keys and values

Returns (labels?: LabelValues<T>) => number — Function to invoke when timer should be stopped

Summary.Config

interface Config {
		/**
		 * Configurable percentiles, values should never be greater than 1
		 */
		percentiles?: number[];
	}

Summary.Internal

interface Internal<T extends string> {
		/**
		 * Observe value in summary
		 * @param value The value to observe
		 */
		observe(value: number): void;

		/**
		 * Start a timer. Calling the returned function will observe the
		 * duration in seconds in the summary.
		 * @param labels Object with label keys and values
		 * @return Function to invoke when timer should be stopped. The value it
		 * returns is the timed duration.
		 */
		startTimer(): (labels?: LabelValues<T>) => number;
	}

Pushgateway

new Pushgateway(url: string, options?: any, registry?: Registry<T>)

Parameters

ParameterTypeDefaultDescription
urlstringComplete url to the Pushgateway. If port is needed append url with :port
options?anyOptions
registry?Registry<T>Registry

delete(params: Pushgateway.Parameters): Promise<{ resp?: unknown; body?: unknown }>

Delete all metrics for jobName

Parameters

ParameterTypeDefaultDescription
paramsPushgateway.ParametersPush parameters

Returns Promise<{ resp?: unknown; body?: unknown }> — A promise resolving with the Pushgateway HTTP response and body.

push(params: Pushgateway.Parameters): Promise<{ resp?: unknown; body?: unknown }>

Overwrite all metric (using PUT to Pushgateway)

Parameters

ParameterTypeDefaultDescription
paramsPushgateway.ParametersPush parameters

Returns Promise<{ resp?: unknown; body?: unknown }> — A promise resolving with the Pushgateway HTTP response and body.

pushAdd(params: Pushgateway.Parameters): Promise<{ resp?: unknown; body?: unknown }>

Add metric and overwrite old ones

Parameters

ParameterTypeDefaultDescription
paramsPushgateway.ParametersPush parameters

Returns Promise<{ resp?: unknown; body?: unknown }> — A promise resolving with the Pushgateway HTTP response and body.

Pushgateway.Parameters

interface Parameters {
		/**
		 * Jobname that is pushing the metric
		 */
		jobName: string;
		/**
		 * Label sets used in the url when making a request to the Pushgateway,
		 */
		groupings?: {
			[key: string]: string;
		};
	}

Functions

linearBuckets(start: number, width: number, count: number): number[]

Create an array with equal spacing between the elements

Parameters

ParameterTypeDefaultDescription
startnumberThe first value in the array
widthnumberThe spacing between the elements
countnumberThe number of items in array

Returns number[] — An array with the requested number of elements

exponentialBuckets(start: number, factor: number, count: number): number[]

Create an array that grows exponentially

Parameters

ParameterTypeDefaultDescription
startnumberThe first value in the array
factornumberThe exponential factor
countnumberThe number of items in array

Returns number[] — An array with the requested number of elements

validateMetricName(name: string): boolean

Validate a metric name

Parameters

ParameterTypeDefaultDescription
namestringThe name to validate

Returns boolean — True if the metric name is valid, false if not

Constants and variables

register: Registry

The register that contains all metrics

contentType: RegistryContentType

HTTP Content-Type for metrics response headers for the default registry, defaults to Prometheus text format.

prometheusContentType: PrometheusContentType

HTTP Prometheus Content-Type for metrics response headers.

openMetricsContentType: OpenMetricsContentType

HTTP OpenMetrics Content-Type for metrics response headers.

MetricType

enum MetricType {
	Counter,
	Gauge,
	Histogram,
	Summary,
}

collectDefaultMetrics

collectDefaultMetrics: {
	/**
	 * Configure default metrics
	 * @param config Configuration object for default metrics collector
	 */
	<T extends RegistryContentType>(
		config?: DefaultMetricsCollectorConfiguration<T>,
	): void;
	/** All available default metrics */
	metricsList: string[];
}

Types

Charset

type Charset = 'utf-8'

PrometheusMIME

type PrometheusMIME = 'text/plain'

PrometheusMetricsVersion

type PrometheusMetricsVersion = '0.0.4'

OpenMetricsMIME

type OpenMetricsMIME = 'application/openmetrics-text'

OpenMetricsVersion

type OpenMetricsVersion = '1.0.0'

OpenMetricsContentType

type OpenMetricsContentType = `${OpenMetricsMIME}; version=${OpenMetricsVersion}; charset=${Charset}`

PrometheusContentType

type PrometheusContentType = `${PrometheusMIME}; version=${PrometheusMetricsVersion}; charset=${Charset}`

RegistryContentType

type RegistryContentType = | PrometheusContentType
	| OpenMetricsContentType

Collector

type Collector = () => void

Metric

type Metric<T extends string = string> = | Counter<T>
	| Gauge<T>
	| Summary<T>
	| Histogram<T>

General metric type

Aggregator

type Aggregator = 'omit' | 'sum' | 'first' | 'min' | 'max' | 'average'

Aggregation methods, used for aggregating metrics in a Node.js cluster.

CollectFunction

type CollectFunction<T> = (this: T) => void | Promise<void>

MetricObject

interface MetricObject {
	name: string;
	help: string;
	type: MetricType;
	aggregator: Aggregator;
	collect: CollectFunction<any>;
}

MetricObjectWithValues

interface MetricObjectWithValues<T extends MetricValue<string>>
	extends MetricObject {
	values: T[];
}

MetricValue

type MetricValue<T extends string> = {
	value: number;
	labels: LabelValues<T>;
}

MetricValueWithName

type MetricValueWithName<T extends string> = MetricValue<T> & {
	metricName?: string;
}

LabelValues

type LabelValues<T extends string> = Partial<Record<T, string | number>>

MetricConfiguration

interface MetricConfiguration<T extends string> {
	name: string;
	help: string;
	labelNames?: T[] | readonly T[];
	registers?: (
		| Registry<PrometheusContentType>
		| Registry<OpenMetricsContentType>
	)[];
	aggregator?: Aggregator;
	collect?: CollectFunction<any>;
	enableExemplars?: boolean;
}

CounterConfiguration

interface CounterConfiguration<T extends string>
	extends MetricConfiguration<T> {
	collect?: CollectFunction<Counter<T>>;
}

IncreaseDataWithExemplar

interface IncreaseDataWithExemplar<T extends string> {
	value?: number;
	labels?: LabelValues<T>;
	exemplarLabels?: LabelValues<T>;
}

ObserveDataWithExemplar

interface ObserveDataWithExemplar<T extends string> {
	value: number;
	labels?: LabelValues<T>;
	exemplarLabels?: LabelValues<T>;
}

GaugeConfiguration

interface GaugeConfiguration<T extends string>
	extends MetricConfiguration<T> {
	collect?: CollectFunction<Gauge<T>>;
}

HistogramConfiguration

interface HistogramConfiguration<T extends string>
	extends MetricConfiguration<T> {
	buckets?: number[];
	collect?: CollectFunction<Histogram<T>>;
}

SummaryConfiguration

interface SummaryConfiguration<T extends string>
	extends MetricConfiguration<T> {
	percentiles?: number[];
	maxAgeSeconds?: number;
	ageBuckets?: number;
	pruneAgedBuckets?: boolean;
	compressCount?: number;
	collect?: CollectFunction<Summary<T>>;
}

DefaultMetricsCollectorConfiguration

interface DefaultMetricsCollectorConfiguration<
	T extends RegistryContentType,
> {
	register?: Registry<T>;
	prefix?: string;
	gcDurationBuckets?: number[];
	eventLoopMonitoringPrecision?: number;
	labels?: object;
}

See also

On this page

Usage
Usage with Node.js's cluster module
API
Registry
clear(): void
contentType: BoundRegistryContentType
getMetricsAsArray(): MetricObject[]
getMetricsAsJSON(): Promise<MetricObjectWithValues<MetricValue<string>>[]>
getSingleMetric<T extends string>(name: string): Metric<T> | undefined
getSingleMetricAsString(name: string): Promise<string>
metrics(): Promise<string>
registerMetric<T extends string>(metric: Metric<T>): void
Registry.merge(registers: Registry[]): Registry
Registry.OPENMETRICS_CONTENT_TYPE: OpenMetricsContentType
Registry.PROMETHEUS_CONTENT_TYPE: PrometheusContentType
removeSingleMetric(name: string): void
resetMetrics(): void
setContentType(contentType: BoundRegistryContentType): void
setDefaultLabels(labels: object): void
AggregatorRegistry
AggregatorRegistry.aggregate
AggregatorRegistry.setRegistries
clusterMetrics(): Promise<string>
Counter
new Counter(configuration: CounterConfiguration<T>)
Counter.Internal
Counter.get(): Promise<MetricObjectWithValues<MetricValue<T>>>
Counter.inc(labels: LabelValues<T>, value?: number): void
labels(...values: string[]): Counter.Internal
Counter.remove(...values: string[]): void
Counter.reset(): void
Gauge
new Gauge(configuration: GaugeConfiguration<T>)
dec(labels: LabelValues<T>, value?: number): void
Gauge.Internal
Gauge.get(): Promise<MetricObjectWithValues<MetricValue<T>>>
Gauge.inc(labels: LabelValues<T>, value?: number): void
labels(...values: string[]): Gauge.Internal<T>
Gauge.remove(...values: string[]): void
Gauge.reset(): void
set(labels: LabelValues<T>, value: number): void
setToCurrentTime(labels?: LabelValues<T>): void
Gauge.startTimer(labels?: LabelValues<T>): (labels?: LabelValues<T>) => number
Histogram
new Histogram(configuration: HistogramConfiguration<T>)
Histogram.get(): Promise<MetricObjectWithValues<MetricValueWithName<T>>>
Histogram.Config
Histogram.Internal
labels(...values: string[]): Histogram.Internal<T>
Histogram.observe(value: number): void
Histogram.remove(...values: string[]): void
Histogram.reset(): void
Histogram.startTimer(labels?: LabelValues<T>): (labels?: LabelValues<T>) => number
zero(labels: LabelValues<T>): void
Summary
new Summary(configuration: SummaryConfiguration<T>)
Summary.get(): Promise<MetricObjectWithValues<MetricValueWithName<T>>>
labels(...values: string[]): Summary.Internal<T>
Summary.observe(value: number): void
Summary.remove(...values: string[]): void
Summary.reset(): void
Summary.startTimer(labels?: LabelValues<T>): (labels?: LabelValues<T>) => number
Summary.Config
Summary.Internal
Pushgateway
new Pushgateway(url: string, options?: any, registry?: Registry<T>)
delete(params: Pushgateway.Parameters): Promise<{ resp?: unknown; body?: unknown }>
push(params: Pushgateway.Parameters): Promise<{ resp?: unknown; body?: unknown }>
pushAdd(params: Pushgateway.Parameters): Promise<{ resp?: unknown; body?: unknown }>
Pushgateway.Parameters
Functions
linearBuckets(start: number, width: number, count: number): number[]
exponentialBuckets(start: number, factor: number, count: number): number[]
validateMetricName(name: string): boolean
Constants and variables
register: Registry
contentType: RegistryContentType
prometheusContentType: PrometheusContentType
openMetricsContentType: OpenMetricsContentType
MetricType
collectDefaultMetrics
Types
Charset
PrometheusMIME
PrometheusMetricsVersion
OpenMetricsMIME
OpenMetricsVersion
OpenMetricsContentType
PrometheusContentType
RegistryContentType
Collector
Metric
Aggregator
CollectFunction
MetricObject
MetricObjectWithValues
MetricValue
MetricValueWithName
LabelValues
MetricConfiguration
CounterConfiguration
IncreaseDataWithExemplar
ObserveDataWithExemplar
GaugeConfiguration
HistogramConfiguration
SummaryConfiguration
DefaultMetricsCollectorConfiguration
See also