File: buildkit-remove-jaeger.patch

package info (click to toggle)
docker.io 26.1.5%2Bdfsg1-9
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 68,576 kB
  • sloc: sh: 5,748; makefile: 912; ansic: 664; asm: 228; python: 162
file content (95 lines) | stat: -rw-r--r-- 2,760 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
Index: docker.io/buildkit/util/tracing/detect/jaeger/jaeger.go
===================================================================
--- docker.io.orig/buildkit/util/tracing/detect/jaeger/jaeger.go
+++ docker.io/buildkit/util/tracing/detect/jaeger/jaeger.go
@@ -1,89 +1,6 @@
 package jaeger
 
-import (
-	"context"
-	"net"
-	"os"
-	"strings"
-	"sync"
-
-	"github.com/moby/buildkit/util/tracing/detect"
-	//nolint:staticcheck // Jaeger still supported for compatibility
-	"go.opentelemetry.io/otel/exporters/jaeger"
-	sdkmetric "go.opentelemetry.io/otel/sdk/metric"
-	sdktrace "go.opentelemetry.io/otel/sdk/trace"
-)
-
 func init() {
-	detect.Register("jaeger", jaegerExporter, 11)
+	// disabled to avoid jaeger dependency
 }
 
-func jaegerExporter() (sdktrace.SpanExporter, sdkmetric.Exporter, error) {
-	set := os.Getenv("OTEL_TRACES_EXPORTER") == "jaeger" || os.Getenv("JAEGER_TRACE") != "" || os.Getenv("OTEL_EXPORTER_JAEGER_AGENT_HOST") != "" || os.Getenv("OTEL_EXPORTER_JAEGER_ENDPOINT") != ""
-	if !set {
-		return nil, nil, nil
-	}
-
-	endpoint := envOr("OTEL_EXPORTER_JAEGER_ENDPOINT", "http://localhost:14250")
-	host := envOr("OTEL_EXPORTER_JAEGER_HOST", "localhost")
-	port := envOr("OTEL_EXPORTER_JAEGER_PORT", "6831")
-	var isEndpoint bool
-
-	// JAEGER_TRACE is not env defined by opentelemetry spec but buildkit backward compatibility
-	if v := os.Getenv("JAEGER_TRACE"); v != "" {
-		if strings.HasPrefix(v, "http://") || strings.HasPrefix(v, "https://") {
-			isEndpoint = true
-			endpoint = v
-		} else {
-			h, p, err := net.SplitHostPort(v)
-			if err != nil {
-				return nil, nil, err
-			}
-			host = h
-			port = p
-		}
-	} else {
-		isEndpoint = os.Getenv("OTEL_EXPORTER_JAEGER_ENDPOINT") != ""
-	}
-
-	epo := jaeger.WithCollectorEndpoint(jaeger.WithEndpoint(endpoint))
-
-	if !isEndpoint {
-		epo = jaeger.WithAgentEndpoint(jaeger.WithAgentHost(host), jaeger.WithAgentPort(port))
-	}
-
-	exp, err := jaeger.New(epo)
-	if err != nil {
-		return nil, nil, err
-	}
-
-	return &threadSafeExporterWrapper{
-		exporter: exp,
-	}, nil, nil
-}
-
-func envOr(key, defaultValue string) string {
-	if v, ok := os.LookupEnv(key); ok && v != "" {
-		return v
-	}
-	return defaultValue
-}
-
-// We've received reports that the Jaeger exporter is not thread-safe,
-// so wrap it in a mutex.
-type threadSafeExporterWrapper struct {
-	mu       sync.Mutex
-	exporter sdktrace.SpanExporter
-}
-
-func (tse *threadSafeExporterWrapper) ExportSpans(ctx context.Context, spans []sdktrace.ReadOnlySpan) error {
-	tse.mu.Lock()
-	defer tse.mu.Unlock()
-	return tse.exporter.ExportSpans(ctx, spans)
-}
-
-func (tse *threadSafeExporterWrapper) Shutdown(ctx context.Context) error {
-	tse.mu.Lock()
-	defer tse.mu.Unlock()
-	return tse.exporter.Shutdown(ctx)
-}