zitadel/internal/telemetry/profiler/config/config.go

31 lines
636 B
Go
Raw Normal View History

package config
import (
"github.com/zitadel/zitadel/internal/telemetry/profiler/google"
"github.com/zitadel/zitadel/internal/zerrors"
)
type Config struct {
Type string
Config map[string]interface{} `mapstructure:",remain"`
}
var profiler = map[string]func(map[string]interface{}) error{
"google": google.NewProfiler,
"none": NoProfiler,
"": NoProfiler,
}
func (c *Config) NewProfiler() error {
t, ok := profiler[c.Type]
if !ok {
return zerrors.ThrowInternalf(nil, "PROFI-Dfqsx", "config type %s not supported", c.Type)
}
return t(c.Config)
}
func NoProfiler(_ map[string]interface{}) error {
return nil
}