PlainAPM blog April Updates

🎉 There’s been quite some changes happening to PlainAPM in April, so here’s a quick summary:

Infrastructure

Yeah, the least visible, yet probably the most important. PlainAPM is now hosted on a new infrastructure, which means things are faster and more scalable.

CPU time & GC stats tracking

The agent now collects per-thread time spent on the CPU, and also GC stats - gc_time and gc_major/gc_minor counts.

This allows e.g. searching for jobs or requests that were affected by long GC pauses:

Sign up for the beta if you’d like to try it out for your app.

UI tweaks

Relative time spent in controller actions

Thanks to everyone who contributed their feedback!

What’s next

  1. PII filtering. While the agent currently depends on the instrumented app’s Rails.application.config.filter_parameters settings, this isn’t 100% dependable. It also relies on the developer configuring - mostly adding - extra filters to scrub PII and other sensitive data from attributes and queries. A PII filter would make it less likely for that data to ever hit the database.

  2. Improved span context passing across Process/Thread/Fibers boundaries. And, as there are different conventions and standards when it comes to passing the trace context across systems, we should pick & support the most widely accepted one(s), for better future interoperability.

by Balázs