V každém systému, každé aplikaci či programu může někdy dojít k chybě. Ta může být způsobena přímo chybou v kódu vývojářů, nebo chybou v knihovnách třetích stran. Anebo je nějaká služba nedostupná. Ať je chyba jakákoli, je vhodné být o ní informován. Souborové logy na serveru s aplikací jsou ta nejjednodušší možnost. Ale to někdo musí pravidelně kontrolovat.
Předmět emailu: Systém
Zpráva: Nic nefunguje!!!!!!!
Pokud chybu reportuje až uživatel, může to dopadnout třeba tak, jak je zmíněno výše, nebo znázorněno obrázku. V prvním případě chyba byla v jediné malé části administrace, kterou bych jinak hledal asi 2 hodiny. Se Sentry jsem o ní věděl ještě dříve, než zpráva přišla.
Zdroj: CommitStrip.com
Automatické trackování
Systémy jako Sentry dokáží k reportované chybě přidat doplňující kontext, který může být libovolný. Přihlášený uživatel, prostředí, na kterém chyba vznikla, vlastní tagy a mnoho dalšího. Zároveň o chybě dokáže notifikovat emailem či na Slack, nebo se napojit na další externí systémy. Výhodou je, že pro menší projekty a týmy je zcela zdarma!
Osobně používám Sentry jak na backend v PHP tak na JavaScript na frontendu. Existují ale knihovny do všech možných jazyků i frameworků. V dokumentaci jsou dobře zpracované návody včetně ukázek kódu na vše, co Sentry umí. A kdokoli ji může doplnit přes pull request.
<script src="https://browser.sentry-cdn.com/X.Y.Z/bundle.min.js" integrity="sha384-..." crossorigin="anonymous"></script> <script> Sentry.init({ dsn: "https://XXX@sentry.io/ZZZ", release: "kutaccz@v1.3.5", environment: "production", whitelistUrls: ["https://www.kutac.cz"] }); </script>
Reporty s ukázkami kódu
U některých jazyků Sentry dokáže do reportu zahrnout i callstack včetně ukázek kódu, kde k chybě došlo. Pro minifikované JS je ale potřeba mít správně vygenerované .map soubory. Ty lze nahrát přímo do Sentry nebo je mít veřejně dostupné.
Zpětná vazba na stránce s chybou 500 a mnoho dalšího
Sentry umožňuje pomocí JavaScriptu přidat na svou stránku formulář pro zpětnou vazbu. I když uživatelská zpětná vazba může dosti nejasná, výjimky se najdou. Nemusí vám poté psát email, ale připsat svou zprávu přímo k automaticky reportované chybě.
Sentry toho ale nabízí mnohem více a jak již bylo zmíněno, vše je pro menší projekty s pár lidmi zdarma. Není tedy důvod otálet s nasazením na další systémy.
Zkušenosti se Sentry, nebo jinými alternativami sdílejte v komentářích!
K tomuto článku již není možné přidávat další komentáře