scout_apm v1.0.2 API Reference

Modules

Documentation for ScoutApm.

A centralized place to log & note any agent misconfigurations, interesting occurances, or other things that'd normally be log messages.

Public interface to configuration settings. Reads from several configuration sources, giving each an opportunity to respond with its value before trying the next.

Takes "raw" values from various config sources, and turns them into the requested format.

Always says it contains key, and the value is always nil

Public API for easily adding Context to a running request.

Internal representation of a Context. As a user of ScoutApm, you likely will not need this module

Stores a single or multiple runs of a background job. Both metadata ("queue" and "name"), and metrics ("total time", "metrics")

Internal to the ScoutAPM agent.

Store a single metric, that may contain aggregated data around many calls to that metric. Uniquely identified by type / name / desc / scope

A record of a single trace.

Logger for all ScoutApm modules.

A way to absorb & combine metrics into a single set, keeping track of min/max/count, etc.

Converts a list of ScoutApm.Internal.Context types into an appropriate data structure to serialize via Jason.encode!

The payload structure for a single SlowTransaction / Trace.

Internal to ScoutApm agent.

A capped set type that has a few rules on inclusion.

Ths module contains functions to create transactions and time the execution of code. It's used to add instrumentation to an Elixir app.

Stores information about a single request, as the request is happening. Attempts to do minimal processing. Its job is only to collect up information. Once the request is finished, the last layer will be stopped - and we can send this whole data structure off to be processed.

A simple module to log when a watched process fails. Only works to watch module based workers currently, not arbitrary pids. See usage in application.ex

Mix Tasks

Checks application configuration and core agent communication