Deprecate opentracing (#10615)

This commit is contained in:
Ricardo Katz 2023-11-04 21:58:35 -03:00 committed by GitHub
parent 9ed0d7f7af
commit 30820a5acc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
14 changed files with 4 additions and 1089 deletions

View file

@ -676,11 +676,6 @@ func (n *NGINXController) OnUpdate(ingressCfg ingress.Configuration) error {
return err
}
err = createOpentracingCfg(&cfg)
if err != nil {
return err
}
err = createOpentelemetryCfg(&cfg)
if err != nil {
return err
@ -1001,33 +996,6 @@ func configureCertificates(rawServers []*ingress.Server) error {
return nil
}
const zipkinTmpl = `{
"service_name": "{{ .ZipkinServiceName }}",
"collector_host": "{{ .ZipkinCollectorHost }}",
"collector_port": {{ .ZipkinCollectorPort }},
"sample_rate": {{ .ZipkinSampleRate }}
}`
const jaegerTmpl = `{
"service_name": "{{ .JaegerServiceName }}",
"propagation_format": "{{ .JaegerPropagationFormat }}",
"sampler": {
"type": "{{ .JaegerSamplerType }}",
"param": {{ .JaegerSamplerParam }},
"samplingServerURL": "{{ .JaegerSamplerHost }}:{{ .JaegerSamplerPort }}/sampling"
},
"reporter": {
"endpoint": "{{ .JaegerEndpoint }}",
"localAgentHostPort": "{{ .JaegerCollectorHost }}:{{ .JaegerCollectorPort }}"
},
"headers": {
"TraceContextHeaderName": "{{ .JaegerTraceContextHeaderName }}",
"jaegerDebugHeader": "{{ .JaegerDebugHeader }}",
"jaegerBaggageHeader": "{{ .JaegerBaggageHeader }}",
"traceBaggageHeaderPrefix": "{{ .JaegerTraceBaggageHeaderPrefix }}"
}
}`
const otelTmpl = `
exporter = "otlp"
processor = "batch"
@ -1051,70 +1019,6 @@ ratio = {{ .OtelSamplerRatio }}
parent_based = {{ .OtelSamplerParentBased }}
`
func datadogOpentracingCfg(cfg *ngx_config.Configuration) (string, error) {
m := map[string]interface{}{
"service": cfg.DatadogServiceName,
"agent_host": cfg.DatadogCollectorHost,
"agent_port": cfg.DatadogCollectorPort,
"environment": cfg.DatadogEnvironment,
"operation_name_override": cfg.DatadogOperationNameOverride,
}
// Omit "sample_rate" if the configuration's sample rate is unset (nil).
// Omitting "sample_rate" from the plugin JSON indicates to the tracer that
// it should use dynamic rates instead of a configured rate.
if cfg.DatadogSampleRate != nil {
m["sample_rate"] = *cfg.DatadogSampleRate
}
buf, err := json.Marshal(m)
if err != nil {
return "", err
}
return string(buf), nil
}
func opentracingCfgFromTemplate(cfg *ngx_config.Configuration, tmplName, tmplText string) (string, error) {
tmpl, err := template.New(tmplName).Parse(tmplText)
if err != nil {
return "", err
}
tmplBuf := bytes.NewBuffer(make([]byte, 0))
err = tmpl.Execute(tmplBuf, cfg)
if err != nil {
return "", err
}
return tmplBuf.String(), nil
}
func createOpentracingCfg(cfg *ngx_config.Configuration) error {
var configData string
var err error
switch {
case cfg.ZipkinCollectorHost != "":
configData, err = opentracingCfgFromTemplate(cfg, "zipkin", zipkinTmpl)
case cfg.JaegerCollectorHost != "" || cfg.JaegerEndpoint != "":
configData, err = opentracingCfgFromTemplate(cfg, "jaeger", jaegerTmpl)
case cfg.DatadogCollectorHost != "":
configData, err = datadogOpentracingCfg(cfg)
default:
configData = "{}"
}
if err != nil {
return err
}
// Expand possible environment variables before writing the configuration to file.
expanded := os.ExpandEnv(configData)
return os.WriteFile("/etc/ingress-controller/telemetry/opentracing.json", []byte(expanded), file.ReadWriteByUser)
}
func createOpentelemetryCfg(cfg *ngx_config.Configuration) error {
tmpl, err := template.New("otel").Parse(otelTmpl)
if err != nil {