stripe / veneur

A distributed, fault-tolerant pipeline for observability data
MIT License
1.73k stars 174 forks source link

Replace proto.Marshal with direct call to Marshal's #1018

Closed andrewa-stripe closed 1 year ago

andrewa-stripe commented 1 year ago

Summary

Replace proto.Marshal with direct call to Marshal's

Motivation

Saw veneur prevalent in performance profiles

Test plan


# before: proto.Marshal
BenchmarkSerialization/UDP_plain_span_with_metrics-10             464810          2403 ns/op         176 B/op          2 allocs/op
BenchmarkSerialization/UDP_plain_span_no_metrics-10               541394          2488 ns/op          80 B/op          2 allocs/op
BenchmarkSerialization/UDP_plain_empty_span_with_metrics-10       536200          2497 ns/op         112 B/op          2 allocs/op

# span.Marshal
BenchmarkSerialization/UDP_plain_span_with_metrics-10             511609          2526 ns/op         160 B/op          1 allocs/op
BenchmarkSerialization/UDP_plain_span_no_metrics-10               635616          1916 ns/op          64 B/op          1 allocs/op
BenchmarkSerialization/UDP_plain_empty_span_with_metrics-10       572904          2157 ns/op          96 B/op          1 allocs/op

Rollout/monitoring/revert plan