Breadcrumbs zijn beschikbaar vanaf Ruby gem versie 2.11.2.
Breadcrumbs werden aanvankelijk geïmplementeerd in onze Front-end Javascript-bibliotheek met het idee dat het zou helpen om een probleem te debuggen wanneer u een spoor van breadcrumbs heeft met (gebruikers)acties die tot de error leidden.
We realiseerden ons toen dat dit ook nuttig kan zijn voor back-endrequests, waar u een chronologische lijst van acties kunt toevoegen die tot de error leidden. Bijvoorbeeld het toevoegen van breadcrumbs door beslissingsbomen die anders niet geïnstrumenteerd worden.
Gebruik
Standaard worden er geen breadcrumbs bijgehouden, maar het is heel eenvoudig om uw eigen breadcrumbs bij te houden.
Waar zich in uw app een interessant event, een operatie of statusverandering voordoet, kunt u als volgt een breadcrumb achterlaten:
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")
Alleen de laatste 20 toegevoegde breadcrumbs worden aan de huidige transactie toegevoegd.
Breadcrumb-opties
| Optie | Type | Beschrijving |
|---|
| category | String | Categorie om het event onder te labelen |
| action | String | Contextuele informatie gerelateerd aan het event |
| message | String | (optioneel) Een logbericht of andere string om naar AppSignal te sturen |
| metadata | Object<String, String> | (optioneel) Een object met metadata gerelateerd aan het event |
| time | Time-object | (optioneel) Time-object dat reageert op .to_i, standaard Time.utc |