MCPcopy
hub / github.com/grafana/tempo / newOtelGRPCExporterWithAuth

Function newOtelGRPCExporterWithAuth

integration/util/harness_api_writes.go:135–186  ·  integration/util/harness_api_writes.go::newOtelGRPCExporterWithAuth
(endpoint, orgID, basicAuthToken string, useTLS bool)

Source from the content-addressed store, hash-verified

133}
134
135func newOtelGRPCExporterWithAuth(endpoint, orgID, basicAuthToken string, useTLS bool) (exporter.Traces, error) {
136 factory := otlpexporter.NewFactory()
137 exporterCfg := factory.CreateDefaultConfig()
138 otlpCfg := exporterCfg.(*otlpexporter.Config)
139
140 // Configure headers for authentication (gRPC metadata format)
141 var headers configopaque.MapList
142 if orgID != "" {
143 headers.Set(xScopeOrgIDHeader, configopaque.String(orgID))
144 }
145 if basicAuthToken != "" {
146 headers.Set(authorizationHeader, configopaque.String("Basic "+basicAuthToken))
147 }
148
149 otlpCfg.ClientConfig = configgrpc.ClientConfig{
150 Endpoint: endpoint,
151 TLS: configtls.ClientConfig{
152 Insecure: !useTLS,
153 },
154 Headers: headers,
155 }
156
157 // Disable retries to get immediate error feedback
158 otlpCfg.RetryConfig.Enabled = false
159 // Disable queueing
160 otlpCfg.QueueConfig = configoptional.None[exporterhelper.QueueBatchConfig]()
161 // beef up the timeout to 30 seconds to avoid flakes
162 otlpCfg.TimeoutConfig.Timeout = 30 * time.Second
163
164 logger, _ := zap.NewDevelopment()
165 te, err := factory.CreateTraces(
166 context.Background(),
167 exporter.Settings{
168 ID: component.MustNewID(factory.Type().String()),
169 TelemetrySettings: component.TelemetrySettings{
170 Logger: logger,
171 TracerProvider: tnoop.NewTracerProvider(),
172 MeterProvider: mnoop.NewMeterProvider(),
173 },
174 BuildInfo: component.NewDefaultBuildInfo(),
175 },
176 otlpCfg,
177 )
178 if err != nil {
179 return nil, err
180 }
181 err = te.Start(context.Background(), componenttest.NewNopHost())
182 if err != nil {
183 return nil, err
184 }
185 return te, nil
186}
187
188type JaegerToOTLPExporter struct {
189 exporter exporter.Traces

Callers 2

WriteTempoProtoTracesMethod · 0.85

Calls 3

SetMethod · 0.65
StartMethod · 0.65
StringMethod · 0.45

Tested by

no test coverage detected