If something happen during Canarytrace run, e.g. fatal error, no one will know.
out of memory in container with Canarytrace, because the tested page is memory expensive
something cause fall of Canarytrace ( most offen Lighthouse )
[0-0]
[0-0] <--- Last few GCs --->
[0-0]
[0-0] [17:0x7f16368f32c0] 137481 ms: Scavenge (reduce) 252.6 (255.8) -> 252.5 (257.8) MB, 2.6 / 0.0 ms (average mu = 0.717, current mu = 0.406) allocation failure
[0-0] [17:0x7f16368f32c0] 139980 ms: Mark-sweep (reduce) 253.3 (256.8) -> 253.0 (258.3) MB, 2406.9 / 0.0 ms (average mu = 0.526, current mu = 0.108) allocation failure scavenge might not succeed
[0-0]
[0-0]
[0-0] <--- JS stacktrace --->
[0-0]
[0-0] FATAL ERROR: MarkCompactCollector: young object promotion failed Allocation failed - JavaScript heap out of memory
[0-0] FAILED in chrome - /smoke/smoke.js
Nebo ukončení bez výpisy test stepů ( nasimulováno pomocí drastického snížení prostředků pro Canarytrace a při zapnutém PerformanceAuditu )
Při tomto případu se aspoň spustí onComplete hook z WDIO frameworku
[0-0] Mon, 03 Jan 2022 22:18:17 GMT LH:listen once for event =>:verbose Tracing.tracingComplete
[0-0] FAILED in chrome - /smoke/smoke.js
2022-01-03T22:18:18.653Z INFO @wdio/cli:launcher: Run onComplete hook
Nebo pokud dojde čas a CronJob aktuální instanci zabije a spustí novou
Problém je v tom, že se nikdo nedozví, že je nějaký problém a na venek se měření tváří, že je vše v pořádku
Až při pohledu do Kibany člověk zjistí, že je něco špatně, například chybí test stepy
A pak v DailyReportu se problém tváří tak, že web je na tom špatně, ale pravda to není, není pouze změřen
Možné řešení
adhoc - navýšit prostředky pro kontejner s Canarytrace
dlouhodobé řešení - vylepšení pro ‣ ,
nějakým způsobem checkovat a interně alertovat, že z běžící instance nedorazil poslední test step testEnd který označuje, konec testovacího scénáře
Nechat to na Listeneru? ‣
Umíme v kontejneru zaznamenávat provedené testStep eventy a když bude kontejner končit, tak checkout, že chybí testEnd a poslat do elasticu info o chybějícím test stepu?
stejně tak je možné sledovat ( Například Luxor, během Vánoc ) že se web zhoršuje.
Problem
If something happen during Canarytrace run, e.g. fatal error, no one will know.
Nebo ukončení bez výpisy test stepů ( nasimulováno pomocí drastického snížení prostředků pro Canarytrace a při zapnutém PerformanceAuditu )
onComplete
hook z WDIO frameworkuNebo pokud dojde čas a CronJob aktuální instanci zabije a spustí novou
A pak v DailyReportu se problém tváří tak, že web je na tom špatně, ale pravda to není, není pouze změřen
Možné řešení
adhoc - navýšit prostředky pro kontejner s Canarytrace
dlouhodobé řešení - vylepšení pro ‣ ,
testEnd
který označuje, konec testovacího scénářetestEnd
a poslat do elasticu info o chybějícím test stepu?[ ] Implementovat: [Liveness, Readiness and Startup Probes](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/). aby Canarytrace počkal než se rozeběhne browser.
-force --grace-period=0
)[ ] Implementovat: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/
Úprava pomohla, zvýraznilo to spoustu nedokončených runů