///|
/// Build a deterministic set of points for throughput measurements.
fn make_points(count : Int32) -> Array[@moonflux.Point] {
let points : Array[@moonflux.Point] = Array(capacity=count)
for i in 0.. String {
let out = StringBuilder()
out.write_string(
"#datatype,string,long,dateTime:RFC3339,double,string,string,string\n",
)
out.write_string("#group,false,false,false,false,true,true,true\n")
out.write_string("#default,_result,,,,,,\n")
out.write_string(",result,table,_time,_value,_field,_measurement,host\n")
for i in 0.. value
Err(_) => ""
}
let csv = make_flux_csv(10000)
bench.bench(name="encode_10k_points", count=5, () => {
match @moonflux.encode_points(points) {
Ok(value) => bench.keep(value)
Err(_) => ()
}
})
bench.bench(name="parse_10k_lines", count=5, () => {
match @moonflux.parse_lines(encoded) {
Ok(value) => bench.keep(value)
Err(_) => ()
}
})
bench.bench(name="parse_10k_flux_rows", count=5, () => {
match @moonflux.parse_flux_query_result(csv) {
Ok(value) => bench.keep(value)
Err(_) => ()
}
})
println(bench.dump_summaries())
}