class Honeybadger::Plugins::RailsBreadcrumbs
def self.send_breadcrumb_notification(name, duration, notification_config, data = {})
Experimental RBS support (using type sampling data from the type_fusion
project).
def self.send_breadcrumb_notification: (String name, Float duration, Hash notification_config, ?Hash data) -> Honeybadger::Agent?
This signature was generated using 72 samples from 1 application.
(**notification_config)
-
:transform
(Proc
) -- A proc that accepts the data payload. The return value will replace the current data hash (optional) -
:exclude_when
(Proc
) -- A proc that accepts the data payload. A truthy return value will exclude this event from the payload (optional) -
:select_keys
(Array
) -- A set of keys that filters what data we select from the instrumentation data (optional) -
:category
(Symbol
) -- A key to group specific types of events -
:message
(String | Proc
) -- A message that describes the event. You can dynamically build the message by passing a proc that accepts the event metadata.
Parameters:
-
data
(Hash
) -- Custom metadata from the instrumentation event -
notification_config
(Hash
) -- The instrumentation event configuration -
duration
(Number
) -- The time spent in the instrumentation event -
name
(String
) -- The ActiveSupport instrumentation key
Other tags:
- Api: - private
def self.send_breadcrumb_notification(name, duration, notification_config, data = {}) return if notification_config[:exclude_when] && notification_config[:exclude_when].call(data) message = case (m = notification_config[:message]) when Proc m.call(data) when String m else name end data = data.slice(*notification_config[:select_keys]) if notification_config[:select_keys] data = notification_config[:transform].call(data) if notification_config[:transform] data = data.is_a?(Hash) ? data : {} data[:duration] = duration if duration Honeybadger.add_breadcrumb( message, category: notification_config[:category] || :custom, metadata: data ) end