diff --git a/packages/opentelemetry-exporter-prometheus/src/PrometheusExporter.ts b/packages/opentelemetry-exporter-prometheus/src/PrometheusExporter.ts index c83fcb944b..077b9a37e7 100644 --- a/packages/opentelemetry-exporter-prometheus/src/PrometheusExporter.ts +++ b/packages/opentelemetry-exporter-prometheus/src/PrometheusExporter.ts @@ -33,6 +33,7 @@ export class PrometheusExporter implements MetricExporter { port: 9464, endpoint: '/metrics', prefix: '', + appendTimestamp: true, }; private readonly _logger: api.Logger; @@ -40,6 +41,7 @@ export class PrometheusExporter implements MetricExporter { private readonly _endpoint: string; private readonly _server: Server; private readonly _prefix?: string; + private readonly _appendTimestamp?: boolean; private _serializer: PrometheusSerializer; private _batcher = new PrometheusLabelsBatcher(); @@ -56,8 +58,9 @@ export class PrometheusExporter implements MetricExporter { this._logger = config.logger || new NoopLogger(); this._port = config.port || PrometheusExporter.DEFAULT_OPTIONS.port; this._prefix = config.prefix || PrometheusExporter.DEFAULT_OPTIONS.prefix; + this._appendTimestamp = config.appendTimestamp ?? PrometheusExporter.DEFAULT_OPTIONS.appendTimestamp; this._server = createServer(this._requestHandler); - this._serializer = new PrometheusSerializer(this._prefix); + this._serializer = new PrometheusSerializer(this._prefix, this._appendTimestamp); this._endpoint = ( config.endpoint || PrometheusExporter.DEFAULT_OPTIONS.endpoint diff --git a/packages/opentelemetry-exporter-prometheus/src/export/types.ts b/packages/opentelemetry-exporter-prometheus/src/export/types.ts index 99574d13c6..40efc413cf 100644 --- a/packages/opentelemetry-exporter-prometheus/src/export/types.ts +++ b/packages/opentelemetry-exporter-prometheus/src/export/types.ts @@ -27,6 +27,12 @@ export interface ExporterConfig { * */ prefix?: string; + /** + * Append timestamp to metrics + * @default true + */ + appendTimestamp?: boolean; + /** * Endpoint the metrics should be exposed at with preceding slash * @default '/metrics'