Breadcrumbs

Breadcrumbs are available since Ruby gem version 2.11.2.

Breadcrumbs where initially implemented in our Front-end Javascript library with the idea that it would help debug an issue when you have a trail of breadcrumbs with (user) actions leading up to the error.

We then realized this could also be useful for back-end requests, where you can add a time-ordered list of actions leading up to the error. For example adding breadcrumbs through decision trees that are otherwise not instrumented.

Breadcrumbs

Usage

By default, no breadcrumbs are tracked, but it's really easy to track your own.

Wherever an interesting event, operation or state change occurs in your app, you can leave a breadcrumb like so:

Ruby
Appsignal.add_breadcrumb("Navigation", "https://example.com", "", { :response => 200 }, Time.now.utc) Appsignal.add_breadcrumb("Network", "[GET] https://example.com", "", { :response => 500 }) Appsignal.add_breadcrumb("UI", "closed modal(change_password)", "User closed modal without actions")

Only the last 20 added breadcrumbs will be added to the current transaction.

OptionTypeDescription
categoryStringCategory to label the event under
actionStringContextual information related to the event
messageString(optional) A log message or other string to send to AppSignal
metadataObject<String, String>(optional) An object of metadata related to the event
timeTime object(optional) Time object that responds to .to_i, defaults to Time.utc