Honeybadger.Insights.Finch (Honeybadger v0.24.0)

View Source

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.

Summary

Functions

Attaches telemetry handlers if all required dependencies are available.

Attaches a telemetry handler for a specific event.

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

Implementation of handle_telemetry that can be called by overriding methods.

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.

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 the event data. Child modules can override this for custom processing.

Functions

attach()

Attaches telemetry handlers if all required dependencies are available.

attach_event(event)

Attaches a telemetry handler for a specific event.

dependencies_available?()

event_filter(map, meta, event)

extract_metadata(meta, arg2)

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

get_insights_config(key, default)

get_telemetry_events()

handle_event_impl(event, measurements, metadata, opts)

Implementation of handle_telemetry that can be called by overriding methods.

handle_telemetry(event_name, measurements, metadata, opts)

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?(arg1)

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(event_data)

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