Commit da625e2
authored
Use single node struct, instead of interfaces, in NodeTreeModel (#43835)
### What does this PR do?
Instead of having interfaces for leaf and inner nodes, combine the nodes into a single struct type, and remove interfaces entirely from within the data structure.
### Motivation
Improves performance significantly, since we're not allocating interfaces nor dispatching on them.
### Describe how you validated your changes
Made a microbenchmark that just sets up the config in a standalone binary. Unit tests ensure that functionality continues to work properly.
### Additional Notes
Co-authored-by: dustin.long <dustin.long@datadoghq.com>1 parent bb4aafd commit da625e2
File tree
130 files changed
+536
-987
lines changed- comp
- core
- configsync
- config
- ipc
- httphelpers
- impl
- mock
- log
- fx
- impl-trace
- impl
- status/statusimpl
- tagger
- def
- fx-remote
- impl-remote
- forwarder
- defaultforwarder
- orchestrator/orchestratorinterface
- logs/agent/config
- otelcol
- collector-contrib/impl
- converter/impl
- ddflareextension/impl
- ddprofilingextension/impl
- logsagentpipeline
- logsagentpipelineimpl
- otlp
- components
- exporter
- datadogexporter
- logsagentexporter
- serializerexporter
- processor/infraattributesprocessor
- testutil
- status/impl
- serializer
- logscompression
- metricscompression
- pkg
- api
- config
- create
- mock
- nodetreemodel
- remote
- setup
- structure
- utils
- logs
- client
- diagnostic
- message
- pipeline
- processor
- sds
- sender
- sources
- util/testutils
- metrics
- process/util/api
- serializer
- trace
- util
- compression
- flavor
- grpc
- http
- log/setup
- test
- e2e-framework
- new-e2e
- otel
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
130 files changed
+536
-987
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
75 | 75 | | |
76 | 76 | | |
77 | 77 | | |
78 | | - | |
79 | 78 | | |
80 | 79 | | |
81 | 80 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
92 | 92 | | |
93 | 93 | | |
94 | 94 | | |
95 | | - | |
96 | 95 | | |
97 | 96 | | |
98 | 97 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
83 | 83 | | |
84 | 84 | | |
85 | 85 | | |
86 | | - | |
87 | 86 | | |
88 | 87 | | |
89 | 88 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
84 | 84 | | |
85 | 85 | | |
86 | 86 | | |
87 | | - | |
88 | 87 | | |
89 | 88 | | |
90 | 89 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
80 | 80 | | |
81 | 81 | | |
82 | 82 | | |
83 | | - | |
84 | 83 | | |
85 | 84 | | |
86 | 85 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
0 commit comments