Replies: 2 comments 1 reply
-
We haven't discussed accept an user provided allocator. Would override the global |
Beta Was this translation helpful? Give feedback.
-
Hello Matias,
Could you please clarify your ask with more concrete example. Perhaps a benchmark? It should generally be possible to override the allocator using TCMalloc as a reference example.
It would be invaluable for us to understand how you came to that conclusion. Having more concrete examples with Google Benchmark + concrete exporter kind would help. Most I/O and processing is done asynchronously within context of an OTLP exporter, for example.. Whereas in case of ETW exporter on Windows - we generally pass event buffers synchronously to high-perf ETW (kernel-based mechanism), without much network I/O, avoiding the unnecessary memcpy, and not needing an additional thread either. Having more tangible instrumentation example (e.g. |
Beta Was this translation helpful? Give feedback.
-
Hi Open Telemetry team,
I've been studying the code in this repo to understand the design of library components for such systems. One thing that stands out to me is the lack of custom allocator support with everything defaulting to std::allocator (at least from what I have seen, perhaps I missed something).
I was just curious on the thought process and discussions here, since it seems like a drawback for certain applications. For high(er) performance or throughput server applications, std::allocator is infeasible to use on the live path of request processing, and so this library as is cannot be incorporated. Given highly templated nature of implementations supporting custom memory allocation, it also seems like a difficult decision to walk back on without other significant design considerations.
Beta Was this translation helpful? Give feedback.
All reactions