Skip to content

Commit 4a37dc7

Browse files
authored
Merge pull request #2201 from vimalk78/fix-metrics-pkg
refactor(config): move metrics package to config
2 parents b611eea + ea7568e commit 4a37dc7

File tree

9 files changed

+117
-116
lines changed

9 files changed

+117
-116
lines changed

config/config.go

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import (
1111
"time"
1212

1313
"github.com/alecthomas/kingpin/v2"
14-
"github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/metrics"
1514
"gopkg.in/yaml.v3"
1615
"k8s.io/utils/ptr"
1716
)
@@ -56,9 +55,9 @@ type (
5655
}
5756

5857
PrometheusExporter struct {
59-
Enabled *bool `yaml:"enabled"`
60-
DebugCollectors []string `yaml:"debugCollectors"`
61-
MetricsLevel metrics.Level `yaml:"metricsLevel"`
58+
Enabled *bool `yaml:"enabled"`
59+
DebugCollectors []string `yaml:"debugCollectors"`
60+
MetricsLevel Level `yaml:"metricsLevel"`
6261
}
6362

6463
Exporter struct {
@@ -97,24 +96,24 @@ type (
9796

9897
// MetricsLevelValue is a custom kingpin.Value that parses metrics levels directly into metrics.Level
9998
type MetricsLevelValue struct {
100-
level *metrics.Level
99+
level *Level
101100
}
102101

103102
// NewMetricsLevelValue creates a new MetricsLevelValue with the given target
104-
func NewMetricsLevelValue(target *metrics.Level) *MetricsLevelValue {
103+
func NewMetricsLevelValue(target *Level) *MetricsLevelValue {
105104
return &MetricsLevelValue{level: target}
106105
}
107106

108107
// Set implements kingpin.Value interface - parses and accumulates metrics levels
109108
func (m *MetricsLevelValue) Set(value string) error {
110109
// Parse the single value into a level
111-
level, err := metrics.ParseLevel([]string{value})
110+
level, err := ParseLevel([]string{value})
112111
if err != nil {
113112
return err
114113
}
115114

116115
// If this is the first value, initialize to 0 first to clear any default
117-
allLevels := metrics.MetricsLevelNode | metrics.MetricsLevelProcess | metrics.MetricsLevelContainer | metrics.MetricsLevelVM | metrics.MetricsLevelPod
116+
allLevels := MetricsLevelAll
118117
if *m.level == allLevels {
119118
*m.level = 0
120119
}
@@ -203,7 +202,7 @@ func DefaultConfig() *Config {
203202
Prometheus: PrometheusExporter{
204203
Enabled: ptr.To(true),
205204
DebugCollectors: []string{"go"},
206-
MetricsLevel: metrics.MetricsLevelNode | metrics.MetricsLevelProcess | metrics.MetricsLevelContainer | metrics.MetricsLevelVM | metrics.MetricsLevelPod,
205+
MetricsLevel: MetricsLevelAll,
207206
},
208207
},
209208
Debug: Debug{
@@ -302,7 +301,7 @@ func RegisterFlags(app *kingpin.Application) ConfigUpdaterFn {
302301

303302
prometheusExporterEnabled := app.Flag(ExporterPrometheusEnabledFlag, "Enable Prometheus exporter").Default("true").Bool()
304303

305-
metricsLevel := metrics.MetricsLevelNode | metrics.MetricsLevelProcess | metrics.MetricsLevelContainer | metrics.MetricsLevelVM | metrics.MetricsLevelPod
304+
metricsLevel := MetricsLevelAll
306305
app.Flag(ExporterPrometheusMetricsFlag, "Metrics levels to export (node,process,container,vm,pod)").SetValue(NewMetricsLevelValue(&metricsLevel))
307306

308307
kubernetes := app.Flag(KubernetesFlag, "Monitor kubernetes").Default("false").Bool()

0 commit comments

Comments
 (0)