Plugins: Move config factory to pluginsintegration package (#65716)
* move config to pluginsintegration package * change to all plugin toggle * fixes * fixes * fix lerna * fix test
This commit is contained in:
@@ -1,38 +1,17 @@
|
||||
package config
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
type Tracing struct {
|
||||
OpenTelemetry OpenTelemetryCfg
|
||||
}
|
||||
|
||||
"github.com/grafana/grafana/pkg/infra/tracing"
|
||||
"github.com/grafana/grafana/pkg/setting"
|
||||
)
|
||||
|
||||
const otlpExporter string = "otlp"
|
||||
|
||||
// OpentelemetryCfg contains the Opentelemetry address and propagation config values.
|
||||
// This is used to export the Opentelemetry (OTLP) config without exposing the whole *setting.Cfg.
|
||||
type OpentelemetryCfg struct {
|
||||
// OpenTelemetryCfg contains the OpenTelemetry address and propagation config values.
|
||||
// This is used to export the OpenTelemetry (OTLP) config without exposing the whole *setting.Cfg.
|
||||
type OpenTelemetryCfg struct {
|
||||
Address string
|
||||
Propagation string
|
||||
}
|
||||
|
||||
// IsEnabled returns true if OTLP tracing is enabled (address set)
|
||||
func (c OpentelemetryCfg) IsEnabled() bool {
|
||||
return c.Address != ""
|
||||
}
|
||||
|
||||
// NewOpentelemetryCfg creates a new OpentelemetryCfg based on the provided Grafana config.
|
||||
// If Opentelemetry (OTLP) is disabled, a zero-value OpentelemetryCfg is returned.
|
||||
func NewOpentelemetryCfg(grafanaCfg *setting.Cfg) (OpentelemetryCfg, error) {
|
||||
ots, err := tracing.ParseSettingsOpentelemetry(grafanaCfg)
|
||||
if err != nil {
|
||||
return OpentelemetryCfg{}, fmt.Errorf("parse settings: %w", err)
|
||||
}
|
||||
if ots.Enabled != otlpExporter {
|
||||
return OpentelemetryCfg{}, nil
|
||||
}
|
||||
return OpentelemetryCfg{
|
||||
Address: ots.Address,
|
||||
Propagation: ots.Propagation,
|
||||
}, nil
|
||||
func (t Tracing) IsEnabled() bool {
|
||||
return t.OpenTelemetry.Address != ""
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user