# `Honeybadger.Insights.Finch`
[🔗](https://github.com/honeybadger-io/honeybadger-elixir/blob/v0.30.2/lib/honeybadger/insights/finch.ex#L1)

Captures telemetry events from HTTP requests made using Finch.

## Default Configuration

By default, this module listens for the standard Finch request telemetry event:

    "finch.request.stop"

## Custom Configuration

You can customize the telemetry events to listen for by updating the insights_config:

    config :honeybadger, insights_config: %{
      finch: %{
        telemetry_events: ["finch.request.stop", "finch.request.exception"],

        # Include full URLs in telemetry events (default: false - only hostname is included)
        full_url: false
      }
    }

By default, only the hostname from URLs is captured for security and privacy reasons.
If you need to capture the full URL including paths (but not query parameters),
you can enable the `full_url` option.

# `attach`

Attaches telemetry handlers if all required dependencies are available.

# `attach_event`

Attaches a telemetry handler for a specific event.

# `dependencies_available?`

# `event_filter`

# `extract_metadata`

Extracts metadata from the telemetry event.
Child modules should override this for specific events.

# `get_insights_config`

# `get_telemetry_events`

# `handle_event_impl`

Implementation of handle_telemetry that can be called by overriding methods.

# `handle_telemetry`

Handles telemetry events and processes the data.
This implementation forwards to handle_event_impl which can be overridden
by child modules to customize behavior while still calling the parent implementation.

# `ignore?`

Determines if an event should be ignored based on its metadata.
Child modules should override this for specific filtering logic.
Note: this is the metadata before any transformations.

# `process_event`

Process the event data. Child modules can override this for custom
processing.

---

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