Skip to content

Commit f85f94f

Browse files
committed
feat: move metrics from apis to internal package
Signed-off-by: Ilia Petrov <ilia.yavorov.petrov@gmail.com>
1 parent a0b2cb1 commit f85f94f

4 files changed

Lines changed: 79 additions & 73 deletions

File tree

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// Copyright The OpenTelemetry Authors
22
// SPDX-License-Identifier: Apache-2.0
33

4-
package v1beta1
4+
package metrics
55

66
import (
77
"context"
@@ -14,6 +14,8 @@ import (
1414
sdkmetric "go.opentelemetry.io/otel/sdk/metric"
1515
"sigs.k8s.io/controller-runtime/pkg/client"
1616
"sigs.k8s.io/controller-runtime/pkg/metrics"
17+
18+
otelv1beta1 "github.com/open-telemetry/opentelemetry-operator/apis/v1beta1"
1719
)
1820

1921
const (
@@ -52,16 +54,16 @@ type Metrics struct {
5254
connectorsCounter metric.Int64UpDownCounter
5355
}
5456

55-
// BootstrapMetrics configures the OpenTelemetry meter provider with the Prometheus exporter.
56-
func BootstrapMetrics() (metric.MeterProvider, error) {
57+
// Bootstrap configures the OpenTelemetry meter provider with the Prometheus exporter.
58+
func Bootstrap() (metric.MeterProvider, error) {
5759
exporter, err := prometheus.New(prometheus.WithRegisterer(metrics.Registry))
5860
if err != nil {
5961
return nil, err
6062
}
6163
return sdkmetric.NewMeterProvider(sdkmetric.WithReader(exporter)), err
6264
}
6365

64-
func NewMetrics(prv metric.MeterProvider, ctx context.Context, cl client.Reader) (*Metrics, error) { //nolint:revive //context-as-argument
66+
func New(prv metric.MeterProvider, ctx context.Context, cl client.Reader) (*Metrics, error) {
6567
meter := prv.Meter(meterName)
6668
modeCounter, err := meter.Int64UpDownCounter(modeMetricName)
6769
if err != nil {
@@ -110,7 +112,7 @@ func NewMetrics(prv metric.MeterProvider, ctx context.Context, cl client.Reader)
110112

111113
// Init metrics from the first time the operator starts.
112114
func (m *Metrics) init(ctx context.Context, cl client.Reader) error {
113-
list := &OpenTelemetryCollectorList{}
115+
list := &otelv1beta1.OpenTelemetryCollectorList{}
114116
if err := cl.List(ctx, list); err != nil {
115117
return fmt.Errorf("failed to list: %w", err)
116118
}
@@ -121,22 +123,22 @@ func (m *Metrics) init(ctx context.Context, cl client.Reader) error {
121123
return nil
122124
}
123125

124-
func (m *Metrics) Create(ctx context.Context, collector *OpenTelemetryCollector) {
126+
func (m *Metrics) Create(ctx context.Context, collector *otelv1beta1.OpenTelemetryCollector) {
125127
m.updateComponentCounters(ctx, collector, true)
126128
m.updateGeneralCRMetricsComponents(ctx, collector, true)
127129
}
128130

129-
func (m *Metrics) Delete(ctx context.Context, collector *OpenTelemetryCollector) {
131+
func (m *Metrics) Delete(ctx context.Context, collector *otelv1beta1.OpenTelemetryCollector) {
130132
m.updateComponentCounters(ctx, collector, false)
131133
m.updateGeneralCRMetricsComponents(ctx, collector, false)
132134
}
133135

134-
func (m *Metrics) Update(ctx context.Context, oldCollector, newCollector *OpenTelemetryCollector) {
136+
func (m *Metrics) Update(ctx context.Context, oldCollector, newCollector *otelv1beta1.OpenTelemetryCollector) {
135137
m.Delete(ctx, oldCollector)
136138
m.Create(ctx, newCollector)
137139
}
138140

139-
func (m *Metrics) updateGeneralCRMetricsComponents(ctx context.Context, collector *OpenTelemetryCollector, up bool) {
141+
func (m *Metrics) updateGeneralCRMetricsComponents(ctx context.Context, collector *otelv1beta1.OpenTelemetryCollector, up bool) {
140142
inc := 1
141143
if !up {
142144
inc = -1
@@ -148,7 +150,7 @@ func (m *Metrics) updateGeneralCRMetricsComponents(ctx context.Context, collecto
148150
))
149151
}
150152

151-
func (m *Metrics) updateComponentCounters(ctx context.Context, collector *OpenTelemetryCollector, up bool) {
153+
func (m *Metrics) updateComponentCounters(ctx context.Context, collector *otelv1beta1.OpenTelemetryCollector, up bool) {
152154
components := getComponentsFromConfig(collector.Spec.Config)
153155
moveCounter(ctx, collector, components.receivers, m.receiversCounter, up)
154156
moveCounter(ctx, collector, components.exporters, m.exporterCounter, up)
@@ -176,7 +178,7 @@ func extractElements(elements map[string]any) []string {
176178
return items
177179
}
178180

179-
func getComponentsFromConfig(yamlContent Config) *componentDefinitions {
181+
func getComponentsFromConfig(yamlContent otelv1beta1.Config) *componentDefinitions {
180182
info := &componentDefinitions{
181183
receivers: extractElements(yamlContent.Receivers.Object),
182184
exporters: extractElements(yamlContent.Exporters.Object),
@@ -198,7 +200,7 @@ func getComponentsFromConfig(yamlContent Config) *componentDefinitions {
198200
}
199201

200202
func moveCounter(
201-
ctx context.Context, collector *OpenTelemetryCollector, types []string, upDown metric.Int64UpDownCounter, up bool,
203+
ctx context.Context, collector *otelv1beta1.OpenTelemetryCollector, types []string, upDown metric.Int64UpDownCounter, up bool,
202204
) {
203205
for _, exporter := range types {
204206
inc := 1

0 commit comments

Comments
 (0)