Skip to content

Commit fba0594

Browse files
committed
fix escaping
Signed-off-by: Gregor Zeitlinger <[email protected]>
1 parent d47af4e commit fba0594

File tree

4 files changed

+41
-52
lines changed

4 files changed

+41
-52
lines changed

prometheus-metrics-exposition-formats/src/main/java/io/prometheus/metrics/expositionformats/internal/PrometheusProtobufWriterImpl.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ public void write(
6363
}
6464
}
6565

66-
public Metrics.MetricFamily convert(MetricSnapshot snapshot) {
66+
Metrics.MetricFamily convert(MetricSnapshot snapshot) {
6767
Metrics.MetricFamily.Builder builder = Metrics.MetricFamily.newBuilder();
6868
if (snapshot instanceof CounterSnapshot) {
6969
for (CounterDataPointSnapshot data : ((CounterSnapshot) snapshot).getDataPoints()) {
@@ -102,7 +102,7 @@ public Metrics.MetricFamily convert(MetricSnapshot snapshot) {
102102
for (StateSetSnapshot.StateSetDataPointSnapshot data :
103103
((StateSetSnapshot) snapshot).getDataPoints()) {
104104
for (int i = 0; i < data.size(); i++) {
105-
builder.addMetric(convert(data, snapshot.getMetadata().getPrometheusName(), i));
105+
builder.addMetric(convert(data, snapshot.getMetadata().getName(), i));
106106
}
107107
}
108108
setMetadataUnlessEmpty(builder, snapshot.getMetadata(), null, Metrics.MetricType.GAUGE);
@@ -272,9 +272,9 @@ private void setMetadataUnlessEmpty(
272272
return;
273273
}
274274
if (nameSuffix == null) {
275-
builder.setName(metadata.getPrometheusName());
275+
builder.setName(metadata.getName());
276276
} else {
277-
builder.setName(metadata.getPrometheusName() + nameSuffix);
277+
builder.setName(metadata.getName() + nameSuffix);
278278
}
279279
if (metadata.getHelp() != null) {
280280
builder.setHelp(metadata.getHelp());
@@ -351,7 +351,7 @@ private void addLabels(Metrics.Metric.Builder metricBuilder, Labels labels) {
351351
for (int i = 0; i < labels.size(); i++) {
352352
metricBuilder.addLabel(
353353
Metrics.LabelPair.newBuilder()
354-
.setName(labels.getPrometheusName(i))
354+
.setName(labels.getName(i))
355355
.setValue(labels.getValue(i))
356356
.build());
357357
}
@@ -361,7 +361,7 @@ private void addLabels(Metrics.Exemplar.Builder metricBuilder, Labels labels) {
361361
for (int i = 0; i < labels.size(); i++) {
362362
metricBuilder.addLabel(
363363
Metrics.LabelPair.newBuilder()
364-
.setName(labels.getPrometheusName(i))
364+
.setName(labels.getName(i))
365365
.setValue(labels.getValue(i))
366366
.build());
367367
}

prometheus-metrics-exposition-textformats/src/main/java/io/prometheus/metrics/expositionformats/OpenMetricsTextFormatWriter.java

Lines changed: 15 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ private void writeCounter(Writer writer, CounterSnapshot snapshot) throws IOExce
138138
MetricMetadata metadata = snapshot.getMetadata();
139139
writeMetadata(writer, "counter", metadata);
140140
for (CounterSnapshot.CounterDataPointSnapshot data : snapshot.getDataPoints()) {
141-
writeNameAndLabels(writer, metadata.getPrometheusName(), "_total", data.getLabels());
141+
writeNameAndLabels(writer, metadata.getName(), "_total", data.getLabels());
142142
writeDouble(writer, data.getValue());
143143
writeScrapeTimestampAndExemplar(writer, data, data.getExemplar());
144144
writeCreated(writer, metadata, data);
@@ -149,7 +149,7 @@ private void writeGauge(Writer writer, GaugeSnapshot snapshot) throws IOExceptio
149149
MetricMetadata metadata = snapshot.getMetadata();
150150
writeMetadata(writer, "gauge", metadata);
151151
for (GaugeSnapshot.GaugeDataPointSnapshot data : snapshot.getDataPoints()) {
152-
writeNameAndLabels(writer, metadata.getPrometheusName(), null, data.getLabels());
152+
writeNameAndLabels(writer, metadata.getName(), null, data.getLabels());
153153
writeDouble(writer, data.getValue());
154154
if (exemplarsOnAllMetricTypesEnabled) {
155155
writeScrapeTimestampAndExemplar(writer, data, data.getExemplar());
@@ -185,7 +185,7 @@ private void writeClassicHistogramBuckets(
185185
cumulativeCount += buckets.getCount(i);
186186
writeNameAndLabels(
187187
writer,
188-
metadata.getPrometheusName(),
188+
metadata.getName(),
189189
"_bucket",
190190
data.getLabels(),
191191
"le",
@@ -237,12 +237,7 @@ private void writeSummary(Writer writer, SummarySnapshot snapshot) throws IOExce
237237
int exemplarIndex = 1;
238238
for (Quantile quantile : data.getQuantiles()) {
239239
writeNameAndLabels(
240-
writer,
241-
metadata.getPrometheusName(),
242-
null,
243-
data.getLabels(),
244-
"quantile",
245-
quantile.getQuantile());
240+
writer, metadata.getName(), null, data.getLabels(), "quantile", quantile.getQuantile());
246241
writeDouble(writer, quantile.getValue());
247242
if (exemplars.size() > 0 && exemplarsOnAllMetricTypesEnabled) {
248243
exemplarIndex = (exemplarIndex + 1) % exemplars.size();
@@ -261,7 +256,7 @@ private void writeInfo(Writer writer, InfoSnapshot snapshot) throws IOException
261256
MetricMetadata metadata = snapshot.getMetadata();
262257
writeMetadata(writer, "info", metadata);
263258
for (InfoSnapshot.InfoDataPointSnapshot data : snapshot.getDataPoints()) {
264-
writeNameAndLabels(writer, metadata.getPrometheusName(), "_info", data.getLabels());
259+
writeNameAndLabels(writer, metadata.getName(), "_info", data.getLabels());
265260
writer.write("1");
266261
writeScrapeTimestampAndExemplar(writer, data, null);
267262
}
@@ -272,21 +267,21 @@ private void writeStateSet(Writer writer, StateSetSnapshot snapshot) throws IOEx
272267
writeMetadata(writer, "stateset", metadata);
273268
for (StateSetSnapshot.StateSetDataPointSnapshot data : snapshot.getDataPoints()) {
274269
for (int i = 0; i < data.size(); i++) {
275-
writer.write(metadata.getPrometheusName());
270+
writer.write(metadata.getName());
276271
writer.write('{');
277272
for (int j = 0; j < data.getLabels().size(); j++) {
278273
if (j > 0) {
279274
writer.write(",");
280275
}
281-
writer.write(data.getLabels().getPrometheusName(j));
276+
writer.write(data.getLabels().getName(j));
282277
writer.write("=\"");
283278
writeEscapedString(writer, data.getLabels().getValue(j));
284279
writer.write("\"");
285280
}
286281
if (!data.getLabels().isEmpty()) {
287282
writer.write(",");
288283
}
289-
writer.write(metadata.getPrometheusName());
284+
writer.write(metadata.getName());
290285
writer.write("=\"");
291286
writeEscapedString(writer, data.getName(i));
292287
writer.write("\"} ");
@@ -304,7 +299,7 @@ private void writeUnknown(Writer writer, UnknownSnapshot snapshot) throws IOExce
304299
MetricMetadata metadata = snapshot.getMetadata();
305300
writeMetadata(writer, "unknown", metadata);
306301
for (UnknownSnapshot.UnknownDataPointSnapshot data : snapshot.getDataPoints()) {
307-
writeNameAndLabels(writer, metadata.getPrometheusName(), null, data.getLabels());
302+
writeNameAndLabels(writer, metadata.getName(), null, data.getLabels());
308303
writeDouble(writer, data.getValue());
309304
if (exemplarsOnAllMetricTypesEnabled) {
310305
writeScrapeTimestampAndExemplar(writer, data, data.getExemplar());
@@ -323,7 +318,7 @@ private void writeCountAndSum(
323318
Exemplars exemplars)
324319
throws IOException {
325320
if (data.hasCount()) {
326-
writeNameAndLabels(writer, metadata.getPrometheusName(), countSuffix, data.getLabels());
321+
writeNameAndLabels(writer, metadata.getName(), countSuffix, data.getLabels());
327322
writeLong(writer, data.getCount());
328323
if (exemplarsOnAllMetricTypesEnabled) {
329324
writeScrapeTimestampAndExemplar(writer, data, exemplars.getLatest());
@@ -332,7 +327,7 @@ private void writeCountAndSum(
332327
}
333328
}
334329
if (data.hasSum()) {
335-
writeNameAndLabels(writer, metadata.getPrometheusName(), sumSuffix, data.getLabels());
330+
writeNameAndLabels(writer, metadata.getName(), sumSuffix, data.getLabels());
336331
writeDouble(writer, data.getSum());
337332
writeScrapeTimestampAndExemplar(writer, data, null);
338333
}
@@ -341,7 +336,7 @@ private void writeCountAndSum(
341336
private void writeCreated(Writer writer, MetricMetadata metadata, DataPointSnapshot data)
342337
throws IOException {
343338
if (createdTimestampsEnabled && data.hasCreatedTimestamp()) {
344-
writeNameAndLabels(writer, metadata.getPrometheusName(), "_created", data.getLabels());
339+
writeNameAndLabels(writer, metadata.getName(), "_created", data.getLabels());
345340
writeOpenMetricsTimestamp(writer, data.getCreatedTimestampMillis());
346341
if (data.hasScrapeTimestamp()) {
347342
writer.write(' ');
@@ -402,20 +397,20 @@ private void writeScrapeTimestampAndExemplar(
402397
private void writeMetadata(Writer writer, String typeName, MetricMetadata metadata)
403398
throws IOException {
404399
writer.write("# TYPE ");
405-
writeName(writer, metadata.getPrometheusName(), NameType.Metric);
400+
writeName(writer, metadata.getName(), NameType.Metric);
406401
writer.write(' ');
407402
writer.write(typeName);
408403
writer.write('\n');
409404
if (metadata.getUnit() != null) {
410405
writer.write("# UNIT ");
411-
writeName(writer, metadata.getPrometheusName(), NameType.Metric);
406+
writeName(writer, metadata.getName(), NameType.Metric);
412407
writer.write(' ');
413408
writeEscapedString(writer, metadata.getUnit().toString());
414409
writer.write('\n');
415410
}
416411
if (metadata.getHelp() != null && !metadata.getHelp().isEmpty()) {
417412
writer.write("# HELP ");
418-
writeName(writer, metadata.getPrometheusName(), NameType.Metric);
413+
writeName(writer, metadata.getName(), NameType.Metric);
419414
writer.write(' ');
420415
writeEscapedString(writer, metadata.getHelp());
421416
writer.write('\n');

prometheus-metrics-exposition-textformats/src/main/java/io/prometheus/metrics/expositionformats/PrometheusTextFormatWriter.java

Lines changed: 19 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ public void writeCreated(Writer writer, MetricSnapshot snapshot) throws IOExcept
158158
writeMetadata(writer, "_created", "gauge", metadata);
159159
metadataWritten = true;
160160
}
161-
writeNameAndLabels(writer, metadata.getPrometheusName(), "_created", data.getLabels());
161+
writeNameAndLabels(writer, metadata.getName(), "_created", data.getLabels());
162162
writePrometheusTimestamp(writer, data.getCreatedTimestampMillis(), timestampsInMs);
163163
writeScrapeTimestampAndNewline(writer, data);
164164
}
@@ -170,7 +170,7 @@ private void writeCounter(Writer writer, CounterSnapshot snapshot) throws IOExce
170170
MetricMetadata metadata = snapshot.getMetadata();
171171
writeMetadata(writer, "_total", "counter", metadata);
172172
for (CounterSnapshot.CounterDataPointSnapshot data : snapshot.getDataPoints()) {
173-
writeNameAndLabels(writer, metadata.getPrometheusName(), "_total", data.getLabels());
173+
writeNameAndLabels(writer, metadata.getName(), "_total", data.getLabels());
174174
writeDouble(writer, data.getValue());
175175
writeScrapeTimestampAndNewline(writer, data);
176176
}
@@ -181,7 +181,7 @@ private void writeGauge(Writer writer, GaugeSnapshot snapshot) throws IOExceptio
181181
MetricMetadata metadata = snapshot.getMetadata();
182182
writeMetadata(writer, "", "gauge", metadata);
183183
for (GaugeSnapshot.GaugeDataPointSnapshot data : snapshot.getDataPoints()) {
184-
writeNameAndLabels(writer, metadata.getPrometheusName(), null, data.getLabels());
184+
writeNameAndLabels(writer, metadata.getName(), null, data.getLabels());
185185
writeDouble(writer, data.getValue());
186186
writeScrapeTimestampAndNewline(writer, data);
187187
}
@@ -197,7 +197,7 @@ private void writeHistogram(Writer writer, HistogramSnapshot snapshot) throws IO
197197
cumulativeCount += buckets.getCount(i);
198198
writeNameAndLabels(
199199
writer,
200-
metadata.getPrometheusName(),
200+
metadata.getName(),
201201
"_bucket",
202202
data.getLabels(),
203203
"le",
@@ -207,12 +207,12 @@ private void writeHistogram(Writer writer, HistogramSnapshot snapshot) throws IO
207207
}
208208
if (!snapshot.isGaugeHistogram()) {
209209
if (data.hasCount()) {
210-
writeNameAndLabels(writer, metadata.getPrometheusName(), "_count", data.getLabels());
210+
writeNameAndLabels(writer, metadata.getName(), "_count", data.getLabels());
211211
writeLong(writer, data.getCount());
212212
writeScrapeTimestampAndNewline(writer, data);
213213
}
214214
if (data.hasSum()) {
215-
writeNameAndLabels(writer, metadata.getPrometheusName(), "_sum", data.getLabels());
215+
writeNameAndLabels(writer, metadata.getName(), "_sum", data.getLabels());
216216
writeDouble(writer, data.getSum());
217217
writeScrapeTimestampAndNewline(writer, data);
218218
}
@@ -244,7 +244,7 @@ private void writeGaugeCountSum(
244244
writeMetadata(writer, "_gcount", "gauge", metadata);
245245
metadataWritten = true;
246246
}
247-
writeNameAndLabels(writer, metadata.getPrometheusName(), "_gcount", data.getLabels());
247+
writeNameAndLabels(writer, metadata.getName(), "_gcount", data.getLabels());
248248
writeLong(writer, data.getCount());
249249
writeScrapeTimestampAndNewline(writer, data);
250250
}
@@ -256,7 +256,7 @@ private void writeGaugeCountSum(
256256
writeMetadata(writer, "_gsum", "gauge", metadata);
257257
metadataWritten = true;
258258
}
259-
writeNameAndLabels(writer, metadata.getPrometheusName(), "_gsum", data.getLabels());
259+
writeNameAndLabels(writer, metadata.getName(), "_gsum", data.getLabels());
260260
writeDouble(writer, data.getSum());
261261
writeScrapeTimestampAndNewline(writer, data);
262262
}
@@ -276,22 +276,17 @@ private void writeSummary(Writer writer, SummarySnapshot snapshot) throws IOExce
276276
}
277277
for (Quantile quantile : data.getQuantiles()) {
278278
writeNameAndLabels(
279-
writer,
280-
metadata.getPrometheusName(),
281-
null,
282-
data.getLabels(),
283-
"quantile",
284-
quantile.getQuantile());
279+
writer, metadata.getName(), null, data.getLabels(), "quantile", quantile.getQuantile());
285280
writeDouble(writer, quantile.getValue());
286281
writeScrapeTimestampAndNewline(writer, data);
287282
}
288283
if (data.hasCount()) {
289-
writeNameAndLabels(writer, metadata.getPrometheusName(), "_count", data.getLabels());
284+
writeNameAndLabels(writer, metadata.getName(), "_count", data.getLabels());
290285
writeLong(writer, data.getCount());
291286
writeScrapeTimestampAndNewline(writer, data);
292287
}
293288
if (data.hasSum()) {
294-
writeNameAndLabels(writer, metadata.getPrometheusName(), "_sum", data.getLabels());
289+
writeNameAndLabels(writer, metadata.getName(), "_sum", data.getLabels());
295290
writeDouble(writer, data.getSum());
296291
writeScrapeTimestampAndNewline(writer, data);
297292
}
@@ -302,7 +297,7 @@ private void writeInfo(Writer writer, InfoSnapshot snapshot) throws IOException
302297
MetricMetadata metadata = snapshot.getMetadata();
303298
writeMetadata(writer, "_info", "gauge", metadata);
304299
for (InfoSnapshot.InfoDataPointSnapshot data : snapshot.getDataPoints()) {
305-
writeNameAndLabels(writer, metadata.getPrometheusName(), "_info", data.getLabels());
300+
writeNameAndLabels(writer, metadata.getName(), "_info", data.getLabels());
306301
writer.write("1");
307302
writeScrapeTimestampAndNewline(writer, data);
308303
}
@@ -313,21 +308,21 @@ private void writeStateSet(Writer writer, StateSetSnapshot snapshot) throws IOEx
313308
writeMetadata(writer, "", "gauge", metadata);
314309
for (StateSetSnapshot.StateSetDataPointSnapshot data : snapshot.getDataPoints()) {
315310
for (int i = 0; i < data.size(); i++) {
316-
writer.write(metadata.getPrometheusName());
311+
writer.write(metadata.getName());
317312
writer.write('{');
318313
for (int j = 0; j < data.getLabels().size(); j++) {
319314
if (j > 0) {
320315
writer.write(",");
321316
}
322-
writer.write(data.getLabels().getPrometheusName(j));
317+
writer.write(data.getLabels().getName(j));
323318
writer.write("=\"");
324319
writeEscapedString(writer, data.getLabels().getValue(j));
325320
writer.write("\"");
326321
}
327322
if (!data.getLabels().isEmpty()) {
328323
writer.write(",");
329324
}
330-
writer.write(metadata.getPrometheusName());
325+
writer.write(metadata.getName());
331326
writer.write("=\"");
332327
writeEscapedString(writer, data.getName(i));
333328
writer.write("\"} ");
@@ -345,7 +340,7 @@ private void writeUnknown(Writer writer, UnknownSnapshot snapshot) throws IOExce
345340
MetricMetadata metadata = snapshot.getMetadata();
346341
writeMetadata(writer, "", "untyped", metadata);
347342
for (UnknownSnapshot.UnknownDataPointSnapshot data : snapshot.getDataPoints()) {
348-
writeNameAndLabels(writer, metadata.getPrometheusName(), null, data.getLabels());
343+
writeNameAndLabels(writer, metadata.getName(), null, data.getLabels());
349344
writeDouble(writer, data.getValue());
350345
writeScrapeTimestampAndNewline(writer, data);
351346
}
@@ -382,17 +377,16 @@ private void writeNameAndLabels(
382377

383378
private void writeMetadata(
384379
Writer writer, String suffix, String typeString, MetricMetadata metadata) throws IOException {
380+
String name = metadata.getName() + (suffix != null ? suffix : "");
385381
if (metadata.getHelp() != null && !metadata.getHelp().isEmpty()) {
386382
writer.write("# HELP ");
387-
writeName(
388-
writer, metadata.getPrometheusName() + (suffix != null ? suffix : ""), NameType.Metric);
383+
writeName(writer, name, NameType.Metric);
389384
writer.write(' ');
390385
writeEscapedHelp(writer, metadata.getHelp());
391386
writer.write('\n');
392387
}
393388
writer.write("# TYPE ");
394-
writeName(
395-
writer, metadata.getPrometheusName() + (suffix != null ? suffix : ""), NameType.Metric);
389+
writeName(writer, name, NameType.Metric);
396390
writer.write(' ');
397391
writer.write(typeString);
398392
writer.write('\n');

prometheus-metrics-exposition-textformats/src/main/java/io/prometheus/metrics/expositionformats/TextFormatUtil.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ static void writeLabels(
114114
if (i > 0 || metricInsideBraces) {
115115
writer.write(",");
116116
}
117-
writeName(writer, labels.getPrometheusName(i), NameType.Label);
117+
writeName(writer, labels.getName(i), NameType.Label);
118118
writer.write("=\"");
119119
writeEscapedString(writer, labels.getValue(i));
120120
writer.write("\"");

0 commit comments

Comments
 (0)