Išskiriate vieną programą iš VPN, o reikalingas atsisiuntimas vis tiek nepavyksta arba, dar blogiau, pradeda veikti ir sustoja kažkas nesusiję. Matomas langas nebūtinai yra procesas, atidarantis kiekvieną ryšį: programa gali perduoti darbą pagalbininkui, foninei perdavimo paslaugai arba visiškai kitam paketui. Todėl taisyklei pagal programą reikia tikrojo platformos tapatybės modelio, o ne pažįstamo paleidimo failo pavadinimo. Toliau pateikti patikrinimai pradedami nuo stebėjimo ir grįžta prie to, kas iš tikrųjų išsiuntė užklausą.

Šiuose ticketuose paprastai sugenda du dalykai kartu: išskiriamas netinkamas komponentas, o išimtis vėliau niekada nesusiaurinama.

Raskite procesą, o ne langą

Atkurkite nepavykusią operaciją ir nustatykite procesą ar paketą, kuriam priklauso ryšys jam vykstant. Windows tai kitas klausimas nei tai, kuris langas turi fokusą, nes foninį perdavimą gali tarpininkauti paslauga, veikianti pagal savo tapatybę. Linux ir macOS tas pats atskyrimas pasirodo kaip pagalbiniai procesai ir sistemos demonai.

Užsirašykite tris detales: vykdomojo failo ar paketo tapatybę, paskirties vietą, su kuria jis susisiekė, ir momentą darbo eigoje, kai tai įvyko. Atsisiuntimas, kuris nepavyksta pradžioje, dažnai yra metadata ėmimas kito komponento, o ne atsisiuntimas, kuris nepavyksta pusiaukelėje. Šio skirtumo dažnai pakanka pasirinkti teisingą tapatybę prieš liečiant taisyklę. Jei tapatybė pasirodo esanti paslauga, o ne programa, šis vienas faktas pakeičia visą taisyklę, todėl pirmiausia jį nustatykite.

Jei negalite stebėti proceso, nes operacija per trumpa, pakartokite ją su didesniu duomenų kiekiu arba lėtesne paskirties vieta. Tikslas yra vienas pakartojamas stebėjimas, o ne teorija apie tai, kuris pagalbininkas dalyvauja.

Traktuokite DNS kaip atskirą kelią

Sistemos vardų skyrimas gali visai nesekti išskirtos programos, todėl išskirta naršyklė vis tiek gali nepavykti su privačiu prieglobos vardu, nors jos srautas teisingai yra už tunelio. Naršyklė buvo išskirta; sprendėjas nebuvo.

Patikrinkite, ką platforma daro su DNS, kai galioja taisyklė pagal programą, ir patikrinkite tai atskirai nuo HTTP užklausos. Jei sprendėjas yra bendra paslauga, jis aptarnauja kiekvieną įrenginio programą, todėl svarstoma išimtis turi daug platesnę auditoriją nei išbandytoji.

Užrašykite, kuris sprendėjas atsakė ir per kurią sąsają. Šis vienas stebėjimas išsprendžia didelę dalį pranešimų „programa išskirta, bet vardas neišsprendžiamas“, todėl laikykite jį su ticketu.

Neplėskite bendro pagalbininko

Bendra paslauga atlieka darbą kelioms programoms, todėl jos išskyrimas siekiant sutaisyti vieną darbo eigą keičia ir nesusijusį srautą. Windows Background Intelligent Transfer Service yra geras šios formos pavyzdys: tai infrastruktūra, kurią gali naudoti daug programų, ir jos tapatybė nėra programos, kuri paprašė perdavimo, tapatybė.

Patikrinkite kliento palaikomą taisyklių modelį ir organizacijos reikalavimus prieš pridėdami tą išimtį. Paklauskite, kas dar naudoja komponentą, ir ar taisyklę, kurią ketinate rašyti, galima išreikšti paskirties vietų, o ne bendro proceso atžvilgiu.

Jei reikalavimo visai neįmanoma išreikšti kaip programos ribos, paskirties vietomis grindžiama politika arba kitas patvirtintas sprendimas gali būti suprantamesnis ir saugesnis nei augantis pagalbininkų išimčių sąrašas.

Testuokite visą darbo eigą, o ne nepavykusį žingsnį

Po palaikomo pakeitimo paleiskite numatytą užduotį su nauja užklausa nuo pradžios iki pabaigos. Tada paleiskite kitą darbo eigą, kuri naudoja bendrą komponentą, nes būtent ten platus apėjimas paskelbia save. Pataisa, kuri sutaiso pirmąją ir tyliai sugadina antrąją, nėra pataisa. Išsaugokite abu rezultatus tickete ir aiškiai įvardykite antrąją darbo eigą, kad recenzentas galėtų ją pakartoti.

Laikykite testą mažą ir pakartojamą: ta pati paskirties vieta, ta pati paskyra, tos pačios sąlygos. Jei antroji darbo eiga nedokumentuota, paklauskite jos savininko, nuo ko ji priklauso, prieš nuspręsdami, kad pakeitimas saugus.

Palikite priežastį, o ne vardų sąrašą

Dokumentuokite komponentą, darbo eigą, kuriai jis tarnauja, ir priežastį, kodėl jis buvo išskirtas. Pagalbininkų vardų sąrašas be susieto tikslo per du leidimų ciklus tampa neprižiūrimas, o kitas inžinierius valydamas pašalina neteisingą įrašą.

Vienos eilutės kiekvienai išimčiai pakanka: kas sugenda be jos, kam priklauso ta darbo eiga ir kada ji paskutinį kartą buvo patikrinta. Šie trys laukai paverčia paslaptingą sąrašą politika, kurią kas nors gali apginti.

Susiję straipsniai