[fix](metric) fix prometheus metric format error for doris_fe_query_latency_ms (#15447)

Co-authored-by: caiconghui1 <caiconghui1@jd.com>
This commit is contained in:
caiconghui
2022-12-29 08:51:15 +08:00
committed by GitHub
parent 6f200e0ef6
commit 1b1083eb52
2 changed files with 12 additions and 8 deletions

View File

@ -190,20 +190,20 @@ public class PrometheusMetricVisitor extends MetricVisitor {
}
}
final String fullName = prefix + String.join("_", names);
final String fullTag = String.join(" ", tags);
final String fullTag = String.join(",", tags);
sb.append(HELP).append(fullName).append(" ").append("\n");
sb.append(TYPE).append(fullName).append(" ").append("summary\n");
String delimiter = tags.isEmpty() ? "" : ",";
Snapshot snapshot = histogram.getSnapshot();
sb.append(fullName).append("{quantile=\"0.75\" ").append(fullTag).append("} ")
sb.append(fullName).append("{quantile=\"0.75\"").append(delimiter).append(fullTag).append("} ")
.append(snapshot.get75thPercentile()).append("\n");
sb.append(fullName).append("{quantile=\"0.95\" ").append(fullTag).append("} ")
sb.append(fullName).append("{quantile=\"0.95\"").append(delimiter).append(fullTag).append("} ")
.append(snapshot.get95thPercentile()).append("\n");
sb.append(fullName).append("{quantile=\"0.98\" ").append(fullTag).append("} ")
sb.append(fullName).append("{quantile=\"0.98\"").append(delimiter).append(fullTag).append("} ")
.append(snapshot.get98thPercentile()).append("\n");
sb.append(fullName).append("{quantile=\"0.99\" ").append(fullTag).append("} ")
sb.append(fullName).append("{quantile=\"0.99\"").append(delimiter).append(fullTag).append("} ")
.append(snapshot.get99thPercentile()).append("\n");
sb.append(fullName).append("{quantile=\"0.999\" ").append(fullTag).append("} ")
sb.append(fullName).append("{quantile=\"0.999\"").append(delimiter).append(fullTag).append("} ")
.append(snapshot.get999thPercentile()).append("\n");
sb.append(fullName).append("_sum {").append(fullTag).append("} ")
.append(histogram.getCount() * snapshot.getMean()).append("\n");

View File

@ -66,6 +66,10 @@ public class MetricsTest {
for (Map.Entry<String, Histogram> entry : histograms.entrySet()) {
visitor.visitHistogram(sb, MetricVisitor.FE_PREFIX, entry.getKey(), entry.getValue());
}
Assert.assertTrue(sb.toString().contains("# TYPE doris_fe_query_latency_ms summary"));
String metricResult = sb.toString();
Assert.assertTrue(metricResult.contains("# TYPE doris_fe_query_latency_ms summary"));
Assert.assertTrue(metricResult.contains("doris_fe_query_latency_ms{quantile=\"0.999\"} 0.0"));
Assert.assertTrue(metricResult.contains("doris_fe_query_latency_ms{quantile=\"0.999\",db=\"test_db\"} 10.0"));
}
}