There are other options out there, but surprisingly few open source ones. I know APM is hard, but...
There are other options out there, but surprisingly few open source ones. I know APM is hard, but...
In a high-throughput distributed system, traces start being mostly noise due to random latency spikes which are usually not very interesting.
NewRelic is a lot more focused on the average but it breaks it down nicely so that you know where to start optimizing code. I rarely look at the p95 traces to do that.
New relic collects a lot of data but it really is a lot of noise. We dropped new relic because it kept modifying requests in one of apis that caused the result api to be corrupted and new relic ghosted us when unable to fix it.
A real APM cares more about profiling program execution than it does HTTP requests. I need to see function calls, not just HTTP requests.
(disclosure: I work for Sentry)
Edit: I looked at the docs, Sentry still has a sample rate parameter so this product can't give you the same results. With NewRelic I can have 100M transaction per day and then I have a single different transaction once every day and I can be sure that the agent will pick it up - always. With sampling you don't get that. Tracing gets you more depth but I seldom need that, I want APM and I only need tracing for a very very low percentage of transactions.