Skip to content

Commit

Permalink
[processor/transform] Update transformprocessor to log errors (open-t…
Browse files Browse the repository at this point in the history
…elemetry#18859)

* Update transformprocessor to log errors

* Add changelog

* fix lint
  • Loading branch information
TylerHelmuth committed Feb 24, 2023
1 parent 99c3d98 commit 4423b13
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 0 deletions.
16 changes: 16 additions & 0 deletions .chloggen/tp-log-error.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
change_type: bug_fix

# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver)
component: transformprocessor

# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
note: Fixes a bug where the transformprocessor's errors failed to be logged.

# One or more tracking issues related to the change
issues: [18859]

# (Optional) One or more lines of additional information to render under the primary note.
# These lines will be padded with 2 spaces and then inserted directly into the document.
# Use pipe (|) for multiline entries.
subtext:
4 changes: 4 additions & 0 deletions processor/transformprocessor/internal/logs/processor.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,15 @@ import (
"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/consumer"
"go.opentelemetry.io/collector/pdata/plog"
"go.uber.org/zap"

"github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl"
"github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor/internal/common"
)

type Processor struct {
contexts []consumer.Logs
logger *zap.Logger
}

func NewProcessor(contextStatements []common.ContextStatements, errorMode ottl.ErrorMode, settings component.TelemetrySettings) (*Processor, error) {
Expand All @@ -46,13 +48,15 @@ func NewProcessor(contextStatements []common.ContextStatements, errorMode ottl.E

return &Processor{
contexts: contexts,
logger: settings.Logger,
}, nil
}

func (p *Processor) ProcessLogs(ctx context.Context, ld plog.Logs) (plog.Logs, error) {
for _, c := range p.contexts {
err := c.ConsumeLogs(ctx, ld)
if err != nil {
p.logger.Error("failed processing logs", zap.Error(err))
return ld, err
}
}
Expand Down
4 changes: 4 additions & 0 deletions processor/transformprocessor/internal/metrics/processor.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,15 @@ import (
"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/consumer"
"go.opentelemetry.io/collector/pdata/pmetric"
"go.uber.org/zap"

"github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl"
"github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor/internal/common"
)

type Processor struct {
contexts []consumer.Metrics
logger *zap.Logger
}

func NewProcessor(contextStatements []common.ContextStatements, errorMode ottl.ErrorMode, settings component.TelemetrySettings) (*Processor, error) {
Expand All @@ -46,13 +48,15 @@ func NewProcessor(contextStatements []common.ContextStatements, errorMode ottl.E

return &Processor{
contexts: contexts,
logger: settings.Logger,
}, nil
}

func (p *Processor) ProcessMetrics(ctx context.Context, md pmetric.Metrics) (pmetric.Metrics, error) {
for _, c := range p.contexts {
err := c.ConsumeMetrics(ctx, md)
if err != nil {
p.logger.Error("failed processing metrics", zap.Error(err))
return md, err
}
}
Expand Down
4 changes: 4 additions & 0 deletions processor/transformprocessor/internal/traces/processor.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,15 @@ import (
"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/consumer"
"go.opentelemetry.io/collector/pdata/ptrace"
"go.uber.org/zap"

"github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl"
"github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor/internal/common"
)

type Processor struct {
contexts []consumer.Traces
logger *zap.Logger
}

func NewProcessor(contextStatements []common.ContextStatements, errorMode ottl.ErrorMode, settings component.TelemetrySettings) (*Processor, error) {
Expand All @@ -46,13 +48,15 @@ func NewProcessor(contextStatements []common.ContextStatements, errorMode ottl.E

return &Processor{
contexts: contexts,
logger: settings.Logger,
}, nil
}

func (p *Processor) ProcessTraces(ctx context.Context, td ptrace.Traces) (ptrace.Traces, error) {
for _, c := range p.contexts {
err := c.ConsumeTraces(ctx, td)
if err != nil {
p.logger.Error("failed processing traces", zap.Error(err))
return td, err
}
}
Expand Down

0 comments on commit 4423b13

Please sign in to comment.