Skip to content

Commit 64f02ea

Browse files
authored
Use buffered writer (#1248)
Signed-off-by: dhoard <[email protected]>
1 parent 0d3020b commit 64f02ea

File tree

1 file changed

+18
-22
lines changed

1 file changed

+18
-22
lines changed

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

Lines changed: 18 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,11 @@
2323
import io.prometheus.metrics.model.snapshots.StateSetSnapshot;
2424
import io.prometheus.metrics.model.snapshots.SummarySnapshot;
2525
import io.prometheus.metrics.model.snapshots.UnknownSnapshot;
26+
import java.io.BufferedWriter;
2627
import java.io.IOException;
2728
import java.io.OutputStream;
2829
import java.io.OutputStreamWriter;
30+
import java.io.Writer;
2931
import java.nio.charset.StandardCharsets;
3032
import java.util.List;
3133

@@ -65,7 +67,7 @@ public String getContentType() {
6567

6668
@Override
6769
public void write(OutputStream out, MetricSnapshots metricSnapshots) throws IOException {
68-
OutputStreamWriter writer = new OutputStreamWriter(out, StandardCharsets.UTF_8);
70+
Writer writer = new BufferedWriter(new OutputStreamWriter(out, StandardCharsets.UTF_8));
6971
for (MetricSnapshot snapshot : metricSnapshots) {
7072
if (!snapshot.getDataPoints().isEmpty()) {
7173
if (snapshot instanceof CounterSnapshot) {
@@ -89,8 +91,7 @@ public void write(OutputStream out, MetricSnapshots metricSnapshots) throws IOEx
8991
writer.flush();
9092
}
9193

92-
private void writeCounter(OutputStreamWriter writer, CounterSnapshot snapshot)
93-
throws IOException {
94+
private void writeCounter(Writer writer, CounterSnapshot snapshot) throws IOException {
9495
MetricMetadata metadata = snapshot.getMetadata();
9596
writeMetadata(writer, "counter", metadata);
9697
for (CounterSnapshot.CounterDataPointSnapshot data : snapshot.getDataPoints()) {
@@ -101,7 +102,7 @@ private void writeCounter(OutputStreamWriter writer, CounterSnapshot snapshot)
101102
}
102103
}
103104

104-
private void writeGauge(OutputStreamWriter writer, GaugeSnapshot snapshot) throws IOException {
105+
private void writeGauge(Writer writer, GaugeSnapshot snapshot) throws IOException {
105106
MetricMetadata metadata = snapshot.getMetadata();
106107
writeMetadata(writer, "gauge", metadata);
107108
for (GaugeSnapshot.GaugeDataPointSnapshot data : snapshot.getDataPoints()) {
@@ -115,8 +116,7 @@ private void writeGauge(OutputStreamWriter writer, GaugeSnapshot snapshot) throw
115116
}
116117
}
117118

118-
private void writeHistogram(OutputStreamWriter writer, HistogramSnapshot snapshot)
119-
throws IOException {
119+
private void writeHistogram(Writer writer, HistogramSnapshot snapshot) throws IOException {
120120
MetricMetadata metadata = snapshot.getMetadata();
121121
if (snapshot.isGaugeHistogram()) {
122122
writeMetadata(writer, "gaugehistogram", metadata);
@@ -128,7 +128,7 @@ private void writeHistogram(OutputStreamWriter writer, HistogramSnapshot snapsho
128128
}
129129

130130
private void writeClassicHistogramBuckets(
131-
OutputStreamWriter writer,
131+
Writer writer,
132132
MetricMetadata metadata,
133133
String countSuffix,
134134
String sumSuffix,
@@ -174,8 +174,7 @@ private ClassicHistogramBuckets getClassicBuckets(
174174
}
175175
}
176176

177-
private void writeSummary(OutputStreamWriter writer, SummarySnapshot snapshot)
178-
throws IOException {
177+
private void writeSummary(Writer writer, SummarySnapshot snapshot) throws IOException {
179178
boolean metadataWritten = false;
180179
MetricMetadata metadata = snapshot.getMetadata();
181180
for (SummarySnapshot.SummaryDataPointSnapshot data : snapshot.getDataPoints()) {
@@ -215,7 +214,7 @@ private void writeSummary(OutputStreamWriter writer, SummarySnapshot snapshot)
215214
}
216215
}
217216

218-
private void writeInfo(OutputStreamWriter writer, InfoSnapshot snapshot) throws IOException {
217+
private void writeInfo(Writer writer, InfoSnapshot snapshot) throws IOException {
219218
MetricMetadata metadata = snapshot.getMetadata();
220219
writeMetadata(writer, "info", metadata);
221220
for (InfoSnapshot.InfoDataPointSnapshot data : snapshot.getDataPoints()) {
@@ -225,8 +224,7 @@ private void writeInfo(OutputStreamWriter writer, InfoSnapshot snapshot) throws
225224
}
226225
}
227226

228-
private void writeStateSet(OutputStreamWriter writer, StateSetSnapshot snapshot)
229-
throws IOException {
227+
private void writeStateSet(Writer writer, StateSetSnapshot snapshot) throws IOException {
230228
MetricMetadata metadata = snapshot.getMetadata();
231229
writeMetadata(writer, "stateset", metadata);
232230
for (StateSetSnapshot.StateSetDataPointSnapshot data : snapshot.getDataPoints()) {
@@ -259,8 +257,7 @@ private void writeStateSet(OutputStreamWriter writer, StateSetSnapshot snapshot)
259257
}
260258
}
261259

262-
private void writeUnknown(OutputStreamWriter writer, UnknownSnapshot snapshot)
263-
throws IOException {
260+
private void writeUnknown(Writer writer, UnknownSnapshot snapshot) throws IOException {
264261
MetricMetadata metadata = snapshot.getMetadata();
265262
writeMetadata(writer, "unknown", metadata);
266263
for (UnknownSnapshot.UnknownDataPointSnapshot data : snapshot.getDataPoints()) {
@@ -275,7 +272,7 @@ private void writeUnknown(OutputStreamWriter writer, UnknownSnapshot snapshot)
275272
}
276273

277274
private void writeCountAndSum(
278-
OutputStreamWriter writer,
275+
Writer writer,
279276
MetricMetadata metadata,
280277
DistributionDataPointSnapshot data,
281278
String countSuffix,
@@ -298,8 +295,7 @@ private void writeCountAndSum(
298295
}
299296
}
300297

301-
private void writeCreated(
302-
OutputStreamWriter writer, MetricMetadata metadata, DataPointSnapshot data)
298+
private void writeCreated(Writer writer, MetricMetadata metadata, DataPointSnapshot data)
303299
throws IOException {
304300
if (createdTimestampsEnabled && data.hasCreatedTimestamp()) {
305301
writeNameAndLabels(writer, metadata.getPrometheusName(), "_created", data.getLabels());
@@ -312,13 +308,13 @@ private void writeCreated(
312308
}
313309
}
314310

315-
private void writeNameAndLabels(
316-
OutputStreamWriter writer, String name, String suffix, Labels labels) throws IOException {
311+
private void writeNameAndLabels(Writer writer, String name, String suffix, Labels labels)
312+
throws IOException {
317313
writeNameAndLabels(writer, name, suffix, labels, null, 0.0);
318314
}
319315

320316
private void writeNameAndLabels(
321-
OutputStreamWriter writer,
317+
Writer writer,
322318
String name,
323319
String suffix,
324320
Labels labels,
@@ -336,7 +332,7 @@ private void writeNameAndLabels(
336332
}
337333

338334
private void writeScrapeTimestampAndExemplar(
339-
OutputStreamWriter writer, DataPointSnapshot data, Exemplar exemplar) throws IOException {
335+
Writer writer, DataPointSnapshot data, Exemplar exemplar) throws IOException {
340336
if (data.hasScrapeTimestamp()) {
341337
writer.write(' ');
342338
writeTimestamp(writer, data.getScrapeTimestampMillis());
@@ -354,7 +350,7 @@ private void writeScrapeTimestampAndExemplar(
354350
writer.write('\n');
355351
}
356352

357-
private void writeMetadata(OutputStreamWriter writer, String typeName, MetricMetadata metadata)
353+
private void writeMetadata(Writer writer, String typeName, MetricMetadata metadata)
358354
throws IOException {
359355
writer.write("# TYPE ");
360356
writer.write(metadata.getPrometheusName());

0 commit comments

Comments
 (0)