# `Excessibility.TelemetryCapture.Filter`
[🔗](https://github.com/lessthanseventy/excessibility/blob/v0.18.1/lib/telemetry_capture/filter.ex#L1)

Filters noise from telemetry snapshot assigns.

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

# `filter_assigns`

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`

Removes Ecto-related metadata from assigns.

Filters out:
- `__meta__` fields
- `NotLoaded` associations

# `filter_functions`

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`

Removes Phoenix LiveView internal assigns.

Filters out:
- `:flash`, `:__changed__`, `:__temp__`
- Keys starting with underscore (private assigns)

---

*Consult [api-reference.md](api-reference.md) for complete listing*
