logoalt Hacker News

jeffbeetoday at 4:08 PM4 repliesview on HN

Also a great way to make sure that your app spends most of its time in observability overhead. For example even the latency histogram that the OP mentions is wildly expensive.


Replies

Veservtoday at 5:11 PM

That just sounds like bad tracing implementations. A good tracing implementation should be able to drive gigabytes per second of trace logs to memory. If you are generating it slow enough to allow actual offload then you should be in the 1—10% range even if you are saturating your offload.

You should, of course, upper bound this overhead by switching to a full time travel debugging solution, thus tracing everything, when you get to the 10-30% range.

The only way you get to “majority” is if your trace implementation is slower than time travel debugging and provides less information, but then why choose something worse in every dimension.

show 1 reply
nicoburnstoday at 4:30 PM

One legitimately great thing about LLMs is that it makes it feasible to add these kind of tracing instrumentations temporarily for profiling and then throw them away so they never reach source control let alone production.

show 1 reply
footatoday at 5:33 PM

Just curious, why? Is this true even if you did something like a per-CPU histogram that uses atomic ops to increment?

MomsAVoxelltoday at 4:15 PM

If you’re not using eBPF to trace your app you’re doing it wrong.

show 1 reply