Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[processor/transform] Add new Context-specific configuration options #15381

Merged
merged 32 commits into from
Nov 10, 2022
Merged
Changes from 1 commit
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
b858f59
Add new Context-specific configuration options
TylerHelmuth Oct 20, 2022
07457a8
Add ContextStatements config
TylerHelmuth Oct 21, 2022
cd058e7
Add high-level context
TylerHelmuth Oct 25, 2022
5f8471c
Add high-level context
TylerHelmuth Oct 25, 2022
2da5d8a
Merge branch 'open-telemetry:main' into tp-enhanced-contexts-2
TylerHelmuth Oct 26, 2022
ffc1fee
respond to feedback
TylerHelmuth Oct 27, 2022
38b7d9c
Fix merge
TylerHelmuth Oct 27, 2022
9133edf
Merge branch 'open-telemetry:main' into tp-enhanced-contexts-2
TylerHelmuth Oct 27, 2022
cab0096
Merge branch 'open-telemetry:main' into tp-enhanced-contexts-2
TylerHelmuth Oct 28, 2022
edfe1a4
Adjust ParserCollection
TylerHelmuth Oct 31, 2022
cdf7c7e
Add example usage temporarily
TylerHelmuth Oct 31, 2022
a19bd17
apply feedback
TylerHelmuth Oct 31, 2022
14d60b1
Split into individual files
TylerHelmuth Nov 1, 2022
7e044a4
merge in upstream/main
TylerHelmuth Nov 2, 2022
8950da0
Add spanevent and metric contexts
TylerHelmuth Nov 2, 2022
438ce15
revert logs processor example
TylerHelmuth Nov 2, 2022
b725cfb
Merge in updates
TylerHelmuth Nov 2, 2022
1371a6e
merge in upstream/main
TylerHelmuth Nov 8, 2022
85045f5
Fix lint
TylerHelmuth Nov 8, 2022
1a83c26
run make gotidy
TylerHelmuth Nov 8, 2022
335d124
fix impi
TylerHelmuth Nov 8, 2022
4c1dd6b
Update readme
TylerHelmuth Nov 8, 2022
8ce73a0
merge in upstream/main
TylerHelmuth Nov 8, 2022
7cc39ed
add changelog entry
TylerHelmuth Nov 8, 2022
caf0889
Merge remote-tracking branch 'upstream/main' into tp-enhanced-contexts
TylerHelmuth Nov 8, 2022
342d086
merge in upstream/main
TylerHelmuth Nov 9, 2022
c3f163b
Update processor/transformprocessor/README.md
TylerHelmuth Nov 9, 2022
ad39509
Add test cases that reuse context
TylerHelmuth Nov 9, 2022
3d7e974
Merge branch 'tp-enhanced-contexts' of https://github.com/TylerHelmut…
TylerHelmuth Nov 9, 2022
6e7426a
Update processor/transformprocessor/README.md
TylerHelmuth Nov 9, 2022
a939062
Apply feedback
TylerHelmuth Nov 9, 2022
1ad3e04
Update processor/transformprocessor/README.md
TylerHelmuth Nov 10, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Add high-level context
  • Loading branch information
TylerHelmuth committed Oct 25, 2022
commit 5f8471c71e2bdca578c573cd83854dd3410bce5b
46 changes: 37 additions & 9 deletions processor/transformprocessor/internal/common/processor.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,15 +32,31 @@ import (
)

type Context interface {
IsContext() bool
}

type TracesContext interface {
ProcessTraces(td ptrace.Traces)
}

type MetricsContext interface {
ProcessMetrics(td pmetric.Metrics)
}

type LogsContext interface {
ProcessLogs(td plog.Logs)
}

var _ Context = &ResourceStatements{}

type ResourceStatements struct {
Statements []*ottl.Statement[ottlresource.TransformContext]
}

func (r *ResourceStatements) IsContext() bool {
return true
}

func (r *ResourceStatements) ProcessTraces(td ptrace.Traces) {
for i := 0; i < td.ResourceSpans().Len(); i++ {
rspans := td.ResourceSpans().At(i)
Expand Down Expand Up @@ -71,10 +87,16 @@ func (r *ResourceStatements) ProcessLogs(td plog.Logs) {
}
}

var _ Context = &ScopeStatements{}

type ScopeStatements struct {
Statements []*ottl.Statement[ottlscope.TransformContext]
}

func (s *ScopeStatements) IsContext() bool {
return true
}

func (s *ScopeStatements) ProcessTraces(td ptrace.Traces) {
for i := 0; i < td.ResourceSpans().Len(); i++ {
rspans := td.ResourceSpans().At(i)
Expand Down Expand Up @@ -114,10 +136,16 @@ func (s *ScopeStatements) ProcessLogs(td plog.Logs) {
}
}

var _ Context = &TraceStatements{}

type TraceStatements struct {
statements []*ottl.Statement[ottltraces.TransformContext]
}

func (t *TraceStatements) IsContext() bool {
return true
}

func (t *TraceStatements) ProcessTraces(td ptrace.Traces) {
for i := 0; i < td.ResourceSpans().Len(); i++ {
rspans := td.ResourceSpans().At(i)
Expand All @@ -134,17 +162,15 @@ func (t *TraceStatements) ProcessTraces(td ptrace.Traces) {
}
}

func (t *TraceStatements) ProcessMetrics(td pmetric.Metrics) {}

func (t *TraceStatements) ProcessLogs(td plog.Logs) {}
var _ Context = &LogStatements{}

type LogStatements struct {
statements []*ottl.Statement[ottllogs.TransformContext]
}

func (l *LogStatements) ProcessTraces(td ptrace.Traces) {}

func (l *LogStatements) ProcessMetrics(td pmetric.Metrics) {}
func (l *LogStatements) IsContext() bool {
return true
}

func (l *LogStatements) ProcessLogs(td plog.Logs) {
for i := 0; i < td.ResourceLogs().Len(); i++ {
Expand All @@ -162,13 +188,15 @@ func (l *LogStatements) ProcessLogs(td plog.Logs) {
}
}

var _ Context = &DataPointStatements{}

type DataPointStatements struct {
statements []*ottl.Statement[ottldatapoints.TransformContext]
}

func (d *DataPointStatements) ProcessTraces(td ptrace.Traces) {}

func (d *DataPointStatements) ProcessLogs(td plog.Logs) {}
func (d *DataPointStatements) IsContext() bool {
return true
}

func (d *DataPointStatements) ProcessMetrics(td pmetric.Metrics) {
for i := 0; i < td.ResourceMetrics().Len(); i++ {
Expand Down