Ruby Agent 2.4.21 is out with a bug fix, a new configuration option, and a debug option

BY Derek Haynes

December 03, 2018

App & Background Integration Installation

As reported on Issue #228, if scout_apm is disabled on a node via the configuration monitor = false, we don't intend to install any instruments, but a few snuck in anyway.

Since the rest of the agent isn't running, they (slowly but steadily) built up recorded info, but didn't purge it, causing a slow memory leak that became clear over the course of a week or two. We've stopped the offending instruments from installing themselves when Scout is disabled.

New Option: collectremoteip

Our Rails instruments capture a few bits of useful information for each request as Context, and displays that in traces. A few customers with higher privacy concerns asked for a way to prevent end-user IP addresses from being captured.

The default behavior hasn't changed, but now you can disable IP capture by setting collect_remote_ip = false

Debug Flag: compress_payload

Fun fact - Ruby's string "false" evaluates to true in an if statement. Due to this fact, we have a series of conversion functions to turn strings into the correct types. This comes up mostly in ENV variable configuration, since everything arrives as a string. The change in 2.4.21 adds the compress_payload option to that listing of conversions.

As far as the exact flag, you won't need the compress_payload setting in your application. It's for debug and development purposes while we are working on our ingest pipeline.