mirror of
https://github.com/safing/portbase
synced 2025-09-01 18:19:57 +00:00
Use metricBase for runtime metrics
This commit is contained in:
parent
aef3f26ad3
commit
566c8fe719
2 changed files with 19 additions and 30 deletions
|
@ -8,41 +8,26 @@ import (
|
|||
"github.com/safing/portbase/config"
|
||||
)
|
||||
|
||||
func init() {
|
||||
registryLock.Lock()
|
||||
defer registryLock.Unlock()
|
||||
func registerRuntimeMetric() error {
|
||||
runtimeBase, err := newMetricBase("_runtime", nil, Options{
|
||||
Name: "Golang Runtime",
|
||||
Permission: api.PermitAdmin,
|
||||
ExpertiseLevel: config.ExpertiseLevelDeveloper,
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
registry = append(registry, &runtimeMetrics{})
|
||||
return register(&runtimeMetrics{
|
||||
metricBase: runtimeBase,
|
||||
})
|
||||
}
|
||||
|
||||
var runtimeOpts = &Options{
|
||||
Name: "Golang Runtime",
|
||||
Permission: api.PermitAdmin,
|
||||
ExpertiseLevel: config.ExpertiseLevelDeveloper,
|
||||
}
|
||||
|
||||
type runtimeMetrics struct{}
|
||||
|
||||
func (r *runtimeMetrics) ID() string {
|
||||
return "_runtime"
|
||||
}
|
||||
|
||||
func (r *runtimeMetrics) LabeledID() string {
|
||||
return "_runtime"
|
||||
}
|
||||
|
||||
func (r *runtimeMetrics) Opts() *Options {
|
||||
return runtimeOpts
|
||||
}
|
||||
|
||||
func (r *runtimeMetrics) Permission() api.Permission {
|
||||
return runtimeOpts.Permission
|
||||
}
|
||||
|
||||
func (r *runtimeMetrics) ExpertiseLevel() config.ExpertiseLevel {
|
||||
return runtimeOpts.ExpertiseLevel
|
||||
type runtimeMetrics struct {
|
||||
*metricBase
|
||||
}
|
||||
|
||||
func (r *runtimeMetrics) WritePrometheus(w io.Writer) {
|
||||
// TODO: Add global labels.
|
||||
vm.WriteProcessMetrics(w)
|
||||
}
|
||||
|
|
|
@ -51,6 +51,10 @@ func start() error {
|
|||
return err
|
||||
}
|
||||
|
||||
if err := registerRuntimeMetric(); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := registerAPI(); err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue