Excessibility.TelemetryCapture.Filter (Excessibility v0.14.0)

View Source

Filters noise from telemetry snapshot assigns.

Removes Ecto metadata, Phoenix internals, function references, and other noise to improve signal-to-noise ratio for debugging.

Summary

Functions

Applies all filtering to assigns based on options.

Removes Ecto-related metadata from assigns.

Removes function references from assigns.

Removes Phoenix LiveView internal assigns.

Functions

filter_assigns(assigns, opts \\ [])

Applies all filtering to assigns based on options.

Options

  • :filter_ecto - Remove Ecto metadata (default: true)
  • :filter_phoenix - Remove Phoenix internals (default: true)
  • :filter_functions - Remove function references (default: true)

filter_ecto_metadata(assigns)

Removes Ecto-related metadata from assigns.

Filters out:

  • __meta__ fields
  • NotLoaded associations

filter_functions(tuple)

Removes function references from assigns.

Functions can't be meaningfully serialized to JSON, and are typically internal implementation details not useful for debugging.

Filters out:

  • Function values (callbacks, event handlers, socket refs)

Recursively processes:

  • Structs (converted to maps)
  • Maps (non-struct)
  • Lists

filter_phoenix_internals(assigns)

Removes Phoenix LiveView internal assigns.

Filters out:

  • :flash, :__changed__, :__temp__
  • Keys starting with underscore (private assigns)