Skip to content

Commit bbf066a

Browse files
committed
Revert "[processor/transform] Instrument the transform processor to emit traces (open-telemetry#33508)"
This reverts commit 5f75137
1 parent 0f63b5a commit bbf066a

File tree

5 files changed

+15
-297
lines changed

5 files changed

+15
-297
lines changed

.chloggen/refactor-target-allocator.yaml

Lines changed: 0 additions & 27 deletions
This file was deleted.

pkg/ottl/README.md

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -151,21 +151,3 @@ service:
151151
2024-05-29T16:38:09.600-0600 debug [email protected]/parser.go:268 TransformContext after statement execution {"kind": "processor", "name": "transform", "pipeline": "logs", "statement": "set(instrumentation_scope.attributes[\"test\"], [\"pass\"])", "condition matched": true, "TransformContext": {"resource": {"attributes": {"test": "pass"}, "dropped_attribute_count": 0}, "scope": {"attributes": {"test": ["pass"]}, "dropped_attribute_count": 0, "name": "", "version": ""}, "log_record": {"attributes": {"log.file.name": "test.log"}, "body": "test", "dropped_attribute_count": 0, "flags": 0, "observed_time_unix_nano": 1717022289500721000, "severity_number": 0, "severity_text": "", "span_id": "", "time_unix_nano": 0, "trace_id": ""}, "cache": {}}}
152152
2024-05-29T16:38:09.601-0600 debug [email protected]/parser.go:268 TransformContext after statement execution {"kind": "processor", "name": "transform", "pipeline": "logs", "statement": "set(attributes[\"test\"], true)", "condition matched": true, "TransformContext": {"resource": {"attributes": {"test": "pass"}, "dropped_attribute_count": 0}, "scope": {"attributes": {"test": ["pass"]}, "dropped_attribute_count": 0, "name": "", "version": ""}, "log_record": {"attributes": {"log.file.name": "test.log", "test": true}, "body": "test", "dropped_attribute_count": 0, "flags": 0, "observed_time_unix_nano": 1717022289500721000, "severity_number": 0, "severity_text": "", "span_id": "", "time_unix_nano": 0, "trace_id": ""}, "cache": {}}}
153153
```
154-
155-
If configured to do so, the collector also emits traces for the execution of OTTL statement sequences.
156-
These traces contain spans for the execution of each statement, including the statement itself and whether it has
157-
been applied or not. To make use of this, enable the self monitoring of the collector by setting the
158-
`--feature-gates=telemetry.useOtelWithSDKConfigurationForInternalTelemetry` flag, and using the following configuration
159-
to export the traces to e.g. an OTLP API endpoint:
160-
161-
```yaml
162-
service:
163-
telemetry:
164-
traces:
165-
processors:
166-
- batch:
167-
exporter:
168-
otlp:
169-
protocol: http/protobuf
170-
endpoint: ${env:OTLP_ENDPOINT}/v1/traces
171-
```

pkg/ottl/go.mod

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,27 +2,25 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl
22

33
go 1.22.0
44

5+
toolchain go1.22.6
6+
57
require (
68
github.com/alecthomas/participle/v2 v2.1.1
7-
github.com/elastic/go-grok v0.3.1
89
github.com/gobwas/glob v0.2.3
910
github.com/google/uuid v1.6.0
1011
github.com/iancoleman/strcase v0.3.0
1112
github.com/json-iterator/go v1.1.12
12-
github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.108.0
13+
github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.104.0
1314
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.108.0
1415
github.com/stretchr/testify v1.9.0
15-
github.com/ua-parser/uap-go v0.0.0-20240611065828-3a4781585db6
1616
go.opentelemetry.io/collector/component v0.108.1
1717
go.opentelemetry.io/collector/pdata v1.14.1
1818
go.opentelemetry.io/collector/semconv v0.108.1
19-
go.opentelemetry.io/otel v1.29.0
20-
go.opentelemetry.io/otel/sdk v1.29.0
2119
go.opentelemetry.io/otel/trace v1.29.0
2220
go.uber.org/goleak v1.3.0
2321
go.uber.org/zap v1.27.0
2422
golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842
25-
golang.org/x/net v0.28.0
23+
golang.org/x/net v0.26.0
2624
)
2725

2826
require (
@@ -32,29 +30,26 @@ require (
3230
github.com/go-logr/logr v1.4.2 // indirect
3331
github.com/go-logr/stdr v1.2.2 // indirect
3432
github.com/gogo/protobuf v1.3.2 // indirect
35-
github.com/hashicorp/golang-lru v0.5.4 // indirect
36-
github.com/klauspost/compress v1.17.9 // indirect
37-
github.com/magefile/mage v1.15.0 // indirect
3833
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
3934
github.com/modern-go/reflect2 v1.0.2 // indirect
40-
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
4135
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.108.0 // indirect
4236
github.com/pmezard/go-difflib v1.0.0 // indirect
4337
github.com/prometheus/client_golang v1.20.1 // indirect
4438
github.com/prometheus/client_model v0.6.1 // indirect
4539
github.com/prometheus/common v0.55.0 // indirect
4640
github.com/prometheus/procfs v0.15.1 // indirect
4741
go.opentelemetry.io/collector/config/configtelemetry v0.108.1 // indirect
42+
go.opentelemetry.io/otel v1.29.0 // indirect
4843
go.opentelemetry.io/otel/exporters/prometheus v0.50.0 // indirect
4944
go.opentelemetry.io/otel/metric v1.29.0 // indirect
45+
go.opentelemetry.io/otel/sdk v1.28.0 // indirect
5046
go.opentelemetry.io/otel/sdk/metric v1.28.0 // indirect
5147
go.uber.org/multierr v1.11.0 // indirect
52-
golang.org/x/sys v0.24.0 // indirect
48+
golang.org/x/sys v0.22.0 // indirect
5349
golang.org/x/text v0.17.0 // indirect
5450
google.golang.org/genproto/googleapis/rpc v0.0.0-20240701130421-f6361c86f094 // indirect
5551
google.golang.org/grpc v1.65.0 // indirect
5652
google.golang.org/protobuf v1.34.2 // indirect
57-
gopkg.in/yaml.v2 v2.4.0 // indirect
5853
gopkg.in/yaml.v3 v3.0.1 // indirect
5954
)
6055

pkg/ottl/parser.go

Lines changed: 4 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,9 @@ import (
1010

1111
"github.com/alecthomas/participle/v2"
1212
"go.opentelemetry.io/collector/component"
13-
"go.opentelemetry.io/otel/attribute"
14-
"go.opentelemetry.io/otel/codes"
15-
"go.opentelemetry.io/otel/trace"
16-
"go.opentelemetry.io/otel/trace/noop"
1713
"go.uber.org/zap"
1814
)
1915

20-
const (
21-
logAttributeTraceID = "trace_id"
22-
logAttributeSpanID = "span_id"
23-
)
24-
2516
// Statement holds a top level Statement for processing telemetry data. A Statement is a combination of a function
2617
// invocation and the boolean expression to match telemetry for invoking the function.
2718
type Statement[K any] struct {
@@ -240,7 +231,6 @@ type StatementSequence[K any] struct {
240231
statements []*Statement[K]
241232
errorMode ErrorMode
242233
telemetrySettings component.TelemetrySettings
243-
tracer trace.Tracer
244234
}
245235

246236
type StatementSequenceOption[K any] func(*StatementSequence[K])
@@ -260,10 +250,6 @@ func NewStatementSequence[K any](statements []*Statement[K], telemetrySettings c
260250
statements: statements,
261251
errorMode: PropagateError,
262252
telemetrySettings: telemetrySettings,
263-
tracer: &noop.Tracer{},
264-
}
265-
if telemetrySettings.TracerProvider != nil {
266-
s.tracer = telemetrySettings.TracerProvider.Tracer("ottl")
267253
}
268254
for _, op := range options {
269255
op(&s)
@@ -276,62 +262,20 @@ func NewStatementSequence[K any](statements []*Statement[K], telemetrySettings c
276262
// When the ErrorMode of the StatementSequence is `ignore`, errors are logged and execution continues to the next statement.
277263
// When the ErrorMode of the StatementSequence is `silent`, errors are not logged and execution continues to the next statement.
278264
func (s *StatementSequence[K]) Execute(ctx context.Context, tCtx K) error {
279-
ctx, sequenceSpan := s.tracer.Start(ctx, "ottl/StatementSequenceExecution")
280-
defer sequenceSpan.End()
281-
s.telemetrySettings.Logger.Debug(
282-
"initial TransformContext",
283-
zap.Any("TransformContext", tCtx),
284-
zap.String(logAttributeTraceID, sequenceSpan.SpanContext().TraceID().String()),
285-
zap.String(logAttributeSpanID, sequenceSpan.SpanContext().SpanID().String()),
286-
)
265+
s.telemetrySettings.Logger.Debug("initial TransformContext", zap.Any("TransformContext", tCtx))
287266
for _, statement := range s.statements {
288-
statementCtx, statementSpan := s.tracer.Start(ctx, "ottl/StatementExecution")
289-
statementSpan.SetAttributes(
290-
attribute.KeyValue{
291-
Key: "statement",
292-
Value: attribute.StringValue(statement.origText),
293-
},
294-
)
295-
_, condition, err := statement.Execute(statementCtx, tCtx)
296-
statementSpan.SetAttributes(
297-
attribute.KeyValue{
298-
Key: "condition.matched",
299-
Value: attribute.BoolValue(condition),
300-
},
301-
)
302-
s.telemetrySettings.Logger.Debug(
303-
"TransformContext after statement execution",
304-
zap.String("statement", statement.origText),
305-
zap.Bool("condition matched", condition),
306-
zap.Any("TransformContext", tCtx),
307-
zap.String(logAttributeTraceID, statementSpan.SpanContext().TraceID().String()),
308-
zap.String(logAttributeSpanID, statementSpan.SpanContext().SpanID().String()),
309-
)
267+
_, condition, err := statement.Execute(ctx, tCtx)
268+
s.telemetrySettings.Logger.Debug("TransformContext after statement execution", zap.String("statement", statement.origText), zap.Bool("condition matched", condition), zap.Any("TransformContext", tCtx))
310269
if err != nil {
311-
statementSpan.RecordError(err)
312-
errMsg := fmt.Sprintf("failed to execute statement '%s': %v", statement.origText, err)
313-
statementSpan.SetStatus(codes.Error, errMsg)
314270
if s.errorMode == PropagateError {
315-
sequenceSpan.SetStatus(codes.Error, errMsg)
316-
statementSpan.End()
317271
err = fmt.Errorf("failed to execute statement: %v, %w", statement.origText, err)
318272
return err
319273
}
320274
if s.errorMode == IgnoreError {
321-
s.telemetrySettings.Logger.Warn(
322-
"failed to execute statement",
323-
zap.Error(err),
324-
zap.String("statement", statement.origText),
325-
zap.String(logAttributeTraceID, statementSpan.SpanContext().TraceID().String()),
326-
zap.String(logAttributeSpanID, statementSpan.SpanContext().SpanID().String()),
327-
)
275+
s.telemetrySettings.Logger.Warn("failed to execute statement", zap.Error(err), zap.String("statement", statement.origText))
328276
}
329-
} else {
330-
statementSpan.SetStatus(codes.Ok, "statement executed successfully")
331277
}
332-
statementSpan.End()
333278
}
334-
sequenceSpan.SetStatus(codes.Ok, "statement sequence executed successfully")
335279
return nil
336280
}
337281

0 commit comments

Comments
 (0)