2023-04-05 07:40:08 -05:00
|
|
|
package config
|
|
|
|
|
|
|
|
import (
|
|
|
|
"fmt"
|
|
|
|
|
|
|
|
"github.com/grafana/grafana/pkg/infra/tracing"
|
|
|
|
pCfg "github.com/grafana/grafana/pkg/plugins/config"
|
|
|
|
"github.com/grafana/grafana/pkg/setting"
|
|
|
|
)
|
|
|
|
|
|
|
|
// newTracingCfg creates a plugins tracing configuration based on the provided Grafana tracing config.
|
|
|
|
// If OpenTelemetry (OTLP) is disabled, a zero-value OpenTelemetryCfg is returned.
|
|
|
|
func newTracingCfg(grafanaCfg *setting.Cfg) (pCfg.Tracing, error) {
|
2023-04-27 08:04:43 -05:00
|
|
|
ots, err := tracing.ParseSettings(grafanaCfg)
|
2023-04-05 07:40:08 -05:00
|
|
|
if err != nil {
|
|
|
|
return pCfg.Tracing{}, fmt.Errorf("parse settings: %w", err)
|
|
|
|
}
|
|
|
|
if !ots.OTelExporterEnabled() {
|
|
|
|
return pCfg.Tracing{}, nil
|
|
|
|
}
|
|
|
|
return pCfg.Tracing{
|
|
|
|
OpenTelemetry: pCfg.OpenTelemetryCfg{
|
|
|
|
Address: ots.Address,
|
|
|
|
Propagation: ots.Propagation,
|
|
|
|
},
|
|
|
|
}, nil
|
|
|
|
}
|