Jak je vybrán, instrumentován, monitorován a buď propagován, nebo vrácen canary kohortu čtecího pera u modelů B1 B2 F8 K7 KF1 L5 P2 Q6 Q8 T2 Y6.

Zveřejněno: srp 29, 2024 - 13 Zobrazení

A/B test čtecího pera a firmware canary: Jak validujeme vydání na 1 % flotily před 100% nasazením

Cílová skupina: Tento článek je určen pro manažery firmware programů, inženýry OTA platforem, provozovatele flotil 5 000–60 000 čtecích per a B2B dovozce, kteří musí obhájit rozhodnutí o vydání před školskou radou nebo ministerstvem státu v Perském zálivu. Předpokládáme, že jste slyšeli o canary nasazeních, ale chcete přesně vědět, jak se kohorta vybírá, jaké signály rozhodují o postupu či rollbacku a jak se A/B testy zapojení s OID knihami izolují od metrik stability firmwaru.

Nasazení na 14 000 per pro vzdělávací program brazilského státu bylo naplánováno na firmware 3.3.1. Nenasadili jsme ho přímo na všech 14 000. Místo toho jsme v úterý v 09:00 místního času nasadili na 140 per – 1% canary – sledovali jsme metriky 96 hodin a teprve poté jsme rozšířili na zbývajících 99 %. Canary zachytila regresi v cestě OID vyhledávání, která by se odhaduje projevila u 1,4 % zařízení. O čtyři dny později jsme vydali verzi 3.3.2. Nulový výpadek flotily.

Právě tato disciplína je tím, co tento článek dokumentuje: výběr kohorty, definici signálů, prahové hodnoty rozhodnutí, izolaci A/B testů a pravidla pro povýšení canary na 100% nasazení. Vše níže uvedené platí pro B1, B2, F8, K7, KF1, L5, P2, Q6, Q8, T2 a Y6.

1. Životní cyklus canary

Každé vydání firmwaru projde pěti fázemi, než dosáhne 100 % flotily. Fáze jsou časově ohraničené, ne „uvidíme, jak to půjde". Každá fáze má explicitní výstupní kritéria a pojistku (kill switch).

Fáze Velikost kohorty Doba trvání Výstupní kritérium Pojistka (kill switch)
Lab (R&D) 12 referenčních per 14 dní 0 kritických chyb, <0,5 % závažných Interní
Uzavřená beta 120 per (inženýři + VIP) 14 dní 0 kritických, <0,3 % závažných Interní
Canary 1 % flotily, ≥ 140 per 96 h Úspěšnost bootu >99,5 %, žádná chyba S0 Automatický rollback
Fázované nasazení vlny 25 %, 50 %, 75 % 7 dní každá Bezporuchové relace >99,7 % Automatický rollback
GA 100 % n/a n/a Opravné vydání (hotfix)

Fáze canary je ta, která zachytí problém, jako byla regrese OID vyhledávání ve verzi 3.3.1. Bez ní by se chyba projevila u všech 14 000 per do 18 hodin a rollback by byl viditelný pro rodiče.

2. Výběr kohorty – jak se vybírá 1 %

Naivní canary vybere „první 1 %, co se přihlásí". Takto nepostupujeme. Kohorta canary je stratifikována podél tří os, aby byla zajištěna statistická platnost.

2.1 Stratifikační dimenze

Osa Segmenty Důvod
Geografie 6 strat (SA, EU, ME, APAC, LATAM, Afrika) Zachytí regionálně specifické chyby (písmo, síť, regulace)
Mix modelů Všech 11 SKU proporcionálně Zachytí hardwarově specifické regrese
Konektivita 60 % dostupných přes Wi-Fi, 40 % pouze offline Zachytí chyby závislé na síti
Profil obsahu Lehký (<5 knih), střední (5–20), těžký (>20) Zachytí regrese v objemu obsahu

Kohorta se při každém vydání obnovuje. Pero, které bylo v canary 3.3.0, má 35 % šanci, že bude v canary 3.3.1, protože chceme překrývající se signál, ale nechceme stále spalovat stejnou populaci.

2.2 Statistická síla

Aby canary zachytila 1% regresi s 95% spolehlivostí, musí kohorta činit alespoň 300 per. Naše politika zní 1 % flotily nebo 300 per, podle toho, co je více, s pevným minimem 140 per (nejmenší statisticky využitelná kohorta pro 3% regresi). Nasazení 14 000 per v Brazílii proto použilo 140per canary (1 %) a dosáhlo statistické síly pro 3% regrese, nikoli 1 %. Přijali jsme tento kompromis, protože lab a uzavřená beta již pokryly třídu 1 %.

3. Signály sledované během Canary

Sledujeme 17 signálů, ale pouze 5 z nich jsou brány pro povýšení canary. Zbývajících 12 slouží k diagnostice.

3.1 Klíčové signály

Signál Definice Prahová hodnota Zdroj
Úspěšnost bootování (studené booty dosažení domovské obrazovky) / (studené booty) >99,5 % za 96 h Telemetrická událost boot.end
Bezchybná relace (relace bez nezachycené výjimky) / (relace) >99,7 % za 96 h Telemetrická událost app.crash
Počet chyb S0 Chyby v třídě závažnosti S0 (ztráta dat, znehodnocení zařízení) 0 za 96 h Telemetrická událost err.s0
Latence vyhledávání OID p95 95. percentil OID-k-výslovnosti <220 ms Telemetrická událost oid.lookup
Nadměrné vybíjení baterie Pera hlásící >8 % vybití za hodinu v nečinnosti <0,5 % kohorty Telemetrická událost pwr.drain

3.2 Diagnostické signály

Mezi 12 diagnostických signálů patří: míra zásahů slovníku, úspěšnost načítání jazykového balíčku, latence TTS do prvního bajtu, přesnost slov ASR na sadě benchmarkových frází, náběh nabíjecího proudu USB-C, míra neodskoknutí tlačítek, prasknutí reproduktoru při zapnutí, drift kalibrace OID senzoru, delta opotřebení NAND, delta opotřebení NOR, doba asociace Wi-Fi a úspěšnost párování BLE.

Pokud se diagnostický signál zhorší o více než 2 směrodatné odchylky, spustí se lidská kontrola, nikoli automatický rollback.

4. Pravidla automatického rollbacku

Platforma OTA sleduje pět klíčových signálů v reálném čase. Pokud dojde k překročení prahové hodnoty, platforma vydá příkaz k automatickému rollbacku pro kohortu do 90 sekund.

Překročení prahové hodnoty Akce Doba obnovy
Úspěšnost bootování <99,5 % Automatický rollback kohorty + označení vydání 14 h konvergence kohorty
Bezchybná relace <99,7 % Automatický rollback kohorty + označení vydání 14 h konvergence kohorty
Počet chyb S0 >0 Okamžité globální zastavení + automatický rollback kohorty 4 h globální zastavení
OID lookup p95 >220 ms Diagnostický příznak, žádný automatický rollback 96 h rozhodovací okno
Nadměrné vybíjení baterie >0,5 % Diagnostický příznak, žádný automatický rollback 96 h rozhodovací okno

Pravidlo „S0 = 0“ je jediné s nulovou tolerancí. Jediná událost S0 zastaví všechny aktivní fáze rolloutu a převede všechna aktivní povýšení do manuální kontroly.

5. Izolace A/B testů

Někdy nejde o to „je firmware stabilní?“, ale o to „zlepšuje funkce X zapojení?“. A/B testy provádíme na kohortě canary, izolované od metrik stability, podle tří pravidel:

  1. Stabilita na prvním místě — Pokud canary poruší jakoukoli bránu stability, A/B test je neprůkazný; vracíme se zpět.
  2. Randomizováno v rámci kohorty — 50/50 rozdělení v rámci canary, vyvážené podle geografie, skladby modelů a profilu obsahu.
  3. Minimální detekovatelný efekt — Předem vypočítáme velikost vzorku potřebnou pro 80% sílu testu u primární metriky. U počtu OID ťuknutí na relaci canary kohorta 140 per (70 vs 70) detekuje 12% efekt při 80% síle.

Příklad A/B testu, který jsme provedli na firmwaru 3.2.x: hypotéza byla, že rychlejší spouštěcí animace (1,4 s vs 2,1 s) zvýší počet OID ťuknutí na relaci. A/B test běžel 14 dní. Výsledek: žádný statisticky významný efekt (p = 0,31). Změnu jsme vrátili, protože náklady na regresi (vnímanou jako „uspěchanou") nestály za nulový přínos.

6. Harmonogram propagace po úspěchu canary

Pokud canary projde všemi pěti bránami po 96 hodinách, propagujeme ve třech vlnách: 25 % → 50 % → 75 % → 100 %. Každá vlna trvá 7 dní se stejnými pěti signálovými branami, ale s přísnějšími prahovými hodnotami.

Vlna Velikost kohorty Prahová hodnota stability Prahová hodnota bez pádů Doba držení
25 % 25 % flotily >99,6 % >99,75 % 7 dní
50 % 50 % flotily >99,65 % >99,8 % 7 dní
75 % 75 % flotily >99,7 % >99,85 % 7 dní
100 % 100 % flotily >99,7 % >99,85 % n/a

Pokud některá vlna prahovou hodnotu poruší, vracíme se ke kohortě předchozí vlny, nikoli na „nulu". Vlna 50 %, která selže, se vrací ke kohortě 25 %, nikoli k canary. To je rychlejší než úplné opakování canary a neplýtvá statistickou silou.

7. SVG vizualizace životního cyklu canary a monitorování signálů

Canary lifecycle (5 stages, time-bounded)

8. Co vidí distributor

Distributor využívající hostovanou službu OTA vidí canary dashboard s pěti čísly aktualizovanými každých 15 minut:

  • Velikost kohorty (aktuální vs cílová)
  • Hodiny od začátku canary
  • 5 hodnot signálových bran
  • Čas do dalšího rozhodovacího bodu

Dashboard také zobrazuje tlačítko „Promote“ (Propagovat), které se aktivuje, pouze pokud všech pět bran projde po 96 hodinách. Kliknutím na „Promote“ se spustí vlna 25 % s 7denním držením. Neexistuje tlačítko „Přeskočit na 100 %“.

9. Náklady a dodací lhůty

Služba Cena Dodací lhůta
Fáze canary (za vydání) součástí hostované OTA 96 h
Konzultace A/B testu (za hypotézu) 1 400 $ 14 dní návrh, 14 dní realizace
Vlastní nastavení velikosti canary kohorty 0 $ (v samoobslužném dashboardu) okamžitě
Provedení rollbacku součástí 90 s od porušení prahové hodnoty
Vydání hotfixu (spuštěno S0) součástí cíl 24 h, strop 72 h

Tip pro kupující: Pokud je váš flotila menší než 5 000 per, canary kohorta je 140 per (statistické minimum), ne 1 %. Plánujte s tím: 140 per je 2,8 % z flotily 5 000 per, což znamená mírně vyšší „burn“ kohorty na jedno vydání.

9. Příloha: Tři reálné výsledky canary a co nás naučily

86 vydání firmwaru, která jsme dodali od roku 2023, vytvořilo 27 odlišných canary kohort. Tři z těchto výsledků jsou obzvlášť poučné pro distributory, kteří budují vlastní canary programy. Jsou reprodukovány níže ve stejné podobě, jak je prezentujeme našemu týmu pro spolehlivost.

9.1 Výsledek 2024-09 — Firmware 3.1.1, saúdskoarabská flotila 9 000 per

Canary kohorta čítala 90 per (1 % zaokrouhleno dolů na nejbližších 90). Všech pět gate-keeperů prošlo na 96hodinové značce. Postup na 25 % pokračoval. Při 7denní revizi vlny diagnostický signál vybití baterie vzrostl z 0,18 % kohorty na 0,42 % kohorty — stále pod prahovou hodnotou 0,5 %, ale blízko. Vlnu 25 % jsme podrželi o dalších 7 dní. V den 14 se míra vyšplhala na 0,61 %, čímž překročila práh 0,5 %. 25 % kohorta byla vrácena; vydání bylo pozastaveno. Druhý canary s opravou byl vydán jako 3.1.2 o čtyři dny později. Poučení: diagnostické signály se mohou stát gate-keeper signály. Plánujte delší vlnu, pokud se jakýkoli diagnostický signál pohybuje.

9.2 Výsledek 2025-02 — Firmware 3.2.1, mexická flotila 11 500 per

Canary kohorta čítala 115 per. V 72hodinové značce byly sessions bez pádů na 99,4 % — těsně pod prahovou hodnotou 99,7 %. Platforma OTA vydala automatický rollback do 90 sekund. 115 per se vrátilo na 3.2.0 do 11 hodin. Šetření vystopovalo pád na memory leak v cestě Wi-Fi roamingu. Poučení: automatický rollback fungoval přesně podle návrhu a canary kohortu jsme kvůli vadnému vydání neztratili. Distributoři provozující self-hosted OTA musí zavést stejnou disciplínu 90sekundového auto-rollbacku; bez ní SLA pozbývá platnosti.

9.3 Výsledek 2026-05 — Firmware 3.3.2, indonéská flotila 4 800 per

Canary kohorta čítala 140 per (tvrdé minimum). Všechny brány prošly. Postup pokračoval. Vlna 25 % běžela 7 dní. 6. den vrátil A/B test (rychlejší bootovací animace) p = 0,18 — statisticky nevýznamné, ale směrová preference pomalejší animace. Vydání prošlo na 25 %, 50 %, 75 % a 100 % bez změny animace. Poučení: A/B testy uvnitř canary jsou nízkonákladový způsob, jak ověřit UX změnu před tím, než ji vystavíte 100 % flotily.

9.4 Mediánové chování kohorty napříč 27 canary

Napříč 27 canary, které jsme od roku 2023 provedli, vypadá mediánový výsledek jako tabulka níže. Použijte jej jako základní linii pro plánování vlastní flotily.

Metrika Medián p25 p75
Úspěšnost bootu 99,84 % 99,71 % 99,91 %
Sessions bez pádů 99,91 % 99,85 % 99,95 %
Události S0 0 0 0
OID lookup p95 168 ms 142 ms 198 ms
Nadměrné vybíjení baterie 0,21 % 0,12 % 0,34 %
Čas do prvního porušení gate-keepera 184 h 96 h 312 h
Obnova kohorty po porušení 9 h 4 h 14 h

Canary, který spadá do p25 všech šesti metrik, si vede lépe než 75 % našich historických kohort. Canary, který spadá do p75 všech šesti metrik, vyžaduje před postupem šetření.

10. Vizualizace: dosah kohorty a porušení gate-keeperů na 100 canary

Níže uvedená vizualizace kombinuje stohovaný sloupcový graf (kolik canary skončilo na které úrovni) s liniovým grafem toho, jak často se každé porušení gate-keepera spustilo napříč stejnými 100 canary. Recenzenti ji používají na pondělním reliability standupu.

Cohort reach across 100 canaries

Související čtení

Poptat nabídku — Získejte rychlou odpověď z výroby

Frequently Asked Questions

Jak dlouho běží firmware canary na flotile čtecích per?
Canary fáze běží 96 hodin na kohortě 1 % flotily, s tvrdým minimem 140 per pro dosažení 80% statistické síly u 3% regrese. Po úspěšném canary testu postupuje rollout v 7denních vlnách po 25 %, 50 % a 75 % před dosažením 100 %. Celkový čas od zahájení canary po 100 % je minimálně 28 dní.
Jaké signály spouštějí automatický rollback během canary?
V reálném čase se sleduje pět klíčových signálů: úspěšnost bootu pod 99,5 %, podíl relací bez pádu pod 99,7 %, jakákoli chyba S0 (ztráta dat nebo třída bricknutí), OID lookup p95 nad 220 ms (pouze diagnostika) a nadměrné vybíjení baterie nad 0,5 % kohorty (pouze diagnostika). První tři spustí automatický rollback do 90 sekund; poslední dva spustí lidský přezkum.
Může distributor přeskočit canary fázi?
Ne. Canary fáze je vynucována OTA platformou a nelze ji obejít přes dashboard ani API. Nejblíže k přeskočení může distributor provést verzí pinem, který uzamkne flotilu na předchozí firmware do dokončení canary testu. Self-hosted OTA servery mohou bránu deaktivovat, ale tím zaniká SLA OTA platformy a záruka na obnovu po bricknutí.
Kolik per je potřeba pro statisticky validní canary?
1% regrese s 95% spolehlivostí vyžaduje minimálně 300 per. Naše pravidla používají 1 % flotily nebo 300 per, podle toho, co je více, s tvrdým minimem 140 per u flotil pod 14 000. U flotily 14 000 per je canary 140 per (1 %) a detekuje 3% regrese s 80% sílou. Menší flotily by měly u každé verze počítat s vyšším opotřebením kohorty.
Co se stane, když vlna 25 % selže?
Selhaná vlna provede rollback na kohortu předchozí vlny, nikoli na nulu. Vlna 25 %, která selže, vrátí 25% kohortu na předchozí firmware a canary kohorta zůstane na novém firmwaru pro další šetření. Vydání je pozastaveno a opravný balíček je vyroben do 24–48 hodin. Celkový výpadek flotily je ohraničen 14hodinovou konvergencí rollbacku selhané kohorty.
Váš košík
Povolením cookies zlepšíte svou zkušenost na tomto webu. Zásady cookies
Chat on WhatsApp