Language specific libraries
The Ruby gem, Elixir package and Node.js package are public code, hosted on GitHub. You can browse the source to see how we handle the data. Our closed-source agent will send the actual data to the AppSignal servers. We have built several systems to filter or redact sensitive data from reaching our servers, please see the data collection page for more information.System agent
With the release of the AppSignal Ruby gem version 1.0 on the 12th of January 2016 we started shipping all our language integrations with a system agent. When an application with AppSignal integration starts the language integration starts a separate UNIX process. The Ruby gem, Elixir package and Node.js package will send all transaction samples to this agent through a UNIX socket. The agent will periodically sends the transaction samples to the AppSignal servers. The system agent will also collect host specific data such as CPU usage, load average, memory usage, disk usage, etc. See the Host metrics for more information. The data is sent through a secure (SSL) connection to our servers. The code of this system agent is not publicly available, but uses the same basic principle of how our Ruby gem pre1.0 sends the data to our servers.