open-telemetry
opentelemetry-collector
BlogDocsChangelog

Don't call Marshal in unmarshalerEmbeddedStructsHookFunc

#14213
Comparing
jade-guiton-dd:no-marshal-in-unmarshal-hook
(
51180e9
) with
main
(
43396d4
)
CodSpeed Performance Gauge
-32%
Improvements
4
Regressions
3
Untouched
66

Benchmarks

Failed

BenchmarkTraceSizeBytes
processor/batchprocessor/batch_processor_test.go
Regression
CodSpeed Performance Gauge
-32%
298.8 µs436.9 µs
BenchmarkTracesToProto
pdata/ptrace/pb_test.go
Regression
CodSpeed Performance Gauge
-26%
4.7 µs6.3 µs
BenchmarkLogsToProto
pdata/plog/pb_test.go
Regression
CodSpeed Performance Gauge
-29%
3.1 µs4.3 µs

Improved

zstdNoConcurrency
config/confighttp/compressor_test.go::BenchmarkCompression
CodSpeed Performance Gauge
+81%
65.1 µs36 µs
BenchmarkSplittingBasedOnItemCountManyMetricsSlightlyAboveLimit
exporter/exporterhelper/internal/queuebatch/metrics_batch_test.go
CodSpeed Performance Gauge
+32%
112.8 ms85.1 ms
BenchmarkSplittingBasedOnItemCountHugeMetrics
exporter/exporterhelper/internal/queuebatch/metrics_batch_test.go
CodSpeed Performance Gauge
+27%
119.2 ms93.6 ms
BenchmarkSplittingBasedOnItemCountHugeLogs
exporter/exporterhelper/internal/queuebatch/logs_batch_test.go
CodSpeed Performance Gauge
+26%
44 ms34.8 ms

Passed

BenchmarkSplittingBasedOnItemCountHugeTraces
exporter/exporterhelper/internal/queuebatch/traces_batch_test.go
CodSpeed Performance Gauge
+23%
53.5 ms43.6 ms
BenchmarkSplittingBasedOnItemCountManyTracesSlightlyAboveLimit
exporter/exporterhelper/internal/queuebatch/traces_batch_test.go
CodSpeed Performance Gauge
+16%
53 ms45.6 ms
BenchmarkSplittingBasedOnItemCountManySmallMetrics
exporter/exporterhelper/internal/queuebatch/metrics_batch_test.go
CodSpeed Performance Gauge
+14%
7.6 ms6.6 ms
BenchmarkMultiBatchMetricProcessor2k
processor/batchprocessor/batch_processor_test.go
CodSpeed Performance Gauge
+12%
154.1 ms137.8 ms
BenchmarkBatchMetricProcessor2k
processor/batchprocessor/batch_processor_test.go
CodSpeed Performance Gauge
+8%
158.3 ms146.2 ms
BenchmarkSplittingBasedOnItemCountManySmallTraces
exporter/exporterhelper/internal/queuebatch/traces_batch_test.go
CodSpeed Performance Gauge
+8%
3.7 ms3.4 ms
BenchmarkSplittingBasedOnByteSizeManySmallLogs
exporter/exporterhelper/internal/queuebatch/logs_batch_test.go
CodSpeed Performance Gauge
+6%
3.8 s3.6 s
BenchmarkMemoryQueueWaitForResult
exporter/exporterhelper/internal/queue/memory_queue_test.go
CodSpeed Performance Gauge
+5%
72.9 µs69.4 µs
BenchmarkSplittingBasedOnByteSizeManyLogsSlightlyAboveLimit
exporter/exporterhelper/internal/queuebatch/logs_batch_test.go
CodSpeed Performance Gauge
+5%
94.6 ms90.2 ms
BenchmarkSplittingBasedOnItemCountManyLogsSlightlyAboveLimit
exporter/exporterhelper/internal/queuebatch/logs_batch_test.go
CodSpeed Performance Gauge
+4%
41.5 ms39.8 ms
BenchmarkLogsUsage
pdata/plog/logs_test.go
CodSpeed Performance Gauge
+1%
2.8 µs2.7 µs
sm_trace_request/raw_bytes_240/compressed_bytes_258/compressor_snappy
config/configgrpc/configgrpc_benchmark_test.go::BenchmarkCompressors
CodSpeed Performance Gauge
+1%
791 ns781 ns
BenchmarkMetricsFromProto
pdata/pmetric/pb_test.go
CodSpeed Performance Gauge
+1%
28 µs27.7 µs
zstdWithConcurrency
config/confighttp/compressor_test.go::BenchmarkCompression
CodSpeed Performance Gauge
+1%
26.5 µs26.3 µs
BenchmarkPersistentQueue
exporter/exporterhelper/internal/queue/persistent_queue_test.go
CodSpeed Performance Gauge
0%
199.3 µs199.1 µs
BenchmarkTracesUsage
pdata/ptrace/traces_test.go
CodSpeed Performance Gauge
0%
4.8 µs4.8 µs
md_trace_request/raw_bytes_338/compressed_bytes_294/compressor_snappy
config/configgrpc/configgrpc_benchmark_test.go::BenchmarkCompressors
CodSpeed Performance Gauge
0%
878 ns881 ns
md_log_request/raw_bytes_242/compressed_bytes_260/compressor_snappy
config/configgrpc/configgrpc_benchmark_test.go::BenchmarkCompressors
CodSpeed Performance Gauge
-1%
786 ns791 ns
BenchmarkTracesFromProto
pdata/ptrace/pb_test.go
CodSpeed Performance Gauge
-1%
15.5 µs15.6 µs
md_metric_request/raw_bytes_376/compressed_bytes_215/compressor_snappy
config/configgrpc/configgrpc_benchmark_test.go::BenchmarkCompressors
CodSpeed Performance Gauge
-1%
831 ns841 ns
BenchmarkProfilesUsage
pdata/pprofile/profiles_test.go
CodSpeed Performance Gauge
-2%
3.4 µs3.5 µs
BenchmarkMetricsUsage
pdata/pmetric/metrics_test.go
CodSpeed Performance Gauge
-2%
1.5 µs1.5 µs
BenchmarkSplittingBasedOnItemCountManySmallLogs
exporter/exporterhelper/internal/queuebatch/logs_batch_test.go
CodSpeed Performance Gauge
-3%
2.4 ms2.4 ms
sm_log_request/raw_bytes_160/compressed_bytes_178/compressor_snappy
config/configgrpc/configgrpc_benchmark_test.go::BenchmarkCompressors
CodSpeed Performance Gauge
-3%
673 ns691 ns
sm_metric_request/raw_bytes_183/compressed_bytes_155/compressor_snappy
config/configgrpc/configgrpc_benchmark_test.go::BenchmarkCompressors
CodSpeed Performance Gauge
-3%
670 ns691 ns
lg_trace_request/raw_bytes_7250/compressed_bytes_269/compressor_zstd
config/configgrpc/configgrpc_benchmark_test.go::BenchmarkCompressors
CodSpeed Performance Gauge
-4%
10.6 µs11.1 µs
BenchmarkLogsFromProto
pdata/plog/pb_test.go
CodSpeed Performance Gauge
-5%
9.2 µs9.7 µs
lg_log_request/raw_bytes_4850/compressed_bytes_463/compressor_snappy
config/configgrpc/configgrpc_benchmark_test.go::BenchmarkCompressors
CodSpeed Performance Gauge
-5%
1.8 µs1.9 µs
lg_metric_request/raw_bytes_10991/compressed_bytes_1033/compressor_snappy
config/configgrpc/configgrpc_benchmark_test.go::BenchmarkCompressors
CodSpeed Performance Gauge
-5%
4 µs4.2 µs
BenchmarkProfilesFromProto
pdata/pprofile/pb_test.go
CodSpeed Performance Gauge
-5%
5.2 µs5.5 µs
md_log_request/raw_bytes_242/compressed_bytes_220/compressor_gzip
config/configgrpc/configgrpc_benchmark_test.go::BenchmarkCompressors
CodSpeed Performance Gauge
-6%
21.2 µs22.5 µs
sm_log_request/raw_bytes_160/compressed_bytes_164/compressor_gzip
config/configgrpc/configgrpc_benchmark_test.go::BenchmarkCompressors
CodSpeed Performance Gauge
-6%
18.9 µs20.2 µs
lg_log_request/raw_bytes_4850/compressed_bytes_217/compressor_zstd
config/configgrpc/configgrpc_benchmark_test.go::BenchmarkCompressors
CodSpeed Performance Gauge
-7%
10.3 µs11.1 µs
md_metric_request/raw_bytes_376/compressed_bytes_193/compressor_gzip
config/configgrpc/configgrpc_benchmark_test.go::BenchmarkCompressors
CodSpeed Performance Gauge
-7%
22.3 µs23.9 µs
sm_trace_request/raw_bytes_240/compressed_bytes_211/compressor_gzip
config/configgrpc/configgrpc_benchmark_test.go::BenchmarkCompressors
CodSpeed Performance Gauge
-8%
22.3 µs24.2 µs
lg_trace_request/raw_bytes_7250/compressed_bytes_615/compressor_snappy
config/configgrpc/configgrpc_benchmark_test.go::BenchmarkCompressors
CodSpeed Performance Gauge
-8%
2.2 µs2.4 µs
with_a_hundred_values_to_loop_through
pdata/pprofile/string_table_test.go::BenchmarkSetString
CodSpeed Performance Gauge
-8%
119 ns130 ns
BenchmarkFromAttributeIndices
pdata/pprofile/attributes_test.go
CodSpeed Performance Gauge
-9%
191 ns210 ns
md_trace_request/raw_bytes_338/compressed_bytes_265/compressor_zstd
config/configgrpc/configgrpc_benchmark_test.go::BenchmarkCompressors
CodSpeed Performance Gauge
-9%
8 µs8.8 µs
sm_trace_request/raw_bytes_240/compressed_bytes_211/compressor_zstd
config/configgrpc/configgrpc_benchmark_test.go::BenchmarkCompressors
CodSpeed Performance Gauge
-10%
7.3 µs8.1 µs
sm_metric_request/raw_bytes_183/compressed_bytes_138/compressor_zstd
config/configgrpc/configgrpc_benchmark_test.go::BenchmarkCompressors
CodSpeed Performance Gauge
-10%
6.4 µs7.2 µs
sm_metric_request/raw_bytes_183/compressed_bytes_141/compressor_gzip
config/configgrpc/configgrpc_benchmark_test.go::BenchmarkCompressors
CodSpeed Performance Gauge
-10%
18.8 µs21 µs
md_metric_request/raw_bytes_376/compressed_bytes_203/compressor_zstd
config/configgrpc/configgrpc_benchmark_test.go::BenchmarkCompressors
CodSpeed Performance Gauge
-10%
7.5 µs8.3 µs
BenchmarkSplittingBasedOnByteSizeHugeLogs
exporter/exporterhelper/internal/queuebatch/logs_batch_test.go
CodSpeed Performance Gauge
-10%
87.4 ms97.3 ms
lg_metric_request/raw_bytes_10991/compressed_bytes_538/compressor_zstd
config/configgrpc/configgrpc_benchmark_test.go::BenchmarkCompressors
CodSpeed Performance Gauge
-10%
15.2 µs17 µs
lg_trace_request/raw_bytes_7250/compressed_bytes_313/compressor_gzip
config/configgrpc/configgrpc_benchmark_test.go::BenchmarkCompressors
CodSpeed Performance Gauge
-11%
44.2 µs49.6 µs
md_trace_request/raw_bytes_338/compressed_bytes_256/compressor_gzip
config/configgrpc/configgrpc_benchmark_test.go::BenchmarkCompressors
CodSpeed Performance Gauge
-12%
23.9 µs27.2 µs
BenchmarkFromLocationIndices
pdata/pprofile/locations_test.go
CodSpeed Performance Gauge
-12%
1.5 µs1.7 µs
lg_log_request/raw_bytes_4850/compressed_bytes_253/compressor_gzip
config/configgrpc/configgrpc_benchmark_test.go::BenchmarkCompressors
CodSpeed Performance Gauge
-12%
33.4 µs38.2 µs
lg_metric_request/raw_bytes_10991/compressed_bytes_587/compressor_gzip
config/configgrpc/configgrpc_benchmark_test.go::BenchmarkCompressors
CodSpeed Performance Gauge
-13%
67.3 µs77.2 µs
sm_log_request/raw_bytes_160/compressed_bytes_159/compressor_zstd
config/configgrpc/configgrpc_benchmark_test.go::BenchmarkCompressors
CodSpeed Performance Gauge
-13%
7.9 µs9.1 µs
md_log_request/raw_bytes_242/compressed_bytes_210/compressor_zstd
config/configgrpc/configgrpc_benchmark_test.go::BenchmarkCompressors
CodSpeed Performance Gauge
-14%
8.3 µs9.6 µs
BenchmarkTraceSizeSpanCount
processor/batchprocessor/batch_processor_test.go
CodSpeed Performance Gauge
-14%
25 ns29 ns
with_a_new_value
pdata/pprofile/string_table_test.go::BenchmarkSetString
CodSpeed Performance Gauge
-14%
25 ns29 ns
BenchmarkProfilesMarshalJSON
pdata/pprofile/profiles_test.go
CodSpeed Performance Gauge
-15%
3.7 µs4.3 µs
BenchmarkMetricsMarshalJSON
pdata/pmetric/metrics_test.go
CodSpeed Performance Gauge
-17%
4.3 µs5.1 µs
BenchmarkLogsMarshalJSON
pdata/plog/logs_test.go
CodSpeed Performance Gauge
-17%
3.1 µs3.8 µs
with_a_duplicate_value
pdata/pprofile/string_table_test.go::BenchmarkSetString
CodSpeed Performance Gauge
-17%
24 ns29 ns
BenchmarkMetricsToProto
pdata/pmetric/pb_test.go
CodSpeed Performance Gauge
-18%
4.9 µs6 µs
BenchmarkProfilesToProto
pdata/pprofile/pb_test.go
CodSpeed Performance Gauge
-22%
1.3 µs1.6 µs
BenchmarkTracesMarshalJSON
pdata/ptrace/traces_test.go
CodSpeed Performance Gauge
-22%
4.6 µs5.9 µs
HTTP/1.1,_shared_client_(like_load_balancer)
config/confighttp/server_test.go::BenchmarkHttpRequest
CodSpeed Performance Gauge
N/A
< 1 ns< 1 ns
HTTP/2.0,_client_per_thread_(like_single_app)
config/confighttp/server_test.go::BenchmarkHttpRequest
CodSpeed Performance Gauge
N/A
< 1 ns< 1 ns
with_an_existing_value
pdata/pprofile/string_table_test.go::BenchmarkSetString
CodSpeed Performance Gauge
-17%
24 ns29 ns
HTTP/2.0,_shared_client_(like_load_balancer)
config/confighttp/server_test.go::BenchmarkHttpRequest
CodSpeed Performance Gauge
N/A
< 1 ns< 1 ns
HTTP/1.1,_client_per_thread_(like_single_app)
config/confighttp/server_test.go::BenchmarkHttpRequest
CodSpeed Performance Gauge
N/A
< 1 ns< 1 ns

Commits

Click on a commit to change the comparison range
Base
main
43396d4
-61.11%
Let's see what breaks
4c548e9
13 days ago
by jade-guiton-dd
×2.3
Remove conflicting fields instead of trying to make the changes no-op
1f0eeb3
13 days ago
by jade-guiton-dd
Use reflect magic to unmarshal non-squashed fields separately
ca28003
13 days ago
by jade-guiton-dd
+50.04%
Add changelog
54ad546
13 days ago
by jade-guiton-dd
-31.93%
Add test
32b6c05
7 days ago
by jade-guiton-dd
+3.2%
Merge branch 'main' into no-marshal-in-unmarshal-hook
44da43d
7 days ago
by mx-psi
-2.92%
Better comments
51180e9
7 days ago
by jade-guiton-dd
© 2025 CodSpeed Technology
Home Terms Privacy Docs