@@ -73,9 +73,10 @@ func (t target) infoLabels(m metrics) []string {
73
73
}
74
74
75
75
type metrics struct {
76
- cfg Config
77
- infoMetric * prometheus.GaugeVec
78
- gaugeMetrics []* prometheus.GaugeVec
76
+ cfg Config
77
+ tortureMetric * prometheus.GaugeVec
78
+ infoMetric * prometheus.GaugeVec
79
+ gaugeMetrics []* prometheus.GaugeVec
79
80
}
80
81
81
82
func CreateRegistry (cfg Config ) * prometheus.Registry {
@@ -108,9 +109,13 @@ func CreateRegistry(cfg Config) *prometheus.Registry {
108
109
metrics := metrics {
109
110
cfg : cfg ,
110
111
infoMetric : prometheus .NewGaugeVec (prometheus.GaugeOpts {
111
- Name : "info_metric " ,
112
- Help : "Info metric" ,
112
+ Name : "target_info " ,
113
+ Help : "info metric for each target, with wider label set " ,
113
114
}, infoMetricLabelNames ),
115
+ tortureMetric : prometheus .NewGaugeVec (prometheus.GaugeOpts {
116
+ Name : "promtorture_info" ,
117
+ Help : "Info on promtorture's current configuration and arguments" ,
118
+ }, []string {"targets" , "info_labels" , "gauge_metrics" }),
114
119
gaugeMetrics : make ([]* prometheus.GaugeVec , cfg .GaugeMetrics ),
115
120
}
116
121
for i := 0 ; i < cfg .GaugeMetrics ; i ++ {
@@ -119,6 +124,11 @@ func CreateRegistry(cfg Config) *prometheus.Registry {
119
124
Help : fmt .Sprintf ("Gauge metric %d" , i ),
120
125
}, targetLabelNames )
121
126
}
127
+ metrics .tortureMetric .WithLabelValues (
128
+ fmt .Sprintf ("%v" , cfg .Targets ),
129
+ fmt .Sprintf ("%d" , cfg .InfoMetricsLabels ),
130
+ fmt .Sprintf ("%d" , cfg .GaugeMetrics ),
131
+ ).Set (1 )
122
132
123
133
targets := make ([]target , totalTargets )
124
134
for targetNumber := 0 ; targetNumber < totalTargets ; targetNumber ++ {
@@ -131,6 +141,7 @@ func CreateRegistry(cfg Config) *prometheus.Registry {
131
141
t .setValues (metrics , float64 (t .targetNumber ))
132
142
}
133
143
144
+ reg .MustRegister (metrics .tortureMetric )
134
145
if cfg .InfoMetricsLabels > 0 {
135
146
reg .MustRegister (metrics .infoMetric )
136
147
}
0 commit comments