@@ -11,7 +11,6 @@ import (
11
11
"time"
12
12
13
13
"github.com/alecthomas/kingpin/v2"
14
- "github.com/sustainable-computing-io/kepler/internal/exporter/prometheus/metrics"
15
14
"gopkg.in/yaml.v3"
16
15
"k8s.io/utils/ptr"
17
16
)
56
55
}
57
56
58
57
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"`
62
61
}
63
62
64
63
Exporter struct {
@@ -97,24 +96,24 @@ type (
97
96
98
97
// MetricsLevelValue is a custom kingpin.Value that parses metrics levels directly into metrics.Level
99
98
type MetricsLevelValue struct {
100
- level * metrics. Level
99
+ level * Level
101
100
}
102
101
103
102
// NewMetricsLevelValue creates a new MetricsLevelValue with the given target
104
- func NewMetricsLevelValue (target * metrics. Level ) * MetricsLevelValue {
103
+ func NewMetricsLevelValue (target * Level ) * MetricsLevelValue {
105
104
return & MetricsLevelValue {level : target }
106
105
}
107
106
108
107
// Set implements kingpin.Value interface - parses and accumulates metrics levels
109
108
func (m * MetricsLevelValue ) Set (value string ) error {
110
109
// Parse the single value into a level
111
- level , err := metrics . ParseLevel ([]string {value })
110
+ level , err := ParseLevel ([]string {value })
112
111
if err != nil {
113
112
return err
114
113
}
115
114
116
115
// 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
118
117
if * m .level == allLevels {
119
118
* m .level = 0
120
119
}
@@ -203,7 +202,7 @@ func DefaultConfig() *Config {
203
202
Prometheus : PrometheusExporter {
204
203
Enabled : ptr .To (true ),
205
204
DebugCollectors : []string {"go" },
206
- MetricsLevel : metrics . MetricsLevelNode | metrics . MetricsLevelProcess | metrics . MetricsLevelContainer | metrics . MetricsLevelVM | metrics . MetricsLevelPod ,
205
+ MetricsLevel : MetricsLevelAll ,
207
206
},
208
207
},
209
208
Debug : Debug {
@@ -302,7 +301,7 @@ func RegisterFlags(app *kingpin.Application) ConfigUpdaterFn {
302
301
303
302
prometheusExporterEnabled := app .Flag (ExporterPrometheusEnabledFlag , "Enable Prometheus exporter" ).Default ("true" ).Bool ()
304
303
305
- metricsLevel := metrics . MetricsLevelNode | metrics . MetricsLevelProcess | metrics . MetricsLevelContainer | metrics . MetricsLevelVM | metrics . MetricsLevelPod
304
+ metricsLevel := MetricsLevelAll
306
305
app .Flag (ExporterPrometheusMetricsFlag , "Metrics levels to export (node,process,container,vm,pod)" ).SetValue (NewMetricsLevelValue (& metricsLevel ))
307
306
308
307
kubernetes := app .Flag (KubernetesFlag , "Monitor kubernetes" ).Default ("false" ).Bool ()
0 commit comments