+420 603 755 610
info@inited.cz
flagEnglish (Angličtina)
flagČeština
Vývoj mobilních aplikací - firma INITED Solutions s.r.o.
  • Domů
  • Pro agentury
  • Pro firmy
  • Ukázky naší práce
  • Blog
  • Náš tým
  • Kontakt

Sentry – nástroj pro sledování chyb

25.12.2021Jaroslav Pavlíček

Sentry používáme k odchytávání chyb v mobilních aplikacích a backendech. Díky tomu dokážeme rozlišit seriózní situace od falešných poplachů, poznáme, kdy k chybě došlo díky nové aktualizaci systému nebo díky nedostatku místa v úložišti či nekvalitnímu internetovému připojení. Předností nástroje Sentry je jeho široký záběr, kdy dokáže pohlídat různé platformy a různé typy aplikací: nativní, hybridní, webové i backendy v Javě nebo PHP.

Nástroj je možné provozovat on premise (na vlastních serverech) nebo využít SaaS (software as a service) v cloudu. Cloudová varianta nabízí bezplatnou variantu, která je vhodná pro menší projekty, limitujícím faktorem je zde maximální počet 3 uživatelů.

Pro fungování je třeba nastavit parametry projektů v administraci a vložit do mobilní aplikace agenta, který chyby sbírá a odesílá na server. Jednorázové nasazení je otázka jednotek hodin, zapojení do CI je náročnější.

Přímými uživateli nástroje Sentry jsou nejen vývojáři, ale především project owneři nebo manažeři zodpovědní za kvalitu produktu.

Následuje představení nástroje:

Úvodní dashboard

Úvodní dashboard zobrazí přehled projektů. Na obrázku stojí za povšimnutí:

  • projekty jsou různých typů (ikona vlevo) : backend v NestJS, mobilní aplikace v Cordova, Ionic, nativní Android, nativní iOS, backend v PHP
  • u mobilních aplikací sleduje Crash Free Sessions
  • napojení na CI, sledování verzí nasazených do produkce a do testu
  • u projektu vpravo nahoře přiřazené vývojáře, kteří jsou o výskytu chyby informováni
Sentry - dashboard

Sentry – dashboard s přehledem projeků

Integrace s gitem, CI

Integrace s gitem v rámci CI je určitě nutnost. Bohužel ne vždy vše funguje na první pokus, ne všechno funguje podle návodu tak, jak má. Nastavení si vezme svůj čas. Ale výsledek v dlouhodobém horizontu stojí za to.

Na počátku projektu je třeba:

  • založit projekt,
  • nastavit přístup do gitu,
  • vložit do kódu agenta / knihovnu
  • nastavit automatické vkládání identifikátorů v průběhu buildu

Při každém buildu:

  • vytvořit v Sentry novou verzi
  • odeslat do Sentry source maps (při vývoji mobilních aplikací)
  • vložit do kódu ID projektu a verze

Následující screenshot ukazuje evidenci jednotlivých verzí:

Sentry - verze

Sentry – přehled verzí, jejich rozšíření a chybovosti

Evidence chyb

Detailně se chyba eviduje při prvním výskytu. Při dalších výskytech už se zaznamená pouze „+1“. Při zpracování je možné nastavit filtry a automatická pravidla. Defaultně jsou o prvním výskytu informováni přiřazení vývojáři.

Sentry nabízí možnost nastavovat příznaky (nová, v řešení, vyřešeno, ignoruje se) a přiřazovat zodpovědné řešitele.

Screenshot seznamu chyb:

Sentry - chyby

Sentry – seznam evidovaných chyb a jejich dopadů

Detail chyby

Sentry zobrazí kontext, ve kterém chyba vznikla:

Kontext chyby v Sentry

Sentry – kontext zaznamenané chyby

 

Zobrazí místo v kódu, kde k chybě došlo. Při vývoji mobilních aplikací v typescriptu je třeba do Sentru provést upload source map. Jinak Sentry zdrojový kód nezobrazí správně.

Sentry - stacktrace

Sentry – zobrazení stacktrace, místa, kde k chybě došlo

 

Detail requestu:

Request, který chybu vyvolal

Sentry – detail požadavku, který chybu vyvolal

 

Zajímavá je identifikace commitu, kterým byla chyba do aplikace vnesena:

Commit, který chybu přinesl

Sentry – informace o commitu, který chybu do aplikace pravděpodobně vnesl

Na co si dát pozor – přečerpání kvót a filtrování

Zkušenost ukazuje, že je dobré dávat Sentry do mobilní aplikace co nejdříve a používat ho už ve fázi interního testování. To s sebou nese určitá rizika.

Následující kód

Opakuj každých 10 sekund:
    otevři soubor /tmp/soubor
    zpracuj soubor
    smaž soubor

v případě, že soubor neexistuje a chyba není ošetřena, vygeneruje do Sentry 6 chyb za minutu, 60 chyb za deset minut, 360 chyb za hodinu, … Na jednom zařízení. Přes víkend není těžké vyčerpat v Sentry kvóty na měsíc. V případě, kdy je aplikace mezi testery v terénu, není snadné urychleně ukončit její používání. Bohužel nastavení inbound filtrů, které by tato hlášení odfiltrovaly, je možné až od plánu „business“.

Výsledkem je prakticky měsíční výpadek a čekání na nové kvóty:

Sentry overflow

Přečerpání kvót v Sentry

Oprávnění, přístupy a citlivá data

Přístupy je možné sdílet v rámci nadefinovaného projektového týmu. Toto je možné pouze od plánu „team“, který je placený. Při vývoji mobilní aplikace formou subdodávky je možné projekt v Sentry založit a následně předat přístupy klientovi.

Ve výchozím nastavení Sentry filtruje potenciálně citlivé údaje – hesla, čísla kreditních karet – a nezaznamenává je. Rozpoznání má omezenou míru spolehlivosti a ve výchozím nastavení filtruje raději více než méně. Pak se může stát, že poskytnuté informace nemají valný přínos. Úroveň je možné v administraci upravit.

Závěr

Sentry patří k „must have“ nástrojům vývojáře mobilních aplikací. Za svoji cenu (nastavení v aplikaci) přináší velké množství užitečných informací, které pomáhají zvýšit kvalitu. Díky cloudové verzi zdarma je k dispozici i pro malé týmy a startupy.

Jaroslav Pavlíček
Jaroslav je certifikovaný architekt (TOGAF) s 25+ lety praxe v IT. Díky tomu mají naše mobilní aplikace vysokou technickou úroveň a jsou postavené na spolehlivých technologiích. Své zkušenosti získával na projektech v zahraničí (Velká Británie, Malta) a vedle INITED působí jako konzultant Adobe Experience Manager, AEM.
Předchozí článek Jak vypadá úspěšná mobilní aplikace Další článek V čem programovat mobilní aplikace v roce 2022

Related Articles

Co obsahují Google Analytics mobilní aplikace

30.12.2021Jaroslav Pavlíček

Kategorie článků

  • Marketing a prodej (23)
  • Mobilní aplikace (37)
  • Mobilní telefony a HW/Ostatní (11)
  • Ostatní (10)
  • Top (5)
  • Trendy (32)
  • Z naší dílny (18)

Přečtěte si také

  • Lidé tráví používáním mobilních aplikací přes 5 hodin denně. Víte, co je zajímá nejvíc?
  • 7 nejlepších způsobů, jak propagovat mobilní aplikaci
  • 5 důvodů, proč váš klient potřebuje mobilní aplikaci: 4. Snadnější vzdělávání
  • Co jsou widgety a proč se vyplatí i vaší aplikaci
  • Tři ze čtyř iPhonů už mají iOS 16. Víte, proč je důležité na to myslet u aplikací?
  • 5 důvodů, proč váš klient potřebuje mobilní aplikaci: 3. Zefektivnění práce
  • Monetizace mobilních aplikací: 5 možností, které se vyplatí využít
  • Pečlivě, pravidelně, systematicky. Jak v INITED testujeme mobilní aplikace
  • 5 důvodů, proč váš klient potřebuje mobilní aplikaci: 2. Zlepšení brand awareness
  • Microsoft chystá vlastní superaplikaci. Bude v ní Bing i Outlook
  • První kandidát na mobil roku? Samsung Galaxy S23
  • 5 důvodů, proč váš klient potřebuje mobilní aplikaci: 1. Zvýšení zisku
  • Vývoj mobilních aplikací v roce 2023: TOP 8 trendů, které nesmíte minout
  • 7 tipů, jak vylepšit mobilní aplikaci
  • 5 největších novinek a trendů mezi mobilními aplikacemi v roce 2022
  • PWA: Efektivní způsob, jak změníte svůj web v aplikaci
  • Vaše „aplikace neodpovídá“? Hrozí vám propad v Google Play a App Store
  • Mobilní aplikace pro konference: 7 věcí, bez kterých se neobejde
  • Mobilní aplikace pro skládací telefony: Myslete na různé režimy i ovládání
  • App Store zdražuje aplikace. Pocítí to i vývojáři

Ahoj 123

blablabl

  • Domů
  • Pro agentury
  • Pro firmy
  • Ukázky naší práce
  • Blog
  • Náš tým
  • Kontakt
© 2023 Created by Provocado
Užíváme cookies, abychom vám zajistili co možná nejsnadnější použití našich webových stránek. Pokud budete nadále prohlížet naše stránky předpokládáme, že s použitím cookies souhlasíte.OkPrivacy policy