Skip to content

Commit 3cc40d7

Browse files
feat(opentelemetry-exporter-prometheus): export PrometheusSerializer (#3034)
Co-authored-by: Valentin Marchaud <[email protected]>
1 parent 5f9ef51 commit 3cc40d7

File tree

4 files changed

+17
-15
lines changed

4 files changed

+17
-15
lines changed

experimental/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ All notable changes to experimental packages in this project will be documented
1212

1313
* feat(opentelemetry-instrumentation-fetch): optionally ignore network events #3028 @gregolsen
1414
* feat(http-instrumentation): record exceptions in http instrumentation #3008 @luismiramirez
15+
* feat(opentelemetry-exporter-prometheus): export PrometheusSerializer #3034 @matschaffer
1516

1617
### :bug: (Bug Fix)
1718

experimental/packages/opentelemetry-exporter-prometheus/src/PrometheusSerializer.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -179,20 +179,20 @@ export class PrometheusSerializer {
179179
serialize(resourceMetrics: ResourceMetrics): string {
180180
let str = '';
181181
for (const scopeMetrics of resourceMetrics.scopeMetrics) {
182-
str += this.serializeScopeMetrics(scopeMetrics);
182+
str += this._serializeScopeMetrics(scopeMetrics);
183183
}
184184
return str;
185185
}
186186

187-
serializeScopeMetrics(scopeMetrics: ScopeMetrics) {
187+
private _serializeScopeMetrics(scopeMetrics: ScopeMetrics) {
188188
let str = '';
189189
for (const metric of scopeMetrics.metrics) {
190-
str += this.serializeMetricData(metric) + '\n';
190+
str += this._serializeMetricData(metric) + '\n';
191191
}
192192
return str;
193193
}
194194

195-
serializeMetricData(metricData: MetricData) {
195+
private _serializeMetricData(metricData: MetricData) {
196196
let name = sanitizePrometheusMetricName(
197197
escapeString(metricData.descriptor.name)
198198
);
@@ -218,13 +218,13 @@ export class PrometheusSerializer {
218218
switch (dataPointType) {
219219
case DataPointType.SINGULAR: {
220220
results = metricData.dataPoints
221-
.map(it => this.serializeSingularDataPoint(name, metricData.descriptor.type, it))
221+
.map(it => this._serializeSingularDataPoint(name, metricData.descriptor.type, it))
222222
.join('');
223223
break;
224224
}
225225
case DataPointType.HISTOGRAM: {
226226
results = metricData.dataPoints
227-
.map(it => this.serializeHistogramDataPoint(name, metricData.descriptor.type, it))
227+
.map(it => this._serializeHistogramDataPoint(name, metricData.descriptor.type, it))
228228
.join('');
229229
break;
230230
}
@@ -236,7 +236,7 @@ export class PrometheusSerializer {
236236
return `${help}\n${type}\n${results}`.trim();
237237
}
238238

239-
serializeSingularDataPoint(name: string, type: InstrumentType, dataPoint: DataPoint<number>): string {
239+
private _serializeSingularDataPoint(name: string, type: InstrumentType, dataPoint: DataPoint<number>): string {
240240
let results = '';
241241

242242
name = enforcePrometheusNamingConvention(name, type);
@@ -252,7 +252,7 @@ export class PrometheusSerializer {
252252
return results;
253253
}
254254

255-
serializeHistogramDataPoint(name: string, type: InstrumentType, dataPoint: DataPoint<Histogram>): string {
255+
private _serializeHistogramDataPoint(name: string, type: InstrumentType, dataPoint: DataPoint<Histogram>): string {
256256
let results = '';
257257

258258
name = enforcePrometheusNamingConvention(name, type);

experimental/packages/opentelemetry-exporter-prometheus/src/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,5 @@
1515
*/
1616

1717
export * from './PrometheusExporter';
18+
export * from './PrometheusSerializer';
1819
export * from './export/types';

experimental/packages/opentelemetry-exporter-prometheus/test/PrometheusSerializer.test.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ import {
2727
Histogram,
2828
} from '@opentelemetry/sdk-metrics-base';
2929
import * as sinon from 'sinon';
30-
import { PrometheusSerializer } from '../src/PrometheusSerializer';
30+
import { PrometheusSerializer } from '../src';
3131
import { mockedHrTimeMs, mockHrTime } from './util';
3232

3333
const attributes = {
@@ -86,7 +86,7 @@ describe('PrometheusSerializer', () => {
8686
const pointData = metric.dataPoints as DataPoint<number>[];
8787
assert.strictEqual(pointData.length, 1);
8888

89-
const result = serializer.serializeSingularDataPoint(metric.descriptor.name, metric.descriptor.type, pointData[0]);
89+
const result = serializer['_serializeSingularDataPoint'](metric.descriptor.name, metric.descriptor.type, pointData[0]);
9090
return result;
9191
}
9292

@@ -129,7 +129,7 @@ describe('PrometheusSerializer', () => {
129129
const pointData = metric.dataPoints as DataPoint<Histogram>[];
130130
assert.strictEqual(pointData.length, 1);
131131

132-
const result = serializer.serializeHistogramDataPoint(metric.descriptor.name, metric.descriptor.type, pointData[0]);
132+
const result = serializer['_serializeHistogramDataPoint'](metric.descriptor.name, metric.descriptor.type, pointData[0]);
133133
return result;
134134
}
135135

@@ -184,7 +184,7 @@ describe('PrometheusSerializer', () => {
184184
assert.strictEqual(resourceMetrics.scopeMetrics[0].metrics.length, 1);
185185
const scopeMetrics = resourceMetrics.scopeMetrics[0];
186186

187-
const result = serializer.serializeScopeMetrics(scopeMetrics);
187+
const result = serializer['_serializeScopeMetrics'](scopeMetrics);
188188
return result;
189189
}
190190

@@ -236,7 +236,7 @@ describe('PrometheusSerializer', () => {
236236
assert.strictEqual(resourceMetrics.scopeMetrics[0].metrics.length, 1);
237237
const scopeMetrics = resourceMetrics.scopeMetrics[0];
238238

239-
const result = serializer.serializeScopeMetrics(scopeMetrics);
239+
const result = serializer['_serializeScopeMetrics'](scopeMetrics);
240240
return result;
241241
}
242242

@@ -284,7 +284,7 @@ describe('PrometheusSerializer', () => {
284284
const pointData = metric.dataPoints as DataPoint<number>[];
285285
assert.strictEqual(pointData.length, 1);
286286

287-
const result = serializer.serializeSingularDataPoint(metric.descriptor.name, metric.descriptor.type, pointData[0]);
287+
const result = serializer['_serializeSingularDataPoint'](metric.descriptor.name, metric.descriptor.type, pointData[0]);
288288
return result;
289289
}
290290

@@ -323,7 +323,7 @@ describe('PrometheusSerializer', () => {
323323
const pointData = metric.dataPoints as DataPoint<number>[];
324324
assert.strictEqual(pointData.length, 1);
325325

326-
const result = serializer.serializeSingularDataPoint(metric.descriptor.name, metric.descriptor.type, pointData[0]);
326+
const result = serializer['_serializeSingularDataPoint'](metric.descriptor.name, metric.descriptor.type, pointData[0]);
327327
return result;
328328
}
329329

0 commit comments

Comments
 (0)