@@ -95,14 +95,37 @@ func getComponentsFromConfigV1Beta1(yamlContent Config) *components {
95
95
}
96
96
97
97
func IncCounters (ctx context.Context , collector * OpenTelemetryCollector ) error {
98
- return updateCounter (ctx , collector , true )
98
+ if err := updateComponentCounters (ctx , collector , true ); err != nil {
99
+ return err
100
+ }
101
+ return updateGeneralCRMetricsComponents (ctx , collector , true )
99
102
}
100
103
101
104
func DecCounters (ctx context.Context , collector * OpenTelemetryCollector ) error {
102
- return updateCounter (ctx , collector , false )
105
+ if err := updateComponentCounters (ctx , collector , false ); err != nil {
106
+ return err
107
+ }
108
+ return updateGeneralCRMetricsComponents (ctx , collector , false )
103
109
}
104
110
105
- func updateCounter (ctx context.Context , collector * OpenTelemetryCollector , up bool ) error {
111
+ func updateGeneralCRMetricsComponents (ctx context.Context , collector * OpenTelemetryCollector , up bool ) error {
112
+ meter := otel .Meter (meterName )
113
+ modeCounter , err := meter .Int64UpDownCounter (mode )
114
+ if err != nil {
115
+ return err
116
+ }
117
+ inc := 1
118
+ if ! up {
119
+ inc = - 1
120
+ }
121
+ modeCounter .Add (ctx , int64 (inc ), metric .WithAttributes (
122
+ attribute .Key ("collector_name" ).String (collector .Name ),
123
+ attribute .Key ("namespace" ).String (collector .Namespace ),
124
+ attribute .Key ("type" ).String (string (collector .Spec .Mode )),
125
+ ))
126
+ return nil
127
+ }
128
+ func updateComponentCounters (ctx context.Context , collector * OpenTelemetryCollector , up bool ) error {
106
129
meter := otel .Meter (meterName )
107
130
receiversCounter , err := meter .Int64UpDownCounter (receivers )
108
131
if err != nil {
0 commit comments