Skip to content

Commit

Permalink
Merge pull request #62 from erikvanoosten/fix-prometheus-format
Browse files Browse the repository at this point in the history
Remove trailing comma from labels in prometheus encoding
  • Loading branch information
petoalbert committed Jan 10, 2024
2 parents f6adf5e + 794b3f9 commit 5396527
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,8 @@ case object PrometheusEncoder {
else
allLabels
.foldLeft(new StringBuilder(256).append("{")) { case (sb, l) =>
sb.append(l.key).append("=\"").append(l.value).append("\",")
if (sb.size > 1) sb.append(",")
sb.append(l.key).append("=\"").append(l.value).append("\"")
}
.append("}")
).result()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,20 +25,20 @@ object PrometheusEncoderSpec extends ZIOSpecDefault with Generators {
Chunk(
"# TYPE jvm_memory_pool_collection_max_bytes gauge",
"#HELP jvm_memory_pool_collection_max_bytes",
"jvm_memory_pool_collection_max_bytes{pool=\"Metaspace\",} 0.0 1681853772729",
"jvm_memory_pool_collection_max_bytes{pool=\"Metaspace\"} 0.0 1681853772729",
),
Chunk(
"# TYPE jvm_memory_pool_collection_max_bytes gauge",
"#HELP jvm_memory_pool_collection_max_bytes",
"jvm_memory_pool_collection_max_bytes{pool=\"G1 Eden Space\",} -1.0 1681853772729",
"jvm_memory_pool_collection_max_bytes{pool=\"G1 Eden Space\"} -1.0 1681853772729",
),
)
val groupedMetric = Chunk(
Chunk(
"# TYPE jvm_memory_pool_collection_max_bytes gauge",
"#HELP jvm_memory_pool_collection_max_bytes",
"jvm_memory_pool_collection_max_bytes{pool=\"Metaspace\",} 0.0 1681853772729",
"jvm_memory_pool_collection_max_bytes{pool=\"G1 Eden Space\",} -1.0 1681853772729",
"jvm_memory_pool_collection_max_bytes{pool=\"Metaspace\"} 0.0 1681853772729",
"jvm_memory_pool_collection_max_bytes{pool=\"G1 Eden Space\"} -1.0 1681853772729",
),
)
assertTrue(groupMetricByType(encodedMetric) == groupedMetric)
Expand All @@ -48,12 +48,12 @@ object PrometheusEncoderSpec extends ZIOSpecDefault with Generators {
Chunk(
"# TYPE jvm_memory_pool_collection_max_bytes gauge",
"#HELP jvm_memory_pool_collection_max_bytes",
"jvm_memory_pool_collection_max_bytes{pool=\"G1 Eden Space\",} -1.0 1681853772729",
"jvm_memory_pool_collection_max_bytes{pool=\"G1 Eden Space\"} -1.0 1681853772729",
),
Chunk(
"# TYPE jvm_memory_pool_collection_used_bytes gauge",
"#HELP jvm_memory_pool_collection_used_bytes",
"TYPE jvm_memory_pool_collection_used_bytes{pool=\"Metaspace\",} 0.0 1681853772729",
"TYPE jvm_memory_pool_collection_used_bytes{pool=\"Metaspace\"} 0.0 1681853772729",
),
)
assertTrue(groupMetricByType(encodedMetric) == encodedMetric)
Expand All @@ -66,7 +66,7 @@ object PrometheusEncoderSpec extends ZIOSpecDefault with Generators {
private def labelString(key: MetricKey.Untyped, extra: (String, String)*) = {
val tags = key.tags ++ extra.map(x => MetricLabel(x._1, x._2)).toSet
if (tags.isEmpty) ""
else tags.toList.map(l => s"""${l.key}="${l.value}",""").mkString("{", "", "}")
else tags.toList.map(l => s"""${l.key}="${l.value}"""").mkString("{", ",", "}")
}

private val encodeCounter = test("Encode a Counter")(check(genCounter) { case (pair, state) =>
Expand Down

0 comments on commit 5396527

Please sign in to comment.