Skip to content

Commit f145e87

Browse files
authored
build(telemetry): update otelconf dependency to v0.19 (#25719)
1 parent 9d8d03d commit f145e87

File tree

3 files changed

+13
-101
lines changed

3 files changed

+13
-101
lines changed

go.mod

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -64,14 +64,8 @@ require (
6464
go.opentelemetry.io/contrib/propagators/b3 v1.39.0
6565
go.opentelemetry.io/contrib/propagators/jaeger v1.39.0
6666
go.opentelemetry.io/otel v1.39.0
67-
go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.15.0
68-
go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.39.0
69-
go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.39.0
7067
go.opentelemetry.io/otel/log v0.15.0
7168
go.opentelemetry.io/otel/metric v1.39.0
72-
go.opentelemetry.io/otel/sdk v1.39.0
73-
go.opentelemetry.io/otel/sdk/log v0.15.0
74-
go.opentelemetry.io/otel/sdk/metric v1.39.0
7569
go.opentelemetry.io/otel/trace v1.39.0
7670
go.uber.org/mock v0.6.0
7771
go.yaml.in/yaml/v3 v3.0.4
@@ -242,6 +236,12 @@ require (
242236
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.39.0 // indirect
243237
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.39.0 // indirect
244238
go.opentelemetry.io/otel/exporters/prometheus v0.61.0 // indirect
239+
go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.15.0 // indirect
240+
go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.39.0 // indirect
241+
go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.39.0 // indirect
242+
go.opentelemetry.io/otel/sdk v1.39.0 // indirect
243+
go.opentelemetry.io/otel/sdk/log v0.15.0 // indirect
244+
go.opentelemetry.io/otel/sdk/metric v1.39.0 // indirect
245245
go.opentelemetry.io/proto/otlp v1.9.0 // indirect
246246
go.uber.org/multierr v1.11.0 // indirect
247247
go.uber.org/zap v1.27.0 // indirect

telemetry/README.md

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ This allows meters and traces to use direct references to the underlying instrum
1515
Create a basic OpenTelemetry configuration file which will send data to the local instance of Grafana LGTM:
1616

1717
```yaml
18+
file_format: "1.0-rc.3"
1819
resource:
1920
attributes:
2021
- name: service.name
@@ -24,15 +25,14 @@ tracer_provider:
2425
processors:
2526
- batch: # NOTE: you should use batch in production!
2627
exporter:
27-
otlp:
28-
protocol: grpc
28+
otlp_grpc:
2929
endpoint: http://localhost:4317
3030

3131
meter_provider:
3232
readers:
3333
- pull:
3434
exporter:
35-
prometheus: # pushes directly to prometheus backend.
35+
prometheus/development: # pushes directly to prometheus backend.
3636
host: 0.0.0.0
3737
port: 9464
3838
# optional: include resource attributes as constant labels
@@ -51,23 +51,19 @@ logger_provider:
5151
processors:
5252
- batch:
5353
exporter:
54-
otlp:
55-
protocol: grpc
54+
otlp_grpc:
5655
endpoint: http://localhost:4317
5756

5857

5958
cosmos_extra:
60-
trace_file: ""
61-
metrics_file: ""
62-
metrics_file_interval: ""
63-
logs_file: ""
6459
instrument_host: true
6560
instrument_runtime: true
6661
propagators:
6762
- tracecontext
6863
```
6964
70-
For a full list of configurable options see: https://github.com/open-telemetry/opentelemetry-configuration/blob/main/examples/kitchen-sink.yaml
65+
For a full list of configurable options see: https://github.com/open-telemetry/opentelemetry-configuration/blob/main/examples/kitchen-sink.yaml.
66+
NOTE: the go implementation may not support all options, so check the go [otelconf](https://pkg.go.dev/go.opentelemetry.io/contrib/otelconf) documentation carefully to see what is actually supported.
7167
7268
3. set the `OTEL_EXPERIMENTAL_CONFIG_FILE` environment variable to the path of the configuration file:
7369
`export OTEL_EXPERIMENTAL_CONFIG_FILE=path/to/config.yaml`

telemetry/config.go

Lines changed: 1 addition & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,17 @@ import (
44
"context"
55
"fmt"
66
"os"
7-
"time"
87

98
"go.opentelemetry.io/contrib/instrumentation/host"
109
"go.opentelemetry.io/contrib/instrumentation/runtime"
11-
otelconf "go.opentelemetry.io/contrib/otelconf/v0.3.0"
10+
"go.opentelemetry.io/contrib/otelconf"
1211
"go.opentelemetry.io/contrib/propagators/b3"
1312
"go.opentelemetry.io/contrib/propagators/jaeger"
1413
"go.opentelemetry.io/otel"
15-
"go.opentelemetry.io/otel/exporters/stdout/stdoutlog"
16-
"go.opentelemetry.io/otel/exporters/stdout/stdoutmetric"
17-
"go.opentelemetry.io/otel/exporters/stdout/stdouttrace"
1814
logglobal "go.opentelemetry.io/otel/log/global"
1915
lognoop "go.opentelemetry.io/otel/log/noop"
2016
metricnoop "go.opentelemetry.io/otel/metric/noop"
2117
"go.opentelemetry.io/otel/propagation"
22-
logsdk "go.opentelemetry.io/otel/sdk/log"
23-
metricsdk "go.opentelemetry.io/otel/sdk/metric"
24-
tracesdk "go.opentelemetry.io/otel/sdk/trace"
2518
tracenoop "go.opentelemetry.io/otel/trace/noop"
2619
"go.yaml.in/yaml/v3"
2720
)
@@ -93,83 +86,6 @@ func InitializeOpenTelemetry(filePath string) error {
9386
if err == nil {
9487
if extraCfg.CosmosExtra != nil {
9588
extra := *extraCfg.CosmosExtra
96-
if extra.TraceFile != "" {
97-
traceFile, err := os.OpenFile(extra.TraceFile, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0o644)
98-
if err != nil {
99-
return fmt.Errorf("failed to open trace file: %w", err)
100-
}
101-
shutdownFuncs = append(shutdownFuncs, func(ctx context.Context) error {
102-
if err := traceFile.Close(); err != nil {
103-
return fmt.Errorf("failed to close trace file: %w", err)
104-
}
105-
return nil
106-
})
107-
exporter, err := stdouttrace.New(
108-
stdouttrace.WithWriter(traceFile),
109-
// stdouttrace.WithPrettyPrint(),
110-
)
111-
if err != nil {
112-
return fmt.Errorf("failed to create stdout trace exporter: %w", err)
113-
}
114-
opts = append(opts, otelconf.WithTracerProviderOptions(
115-
tracesdk.WithBatcher(exporter),
116-
))
117-
}
118-
if extra.MetricsFile != "" {
119-
metricsFile, err := os.OpenFile(extra.MetricsFile, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0o644)
120-
if err != nil {
121-
return fmt.Errorf("failed to open metrics file: %w", err)
122-
}
123-
shutdownFuncs = append(shutdownFuncs, func(ctx context.Context) error {
124-
if err := metricsFile.Close(); err != nil {
125-
return fmt.Errorf("failed to close metrics file: %w", err)
126-
}
127-
return nil
128-
})
129-
exporter, err := stdoutmetric.New(
130-
stdoutmetric.WithWriter(metricsFile),
131-
// stdoutmetric.WithPrettyPrint(),
132-
)
133-
if err != nil {
134-
return fmt.Errorf("failed to create stdout metric exporter: %w", err)
135-
}
136-
137-
// Configure periodic reader with custom interval if specified
138-
readerOpts := []metricsdk.PeriodicReaderOption{}
139-
if extra.MetricsFileInterval != "" {
140-
interval, err := time.ParseDuration(extra.MetricsFileInterval)
141-
if err != nil {
142-
return fmt.Errorf("failed to parse metrics_file_interval: %w", err)
143-
}
144-
readerOpts = append(readerOpts, metricsdk.WithInterval(interval))
145-
}
146-
147-
opts = append(opts, otelconf.WithMeterProviderOptions(
148-
metricsdk.WithReader(metricsdk.NewPeriodicReader(exporter, readerOpts...)),
149-
))
150-
}
151-
if extra.LogsFile != "" {
152-
logsFile, err := os.OpenFile(extra.LogsFile, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0o644)
153-
if err != nil {
154-
return fmt.Errorf("failed to open logs file: %w", err)
155-
}
156-
shutdownFuncs = append(shutdownFuncs, func(ctx context.Context) error {
157-
if err := logsFile.Close(); err != nil {
158-
return fmt.Errorf("failed to close logs file: %w", err)
159-
}
160-
return nil
161-
})
162-
exporter, err := stdoutlog.New(
163-
stdoutlog.WithWriter(logsFile),
164-
// stdoutlog.WithPrettyPrint(),
165-
)
166-
if err != nil {
167-
return fmt.Errorf("failed to create stdout log exporter: %w", err)
168-
}
169-
opts = append(opts, otelconf.WithLoggerProviderOptions(
170-
logsdk.WithProcessor(logsdk.NewBatchProcessor(exporter)),
171-
))
172-
}
17389
if extra.InstrumentHost {
17490
fmt.Println("Initializing host instrumentation")
17591
if err := host.Start(); err != nil {

0 commit comments

Comments
 (0)