File tree Expand file tree Collapse file tree 2 files changed +34
-1
lines changed
lib/prometheus_exporter/server Expand file tree Collapse file tree 2 files changed +34
-1
lines changed Original file line number Diff line number Diff line change @@ -30,11 +30,12 @@ def metrics
3030 SIDEKIQ_STATS_GAUGES . each_key { |name | gauges [ name ] &.reset! }
3131
3232 sidekiq_metrics . map do |metric |
33+ labels = metric . fetch ( "custom_labels" , { } )
3334 SIDEKIQ_STATS_GAUGES . map do |name , help |
3435 if ( value = metric [ "stats" ] [ name ] )
3536 gauge =
3637 gauges [ name ] ||= PrometheusExporter ::Metric ::Gauge . new ( "sidekiq_stats_#{ name } " , help )
37- gauge . observe ( value )
38+ gauge . observe ( value , labels )
3839 end
3940 end
4041 end
Original file line number Diff line number Diff line change @@ -39,6 +39,38 @@ def test_collecting_metrics
3939 assert_equal expected , metrics . map ( &:metric_text )
4040 end
4141
42+ def test_collecting_metrics_with_custom_labels
43+ collector . collect (
44+ "stats" => {
45+ "dead_size" => 1 ,
46+ "enqueued" => 2 ,
47+ "failed" => 3 ,
48+ "processed" => 4 ,
49+ "processes_size" => 5 ,
50+ "retry_size" => 6 ,
51+ "scheduled_size" => 7 ,
52+ "workers_size" => 8 ,
53+ } ,
54+ "custom_labels" => {
55+ "service" => "test" ,
56+ "foo" => "bar" ,
57+ } ,
58+ )
59+
60+ metrics = collector . metrics
61+ expected = [
62+ "sidekiq_stats_dead_size{service=\" test\" ,foo=\" bar\" } 1" ,
63+ "sidekiq_stats_enqueued{service=\" test\" ,foo=\" bar\" } 2" ,
64+ "sidekiq_stats_failed{service=\" test\" ,foo=\" bar\" } 3" ,
65+ "sidekiq_stats_processed{service=\" test\" ,foo=\" bar\" } 4" ,
66+ "sidekiq_stats_processes_size{service=\" test\" ,foo=\" bar\" } 5" ,
67+ "sidekiq_stats_retry_size{service=\" test\" ,foo=\" bar\" } 6" ,
68+ "sidekiq_stats_scheduled_size{service=\" test\" ,foo=\" bar\" } 7" ,
69+ "sidekiq_stats_workers_size{service=\" test\" ,foo=\" bar\" } 8" ,
70+ ]
71+ assert_equal expected , metrics . map ( &:metric_text )
72+ end
73+
4274 def test_only_fresh_metrics_are_collected
4375 stub_monotonic_clock ( 1.0 ) do
4476 collector . collect (
You can’t perform that action at this time.
0 commit comments