1
1
package ru .cinimex .exporter .prometheus .metrics ;
2
2
3
- import io .prometheus .client .CollectorRegistry ;
4
3
import org .apache .logging .log4j .LogManager ;
5
4
import org .apache .logging .log4j .Logger ;
6
5
import ru .cinimex .exporter .mq .MQObject ;
7
6
import ru .cinimex .exporter .mq .pcf .PCFElement ;
8
7
import ru .cinimex .exporter .mq .pcf .PCFElementRow ;
9
8
10
9
import java .util .ArrayList ;
10
+ import java .util .Arrays ;
11
11
import java .util .HashMap ;
12
12
import java .util .List ;
13
13
import java .util .Map ;
14
14
import java .util .Set ;
15
- import java .util .function .Function ;
16
15
17
16
import static ru .cinimex .exporter .prometheus .metrics .MetricsReference .getAdditionalMqObjectMetricsReference ;
18
17
import static ru .cinimex .exporter .prometheus .metrics .UpdateMetricUtils .*;
@@ -32,6 +31,7 @@ public class MetricsManager {
32
31
*/
33
32
public static void initMetrics (List <PCFElement > elements , List <MQObject .MQType > types ) {
34
33
logger .debug ("Preparing to initialize metrics. {} metrics will be received from MQ topics and {} metrics will be received via direct PCF commands." , elements .size (), types .size ());
34
+ String logString = " created! Name: {}, description: {}, labels: {}." ;
35
35
metrics = new HashMap <>();
36
36
for (PCFElement element : elements ) {
37
37
for (PCFElementRow row : element .getRows ()) {
@@ -45,25 +45,27 @@ public static void initMetrics(List<PCFElement> elements, List<MQObject.MQType>
45
45
case SIMPLE_GAUGE :
46
46
metric = new SimpleGauge (metricName , row .getRowDesc (), labels .toArray (new String [0 ]));
47
47
metrics .put (metricName , metric );
48
- logger .trace ("New gauge created! Name: {}, description: {}, labels: {}." , metricName , row .getRowDesc (), labels );
48
+ logger .trace ("New " + "gauge" + logString , metricName , row .getRowDesc (), labels );
49
49
break ;
50
50
case SIMPLE_COUNTER :
51
51
metric = new SimpleCounter (metricName , row .getRowDesc (), labels .toArray (new String [0 ]));
52
52
metrics .put (metricName , metric );
53
- logger .trace ("New counter created! Name: {}, description: {}, labels: {}." , metricName , row .getRowDesc (), labels );
53
+ logger .trace ("New counter " + logString , metricName , row .getRowDesc (), labels );
54
54
break ;
55
55
case EXTREME_GAUGE_MAX :
56
56
metric = new ExtremeGauge (metricName , row .getRowDesc (), true , labels .toArray (new String [0 ]));
57
57
metrics .put (metricName , metric );
58
- logger .trace ("New extreme gauge created! Name: {}, description: {}, labels: {}." , metricName , row .getRowDesc (), labels );
58
+ logger .trace ("New extreme gauge" + logString , metricName , row .getRowDesc (), labels );
59
59
break ;
60
60
case EXTREME_GAUGE_MIN :
61
61
metric = new ExtremeGauge (metricName , row .getRowDesc (), false , labels .toArray (new String [0 ]));
62
62
metrics .put (metricName , metric );
63
- logger .trace ("New extreme gauge created! Name: {}, description: {}, labels: {}." , metricName , row .getRowDesc (), labels );
63
+ logger .trace ("New extreme gauge" + logString , metricName , row .getRowDesc (), labels );
64
64
break ;
65
65
default :
66
- logger .error ("Error during metrics initialization: Unknown metric type! Make sure it is one " + "of: {}" , MetricsReference .Metric .Type .values ());
66
+ logger .error (
67
+ "Error during metrics initialization: Unknown metric type! Make sure it is one " + "of: {}" ,
68
+ (Object []) MetricsReference .Metric .Type .values ());
67
69
}
68
70
}
69
71
}
@@ -72,15 +74,17 @@ public static void initMetrics(List<PCFElement> elements, List<MQObject.MQType>
72
74
metrics .put (metricName , new SimpleGauge (metricName , MetricsReference .getMetricHelp (type ), Labels .QMGR_NAME .name (), Labels .MQ_OBJECT_NAME .name ()));
73
75
logger .trace ("New gauge created! Name: {}, description: {}, labels: {}." , metricName , MetricsReference .getMetricHelp (type ), Labels .MQ_OBJECT_NAME .name ());
74
76
}
77
+ initAdditionalMetrics ();
78
+
79
+ logger .info ("Successfully initialized {} metrics!" , metrics .size ());
80
+ }
81
+
82
+ private static void initAdditionalMetrics () {
75
83
getAdditionalMqObjectMetricsReference ().forEach ((metricInfo , metric ) -> {
76
- ArrayList <String > labels = new ArrayList <>();
77
- labels .add (Labels .QMGR_NAME .name ());
78
- labels .add (Labels .MQ_OBJECT_NAME .name ());
84
+ List <String > labels = Arrays .asList (Labels .QMGR_NAME .name (), Labels .MQ_OBJECT_NAME .name ());
79
85
metrics .put (metric .name , new SimpleGauge (metric .name , metricInfo , labels .toArray (new String [0 ])));
80
86
logger .trace ("New gauge created! Name: {}, description: {}, labels: {}." , metric .name , metricInfo , labels );
81
87
});
82
-
83
- logger .info ("Successfully initialized {} metrics!" , metrics .size ());
84
88
}
85
89
86
90
/**
0 commit comments