mirror of
https://github.com/prometheus/prometheus.git
synced 2024-12-26 06:04:05 -08:00
Add basic benchmark cases for NHCB over OM
Signed-off-by: György Krajcsovits <gyorgy.krajcsovits@grafana.com>
This commit is contained in:
parent
530e9514b7
commit
14f92319d9
|
@ -40,6 +40,10 @@ var newTestParserFns = map[string]newParser{
|
|||
"omtext": func(b []byte, st *labels.SymbolTable) Parser {
|
||||
return NewOpenMetricsParser(b, st, WithOMParserCTSeriesSkipped())
|
||||
},
|
||||
"nhcb_over_omtext": func(b []byte, st *labels.SymbolTable) Parser {
|
||||
p := NewOpenMetricsParser(b, st, WithOMParserCTSeriesSkipped())
|
||||
return NewNHCBParser(p, st, false)
|
||||
},
|
||||
}
|
||||
|
||||
// BenchmarkParse benchmarks parsing, mimicking how scrape/scrape.go#append use it.
|
||||
|
@ -78,6 +82,12 @@ func BenchmarkParse(b *testing.B) {
|
|||
// We don't pass compareToExpfmtFormat: expfmt.TypeOpenMetrics as expfmt does not support OM exemplars, see https://github.com/prometheus/common/issues/703.
|
||||
{dataFile: "omtestdata.txt", parser: "omtext"},
|
||||
{dataFile: "promtestdata.txt", parser: "omtext"}, // Compare how omtext parser deals with Prometheus text format vs promtext.
|
||||
|
||||
// NHCB.
|
||||
{dataFile: "omhistogramdata.txt", parser: "omtext"}, // Measure OM parser baseline for histograms.
|
||||
{dataFile: "omhistogramdata.txt", parser: "nhcb_over_omtext"}, // Measure NHCB over OM parser.
|
||||
{dataFile: "omcounterdata.txt", parser: "omtext"}, // Measure OM parser baseline for counters.
|
||||
{dataFile: "omcounterdata.txt", parser: "nhcb_over_omtext"}, // Measure NHCB over OM parser.
|
||||
} {
|
||||
var buf []byte
|
||||
dataCase := bcase.dataFile
|
||||
|
|
9
model/textparse/testdata/omcounterdata.txt
vendored
Normal file
9
model/textparse/testdata/omcounterdata.txt
vendored
Normal file
|
@ -0,0 +1,9 @@
|
|||
# HELP rpc_requests Total number of RPC requests received.
|
||||
# TYPE rpc_requests counter
|
||||
rpc_requests_total{service="exponential"} 22.0
|
||||
rpc_requests_created{service="exponential"} 1.726839813016893e+09
|
||||
rpc_requests_total{service="normal"} 15.0
|
||||
rpc_requests_created{service="normal"} 1.726839813016717e+09
|
||||
rpc_requests_total{service="uniform"} 11.0
|
||||
rpc_requests_created{service="uniform"} 1.7268398130168471e+09
|
||||
# EOF
|
45
model/textparse/testdata/omhistogramdata.txt
vendored
Normal file
45
model/textparse/testdata/omhistogramdata.txt
vendored
Normal file
|
@ -0,0 +1,45 @@
|
|||
# HELP golang_manual_histogram_seconds This is a histogram with manually selected parameters
|
||||
# TYPE golang_manual_histogram_seconds histogram
|
||||
golang_manual_histogram_seconds_bucket{address="0.0.0.0",generation="20",port="5001",le="0.005"} 0
|
||||
golang_manual_histogram_seconds_bucket{address="0.0.0.0",generation="20",port="5001",le="0.01"} 0
|
||||
golang_manual_histogram_seconds_bucket{address="0.0.0.0",generation="20",port="5001",le="0.025"} 0
|
||||
golang_manual_histogram_seconds_bucket{address="0.0.0.0",generation="20",port="5001",le="0.05"} 0
|
||||
golang_manual_histogram_seconds_bucket{address="0.0.0.0",generation="20",port="5001",le="0.1"} 0
|
||||
golang_manual_histogram_seconds_bucket{address="0.0.0.0",generation="20",port="5001",le="0.25"} 0
|
||||
golang_manual_histogram_seconds_bucket{address="0.0.0.0",generation="20",port="5001",le="0.5"} 0
|
||||
golang_manual_histogram_seconds_bucket{address="0.0.0.0",generation="20",port="5001",le="1.0"} 0
|
||||
golang_manual_histogram_seconds_bucket{address="0.0.0.0",generation="20",port="5001",le="2.5"} 0
|
||||
golang_manual_histogram_seconds_bucket{address="0.0.0.0",generation="20",port="5001",le="5.0"} 0
|
||||
golang_manual_histogram_seconds_bucket{address="0.0.0.0",generation="20",port="5001",le="10.0"} 1
|
||||
golang_manual_histogram_seconds_bucket{address="0.0.0.0",generation="20",port="5001",le="+Inf"} 1
|
||||
golang_manual_histogram_seconds_sum{address="0.0.0.0",generation="20",port="5001"} 10.0
|
||||
golang_manual_histogram_seconds_count{address="0.0.0.0",generation="20",port="5001"} 1
|
||||
golang_manual_histogram_seconds_bucket{address="0.0.0.0",generation="20",port="5002",le="0.005"} 0
|
||||
golang_manual_histogram_seconds_bucket{address="0.0.0.0",generation="20",port="5002",le="0.01"} 0
|
||||
golang_manual_histogram_seconds_bucket{address="0.0.0.0",generation="20",port="5002",le="0.025"} 0
|
||||
golang_manual_histogram_seconds_bucket{address="0.0.0.0",generation="20",port="5002",le="0.05"} 0
|
||||
golang_manual_histogram_seconds_bucket{address="0.0.0.0",generation="20",port="5002",le="0.1"} 0
|
||||
golang_manual_histogram_seconds_bucket{address="0.0.0.0",generation="20",port="5002",le="0.25"} 0
|
||||
golang_manual_histogram_seconds_bucket{address="0.0.0.0",generation="20",port="5002",le="0.5"} 0
|
||||
golang_manual_histogram_seconds_bucket{address="0.0.0.0",generation="20",port="5002",le="1.0"} 0
|
||||
golang_manual_histogram_seconds_bucket{address="0.0.0.0",generation="20",port="5002",le="2.5"} 0
|
||||
golang_manual_histogram_seconds_bucket{address="0.0.0.0",generation="20",port="5002",le="5.0"} 0
|
||||
golang_manual_histogram_seconds_bucket{address="0.0.0.0",generation="20",port="5002",le="10.0"} 1
|
||||
golang_manual_histogram_seconds_bucket{address="0.0.0.0",generation="20",port="5002",le="+Inf"} 1
|
||||
golang_manual_histogram_seconds_sum{address="0.0.0.0",generation="20",port="5002"} 10.0
|
||||
golang_manual_histogram_seconds_count{address="0.0.0.0",generation="20",port="5002"} 1
|
||||
golang_manual_histogram_seconds_bucket{address="0.0.0.0",generation="20",port="5003",le="0.005"} 0
|
||||
golang_manual_histogram_seconds_bucket{address="0.0.0.0",generation="20",port="5003",le="0.01"} 0
|
||||
golang_manual_histogram_seconds_bucket{address="0.0.0.0",generation="20",port="5003",le="0.025"} 0
|
||||
golang_manual_histogram_seconds_bucket{address="0.0.0.0",generation="20",port="5003",le="0.05"} 0
|
||||
golang_manual_histogram_seconds_bucket{address="0.0.0.0",generation="20",port="5003",le="0.1"} 0
|
||||
golang_manual_histogram_seconds_bucket{address="0.0.0.0",generation="20",port="5003",le="0.25"} 0
|
||||
golang_manual_histogram_seconds_bucket{address="0.0.0.0",generation="20",port="5003",le="0.5"} 0
|
||||
golang_manual_histogram_seconds_bucket{address="0.0.0.0",generation="20",port="5003",le="1.0"} 0
|
||||
golang_manual_histogram_seconds_bucket{address="0.0.0.0",generation="20",port="5003",le="2.5"} 0
|
||||
golang_manual_histogram_seconds_bucket{address="0.0.0.0",generation="20",port="5003",le="5.0"} 0
|
||||
golang_manual_histogram_seconds_bucket{address="0.0.0.0",generation="20",port="5003",le="10.0"} 1
|
||||
golang_manual_histogram_seconds_bucket{address="0.0.0.0",generation="20",port="5003",le="+Inf"} 1
|
||||
golang_manual_histogram_seconds_sum{address="0.0.0.0",generation="20",port="5003"} 10.0
|
||||
golang_manual_histogram_seconds_count{address="0.0.0.0",generation="20",port="5003"} 1
|
||||
# EOF
|
Loading…
Reference in a new issue