Commit 89bb6c3
committed
perf(otlp): eliminate unnecessary SpanData clones in tonic and HTTP exporters
The tonic trace exporter deep-cloned every SpanData into a Vec on each
export call, even though SpanBatch already provides borrowed access to
the underlying slice. Replace Arc<Vec<SpanData>> with Arc<SpanBatch> to
wrap the borrowed data directly (~free), matching the existing pattern
used by the tonic logs exporter with Arc<LogBatch>.
The HTTP trace exporter had the same unnecessary clone in
build_trace_export_body — removed by using SpanBatch::as_slice()
directly.
Adds SpanBatch::as_slice() for callers needing &[SpanData].1 parent 64d14d3 commit 89bb6c3
5 files changed
Lines changed: 10 additions & 6 deletions
File tree
- opentelemetry-otlp
- src/exporter
- http
- tonic
- opentelemetry-sdk
- src/trace
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
587 | 587 | | |
588 | 588 | | |
589 | 589 | | |
590 | | - | |
591 | | - | |
| 590 | + | |
592 | 591 | | |
593 | 592 | | |
594 | 593 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
72 | 72 | | |
73 | 73 | | |
74 | 74 | | |
75 | | - | |
| 75 | + | |
76 | 76 | | |
77 | 77 | | |
78 | 78 | | |
| |||
108 | 108 | | |
109 | 109 | | |
110 | 110 | | |
111 | | - | |
| 111 | + | |
112 | 112 | | |
113 | 113 | | |
114 | 114 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
| 8 | + | |
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
33 | 38 | | |
34 | 39 | | |
35 | 40 | | |
| |||
0 commit comments