module metrics fn test_only_counters() { mut m := new_default_collector() m.counter_increment(name: 'test') mut e := new_prometheus_exporter() e.load('hi_', m) assert e.export_to_string()! == 'hi_test 1\n' metric := Metric{ name: 'test2' labels: [['hi', 'label']!, ['hi2', 'label2']!] } m.counter_increment(metric) m.counter_increment(metric) assert e.export_to_string()! == 'hi_test 1\nhi_test2{hi="label",hi2="label2"} 2\n' } fn test_only_gauges() { mut m := new_default_collector() m.gauge_set(3.25, name: 'test') mut e := new_prometheus_exporter() e.load('hi_', m) assert e.export_to_string()! == 'hi_test 3.25\n' metric := Metric{ name: 'test2' labels: [['hi', 'label']!, ['hi2', 'label2']!] } m.gauge_add(2.5, metric) assert e.export_to_string()! == 'hi_test 3.25\nhi_test2{hi="label",hi2="label2"} 2.5\n' } fn test_single_histogram() { mut m := new_default_collector() m.histogram_buckets_set('test', [0.5, 5.0]) m.histogram_record(5.0, name: 'test') m.histogram_record(7.0, name: 'test') mut e := new_prometheus_exporter() e.load('hi_', m) assert e.export_to_string()! == 'hi_test_count 2\nhi_test_sum 12.0\nhi_test_bucket{le="0.5"} 0\nhi_test_bucket{le="5.0"} 1\nhi_test_bucket{le="+Inf"} 2\n' }