API Reference scout_apm v#2.0.0

Copy Markdown

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.

Public API for capturing errors in Scout APM.

Internal representation of an error to be sent to Scout APM.

Background GenServer that batches and sends errors to Scout APM's error endpoint.

Filters sensitive parameters from request data before sending to Scout APM.

Telemetry handler for Finch HTTP client instrumentation.

Scout APM instrumentation for Phoenix HEEx templates (.heex files).

Telemetry handler for Phoenix LiveView instrumentation.

Telemetry handler for Oban job instrumentation.

Telemetry handler for automatic Phoenix error capture.

Telemetry handler for Tesla HTTP client instrumentation.

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.

Public API for Scout APM's OTLP logging integration.

Extracts Scout APM context from the current process for log enrichment.

Erlang :logger handler for capturing log events and sending them to OTLP.

Internal struct representing a log record to be sent via OTLP.

Background GenServer that batches and sends log records to an OTLP collector.

Encodes log records into OTLP JSON format.

HTTP transport for sending logs to an OTLP collector.

Builds OTLP Resource attributes for log records.

Maps Elixir Logger levels to OpenTelemetry severity numbers and text.

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