Scripts monitoren
Een AppSignal-sample bestaat uit twee elementen: een transactie en events. Voordat u events rapporteert met onze instrumentation-helpers, moet u eerst een transactie aanmaken. Gebruik deAppsignal.monitor helper om een transactie aan te maken en deze actief te maken voor de duur van het opgegeven block.
De monitor-helper rapporteert het geïnstrumenteerde codeblock als performance-metingen die worden vermeld in de Performance-sectie in de AppSignal UI, gegroepeerd op actienaam. Het houdt de duur van het block bij en rapporteert exceptions die erin optreden.
monitor-helper accepteert twee keyword-argumenten:
namespace(Optioneel): Pas de namespace van de transactie aan. Standaard “web”.action(Vereist): We groeperen de samples van het script op deze actienaam voor het aanmaken van issues en meldingen. Zonder actienaam wordt er geen informatie over het gemonitorde block gerapporteerd, omdat we niet weten hoe de data te groeperen.
Stel de actienaam later in
Hetaction-argument van de Appsignal.monitor-helper kan nil gelaten worden of expliciet ingesteld worden op :set_later, maar alleen als de Appsignal.set_action-helper nog binnen het block wordt aangeroepen om de actienaam in te stellen. Zonder actienaam wordt er geen data over het geïnstrumenteerde block gerapporteerd. Deze methode om de actienaam in te stellen kan nuttig zijn als de actienaam pas in een verwerkingsstap binnen het block kan worden bepaald.
Instrumentation events
Standaard rapporteert de Ruby gem events van ondersteunde integraties. Deze events verschijnen in de event timeline. Gebruik onze instrumentation-helpers om uw eigen events aan de event timeline toe te voegen. Hierdoor ontstaat een gedetailleerdere uitsplitsing van wat er binnen het gemonitorde block gebeurt.Stop-vereiste
Voor scripts die op kortlevende hosts draaien, is het vereist om de AppSignal Ruby gem te stoppen voordat het script eindigt. Hiermee wordt ervoor gezorgd dat de data van het script naar AppSignal wordt gerapporteerd voordat de host wordt afgesloten. Dit gedrag is alleen nodig in scenario’s zoals:- Wanneer een geplande taak (een cron job) door een hostingdienst wordt uitgevoerd.
- Wanneer een script wordt uitgevoerd op een container die start om dit script uit te voeren en stopt zodra het script eindigt.
- Wanneer een script wordt uitgevoerd op een Heroku-runner of vergelijkbare hostingproviders.
enable_at_exit_hook-optie.
Zorg ervoor dat deze optie op true staat voor scripts die vereisen dat AppSignal gestopt wordt, indien dit niet automatisch wordt gedetecteerd.
Het kan nodig zijn om een extra sleep-aanroep van enkele seconden toe te voegen om ervoor te zorgen dat er voldoende tijd is om alle data te verzenden. Gebruik het at_exit-gebruiksvoorbeeld uit de onderstaande code indien nodig.
Monitor and stop helper
Als uw proces altijd één taak/job uitvoert en daarna direct eindigt, kunt u deAppsignal.monitor_and_stop-helper gebruiken. Hiermee wordt ervoor gezorgd dat AppSignal automatisch stopt nadat het block is uitgevoerd.