MÀrk. tÔlge.: Artikli autor on Cindy Sridharan, imgix'i insener, kes tegeleb API arendamise ja eelkÔige mikroteenuste testimisega. Selles artiklis jagab ta oma pÔhjalikku nÀgemust hetkeprobleemidest jaotatud jÀlgimise valdkonnas, kus tema arvates on puudus tÔeliselt tÔhusatest tööriistadest pakilisemate probleemide lahendamiseks.

[Illustratsioon on laenatud jaotatud jÀlgimise kohta.]
Arvatakse, et on keeruline juurutada ning selle kasu . JĂ€lgimise âproblemaatilisusâ seletatakse paljude pĂ”hjustega, sageli viidatakse sĂŒsteemi igas komponendis Ă”igeid pĂ€iseid koos iga pĂ€ringuga edastamise seadistamise keerukusele. Kuigi see probleem tĂ”epoolest eksisteerib, ei saa seda ĂŒldse nimetada ĂŒletamatuks. See ei selgita, miks arendajad ei armasta jĂ€lgimist (isegi juba toimivat).
Peamine raskus jaotatud jĂ€lgimisega seondub mitte andmete kogumisse, mitte levitamis- ja esitamisvormide standardiseerimisse, ega ka mitte selle mÀÀramisse, millal, kus ja kuidas valim vĂ”tta. Ma ei pĂŒĂŒa sugugi kujutada elementaarsetena neid "kasutamise probleemid" â tĂ”epoolest on olemas mĂ€rkimisvÀÀrsed tehnilised ja (kui vaatame tĂ”eliselt avatud lĂ€htekoodiga ) poliitilised vĂ€ljakutsed, mis tuleb ĂŒletada, et neid probleeme saaks pidada lahendatud.
Kuid kui kujutada ette, et kĂ”ik need probleemid on lahendatud, on tĂ”enĂ€oline, et mitte midagi ei muutu oluliselt kasutajakogemuse. JĂ€lgimine ei pruugi endiselt pakkuda praktilist kasu kĂ”ige sagedasemates tĂ”rkeotsingustsenaariumides â isegi pĂ€rast selle rakendamist.
Selline erinev jÀlgimine
Jaotatud jÀlgimine hÔlmab mitmeid eraldiseisvaid komponente:
- rakenduste ja vahepealsete juhtimisvahendite varustamine;
- jaotatud konteksti edastamine;
- jÀlgimise kogumine;
- jÀlgimise salvestamine;
- nende vÀljavÔtmine ja visualiseerimine.
Rohkem arutelusid jaotatud jĂ€lgimise ĂŒle kĂ€sitletakse kui ĂŒhte unaarset operatsiooni, mille ainus eesmĂ€rk on aidata sĂŒsteemi tĂ€ielikust diagnostikast. Selle pĂ”hjuseks on suuresti see, kuidas ajalooliselt on kujunenud arusaamad jaotatud jĂ€lgimise osas. , kui Zipkini lĂ€htekoodide avamisel mainiti, et ta [Zipkin] teeb Twitteri kiiremaks. Esimesed kaubanduslikud pakkumised jĂ€lgimise jaoks reklaamiti samuti .
MÀrk. tÔlge.: Juhuks, et edasine tekst oleks paremini arusaadav, defineerime kaks pÔhiteri vastavalt :
- Span â jaotatud jĂ€lgimise pĂ”hielement. See esindab mingi töövoo (nĂ€iteks andmebaasi pĂ€ringu) kirjeldust koos nime, algus- ja lĂ”puaja, siltide, logide ja kontekstitasandiga.
- Span'id sisaldavad tavaliselt viiteid teistele span'idele, mis vĂ”imaldab siduda mitmeid span'e Trace â visuaalsus, mis nĂ€itab pĂ€ringu eluiga selle liikumise kĂ€igus jaotatud sĂŒsteemis.
Trace'id sisaldavad uskumatult vÀÀrtuslikku teavet, mis suudab aidata sellistes ĂŒlesannetes nagu: tootmises testimine, katastroofi taastamise testide lĂ€biviimine, vigade sisestamise testimine jne. Tegelikult on mĂ”ned ettevĂ”tted juba hakanud jĂ€lgimist selliste eesmĂ€rkide saavutamiseks kasutama. Alustame sellest, et on ka teisi rakendusi peale kergesti span'ide edastamise salvestussĂŒsteemi:
- NÀiteks Uber kasutab jÀlgimise tulemusi testliikluse ja tootmisliikluse eristamiseks.
- Facebook jĂ€lgimise andmed kriitilise tee analĂŒĂŒsimiseks ja liikluse suunamiseks regulaarsete katastroofi taastamise testide ajal.
- Samuti sotsiaalmeedia Jupyter'i mĂ€rkmike sĂŒsteemi, mis vĂ”imaldab arendajatel esitada vabatahtlikke pĂ€ringuid jĂ€lgimistulemustest.
- Toetajad (Lineage Driven Failure Injection) kasutavad jaotatud jÀlgimisi vigade sisestamise testimiseks.
Ăkski ĂŒlaltoodud valikutest ei kuulu tĂ€ielikult tĂ”rke tĂ”rkeotsingu, kus insener pĂŒĂŒab probleemile vastust leida, vaadates jĂ€lgimist.
Aga kui asi kuid jĂ”uab tĂ”rkeotsingu stsenaariumi, jÀÀb peamine liides diagrammiks traceview (kuigi mĂ”ned nimetavad seda ka âGanttâi diagrammiksâ vĂ”i âkaskaaddiagrammiksâ). All traceview ma kĂ”iki spanâe ja seotud metaandmeid, mis koos moodustavad traceâi. Iga avatud lĂ€htekoodiga jĂ€lgimissĂŒsteem, samuti iga kommertslahendus jĂ€lgimiseks pakub traceview kasutajaliidest traceâide visualiseerimiseks, detailimiseks ja filtreerimiseks.
Probleem kĂ”igi jĂ€lgimissĂŒsteemidega, millega olen siiani kokku puutunud, seisneb selles, et lĂ”pp- visualiseerimine (traceview) peegeldab praktiliselt tĂ€ielikult traceâi genereerimise protsessi omadusi. Isegi kui pakutakse alternatiivseid visualiseerimisi: intensiivsuse kaardid (heatmap), teenuse topoloogiad, viivituste histogrammid (latency), â lĂ€hevad need kĂ”ik lĂ”puks ikkagi kokku traceview.
Varem olen ma selle ĂŒle, et enamik âuuendusiâ jĂ€lgimise vallas, mis puudutab UI/UX, nĂ€ib olevat piiratud metaandmete lisamisega traceâi, andmete kĂ”rge kardinaalsusega (high-cardinality) vĂ”i vĂ”imalusega detailida konkreetseid spanâe vĂ”i teha pĂ€ringuid vahe- ja sisetrahvi. Sellega traceview jÀÀb peamiseks visualiseerimise vahendiks. Nii kaua kui selline olukord pĂŒsib, jÀÀb jaotatud jĂ€lgimine (parimal juhul) 4. kohale silumisvahendina, millele jĂ€rgnevad mÔÔdikud, logid ja stack trace'id, ning halvemal juhul osutub see rahakulutamise ja ajakulu raiskamiseks.
Probleem traceview'ga
EesmĂ€rk traceview â anda tĂ€ieliku ĂŒlevaate konkreetse pĂ€ringu lĂ€bimisest kĂ”ikide jaotatud sĂŒsteemi komponentide kaudu, millega see seotud on. MĂ”ned edasijĂ”udnumad jĂ€lgimissĂŒsteemid vĂ”imaldavad ĂŒksikute span'ide detailset vaadet ja ajajaotuse analĂŒĂŒsi sisemine ĂŒhe protsessi kohta (kui span'id omavad funktsionaalseid piire).
Mikroteenuste arhitektuuri aluspĂ”himĂ”te on idee, et organisatsiooniline struktuur areneb koos ettevĂ”tte vajadustega. Mikroteenuste toetajad vĂ€idavad, et erinevate Ă€rikĂŒsimuste jaotamine eraldi teenustele vĂ”imaldab vĂ€ikestel, iseseisvatel arendustiimidel kontrollida nende teenuste kogu elutsĂŒklit, vĂ”imaldades neil neid iseseisvalt luua, testida ja juurutada. Siiski on sellise jaotuse puuduseks info kaotamine selle kohta, kuidas iga teenus teistega suhtleb. Sellistes tingimustes pretendeerib jaotatud jĂ€lgimine vÀÀrtusliku tööriista rollile tĂ”rkeotsingu teenuste vahelistes keerukates suhetes.
Kui teil on tĂ”eliselt , ei ole ĂŒkski inimene suuteline hoidma selle tĂ€ielikku pilti. Tegelikult on tööriista loomine eeldusel, et see on ĂŒldse vĂ”imalik, midagi sarnast antipatternâile (efektiivne ja produktiivne lĂ€henemine). Ideaalis on tĂ”rkeotsinguks vajalik tööriist, mis aitab otsingut kitsendada., et insenerid saavad keskenduda probleemiga seotud mÔÔtmisele (teenused/kasutajad/majad jne), mis on seotud kĂŒsimuse stsenaariumiga. Vea pĂ”hjuse vĂ€ljaselgitamisel ei pea insenerid lahendama seda, mis juhtus kĂ”igis teenustes korraga, kuna selline nĂ”udmine lĂ€heks vastupidiseks mikroteenuste arhitektuuri loomusele.
Kuid traceview on just see. Jah, mĂ”ned jĂ€lgimissĂŒsteemid pakuvad kokkuv oldud traceview'd, kui spanide arv jĂ€lgis on nii suur, et need ei mahu ĂŒhte visualiseerimisse. Kuid isegi sellise kĂ€rbitud visualiseerimise kaudu sisalduva teabe mahukuse tĂ”ttu peavad insenerid ikkagi Jah, mĂ”ned jĂ€lgimissegmendid pakuvad kompaktset traceview'd, kui trace'i span'e on nii palju, et neid ei saa ĂŒhes visuaalis kuvada. Siiski on isegi sellises kĂ€rbitud visuaalis sisalduv teave nii mahukas, et insenerid peavad ikkagi sorteerima seda, kitsendades kĂ€sitsi probleemide allikate teenuste valikut. Kahjuks on sellisel alal masinad inimesest palju kiiremad, vĂ€hem alti vigadele ning nende tulemused on ĂŒhtlasemad.
Veel ĂŒks pĂ”hjus, miks ma pean traceview meetodit vale olevat, on see, et see ei sobi hĂ€sti hĂŒpoteeside pĂ”hjalikuks tĂ”rkeotsinguks. Oma olemuselt on tĂ”rkeotsing â see iteraatiivne protsess, mis algab hĂŒpoteesist, millele jĂ€rgneb erinevate vaatlemiste ja sĂŒsteemist saadud faktide kontroll erinevates suundades, jĂ€reldused/ĂŒldistused ja edasine hĂŒpoteesi tĂ”e hindamine.
VĂ”imalus kiire ja odav hĂŒpoteese testida ja vastavalt vaimset mudelit parandada on aluseks tĂ”rkeotsingule. Iga tĂ”rkeotsingutööriist peab olema interaktiivne ja kitsendama otsinguruumi vĂ”i, vale jĂ€lje korral, lubama kasutajal tagasi minna ja keskenduda sĂŒsteemi teisele valdkonnale. Ideaalne tööriist teeb seda ettevaatlikult, tĂ”mmates kasutaja tĂ€helepanu potentsiaalselt probleemsetele aladele kohe.
Kahjuks, traceview ei saa seda nimetada interaktiivse liidese tööriistaks. Parim, millele lootma jÀÀda, on tuvastada mingi viivituste allikas ja vaadata lĂ€bi kĂ”ik seotud ĆŸetoonid ja logid. See ei aita inseneril tuvastada mustreid liikluses, nĂ€iteks viivituste jaotumise spetsiifikat, vĂ”i tuvastada korrelatsioonide esinemist erinevate mÔÔtmiste vahel. vĂ”ib aidata mĂ”ningaid nendest probleemidest ĂŒle saada. TĂ”epoolest, edukast analĂŒĂŒsist masinĂ”ppe abil, et tuvastada anomaalseid span'e ja mÀÀratleda alamkogum silte, mis vĂ”ivad olla seotud anomaalse kĂ€itumisega. Siiski pole ma seni kohanud veenvaid visualiseerimisi, mis on tehtud masinĂ”ppe vĂ”i andmeanalĂŒĂŒsi abil span'ide suhtes, mis mĂ€rgatavalt eristuksid traceview'st vĂ”i DAG'ist (suunatud ahela graaf).
Span'id on liiga madala taseme
PĂ”hiline probleem traceview's on see, et span'id on liiga madala taseme primaarsed nii viivituste (latency) analĂŒĂŒsimiseks kui ka algpĂ”hjuste mÀÀratlemiseks. See on nagu analĂŒĂŒsida ĂŒksikuid protsessorikĂ€sklusi, pĂŒĂŒdes likvideerida erandeid, teades, et on olemas palju kĂ”rgema taseme tööriistu, nagu backtrace, mis on palju mugavam kasutada.
Pealegi julgen öelda jĂ€rgmist: ideaalis ei vajaks me tĂ€ielikku pilti nĂ€htud pĂ€ringutsĂŒkli jooksul, mille tĂ€napĂ€evased jĂ€lgimistööriistad esitavad. Selle asemel on vajalik kĂ”rgema taseme abstraktsioon, mis sisaldab teavet selle kohta, mida valesti lĂ€ks sarnasel printsiibil backtrace'iga, koos mĂ”ne kontekstiga. Selle asemel, et jĂ€lgida kogu jĂ€lgimist, eelistan ma nĂ€ha selle osa, kus toimub midagi huvitavat vĂ”i ebatavalist. Praegu toimub otsing kĂ€sitsi: insener saab jĂ€lgimise ja analĂŒĂŒsib ise spanâeid, otsides midagi huvitavat. LĂ€hteviis, kus inimesed tuijotavad spanâeid eraldi jĂ€lgimistes, lootes avastada kahtlast tegevust, ei ole absoluutselt skaleeritav (eriti kui nad peavad mĂ”tlema kĂ”ikidele metaandmetele, mis on kodeeritud erinevatesse spanâidesse, nagu span ID, RPC meetodi nimi, span'i kestus, logid, sildid jne).
Alternatiivid traceview'le
JĂ€lgimise tulemused on kĂ”ige kasulikud, kui neid saab visualiseerida viisil, mis annab ebatavalise arusaama sĂŒsteemi omavahel seotud osade toimimisest. Kuni seda ei ole, jÀÀb tĂ”rkeotsing suuresti inertiaks ja sĂ”ltub kasutaja vĂ”imest mĂ€rkida Ă”igeid seoseid, kontrollida sĂŒsteemi Ă”igeid osi vĂ”i koguda mosaiigikilde kokku â erinevalt tööriistast, mis aitab kasutajal neid hĂŒpoteese sĂ”nastada.
Ma ei ole visuaalne disainer ega UX-spetsialist, kuid jÀrgmises osas tahan jagada mÔned ideed, kuidas sellised visualiseerimised vÔiksid vÀlja nÀha.
Fookus konkreetsetel teenustel
Olukordades, kus tööstus koondub ideede ĂŒmber , tundub mĂ”istlik, et eraldiseisvad meeskonnad peaksid kĂ”igepealt jĂ€lgima, kas nende teenused vastavad nendele eesmĂ€rkidele. SeelĂ€bi teenusele orienteeritud visualiseerimine sobib kĂ”ige paremini sellistele meeskondadele.
Trace'id, eriti ilma valikuta, on iga jaotatud sĂŒsteemi komponendi kohta teabe kullakaevandused. Seda teavet saab toitma nutikas töötleja, kes tarnib seda kasutajatele. teenustele orienteeritud leidmisi. Neid saab tuvastada ette juba enne, kui kasutaja trace'e vaatab:
- Viivituste jaotuse diagrammid ainult tugevalt eristuvate pÀringute jaoks (oudlier pÀringud);
- Viivituste jaotuse diagrammid juhtudel, kui teenuse SLO eesmÀrke ei saavutata;
- KĂ”ige âĂŒldisemadâ, âhuvitavamadâ ja âimidudâ sildid pĂ€ringutes, mis kĂ”ige rohkem korduvad;
- Viivituste jaotus juhtudel, kui sÔltuvused teenus ei saavuta seatud SLO eesmÀrke;
- Viivituste jaotus erinevate alamteenuste vahel.
MĂ”nele neist kĂŒsimustest ei saa sisseehitatud mÔÔdikud lihtsalt vastata, sundides kasutajaid hoolikalt uurima span'e. Tulemusena on meil ÀÀrmiselt kasutajasĂ”bralik mehhanism.
SeetĂ”ttu tekib kĂŒsimus: kuidas on lood keerukate interaktsioonidega erinevate teenuste vahel, mida hallatakse erinevate meeskondade poolt? Kas tĂ”esti ei? traceview kas see ei peeta kĂ”ige sobivamaks tööriistaks sellise olukorra kĂ€sitlemiseks?
Mobiiliarendajad, stateless teenuste omanikud, stateful teenuste (nt andmebaaside) omanikud ja platvormide omanikud vĂ”ivad olla huvitatud muust esitusest jaotatud sĂŒsteemist; traceview â see on liiga universaalne lahendus nende pĂ”hjalikult erinevate vajaduste jaoks. Isegi vĂ€ga keerulises mikroteenuste arhitektuuris ei vaja teenuseomanikud sĂŒgavaid teadmisi rohkem kui kahe-kolme upstream- ja downstream-teenuse kohta. Sisuliselt on enamikul stsenaariumidest kasutajatele piisav vastata kĂŒsimustele, mis puudutavad piiratumat teenuste kogumit..
See on nagu vaadata vĂ€ikest alamkogumit teenustest suurendusklaasi kaudu pĂ”hjalikuks uurimiseks. See vĂ”imaldab kasutajal esitada rohkem olulisi kĂŒsimusi, mis puudutavad nende teenuste keerulist vastastikust mĂ”ju ja nende vahetuid sĂ”ltuvusi. See on sarnane tagasijĂ€lgimisele teenuste maailmas, kus insener teab, mida kuidas, ja omab ka teatud ĂŒlevaadet ĂŒmbritsevatest teenustest, et paremini mĂ”ista, miks.
Minu lĂ€henemine on tĂ€ielik vastand ĂŒlemise-kuni-alguse lĂ€henemisele, mis pĂ”hineb traceview'l, kus analĂŒĂŒs algab kogu trace'ist ja seejĂ€rel liigutakse jĂ€rk-jĂ€rgult ĂŒksikute span'ide poole. Vastupidi, alumise-kuni-ĂŒlemise lĂ€henemine algab vĂ€ikese ala analĂŒĂŒsist, mis on lĂ€hedane potentsiaalsele sĂŒndmuse pĂ”hjusele, ja seejĂ€rel laiendatakse otsinguruumi vastavalt vajadusele (vĂ”imaliku teiste meeskondade kaasamisega laiemate teenuste analĂŒĂŒsimiseks). Teine lĂ€henemine on paremini kohandatud algsete hĂŒpoteeside kiireks kontrollimiseks. PĂ€rast konkreetsete tulemuste saamist saab liikuda suunatumale ja pĂ”hjalikumale analĂŒĂŒsile.
Topoloogia loomine
Konkreetse teenusega seotud vaated vĂ”ivad olla uskumatult kasulikud, kui kasutaja teab, milline teenus vĂ”i teenuste rĂŒhm pĂ”hjustab viivituste suurenemist vĂ”i on vigade allikaks. Kuid keeruka sĂŒsteemi puhul vĂ”ib teenuse rikkumiste tuvastamine osutuda kriitiliseks ĂŒlesandeks rikke ajal, eriti kui teenustelt ei ole saanud tĂ”rketeateid.
Teenuste topoloogia loomine vĂ”ib olla ÀÀrmiselt kasulik, et vĂ€lja selgitada, milline teenus nĂ€itab tĂ”usnud veakordade sagedust vĂ”i suurenenud viivitust, mis pĂ”hjustab mĂ€rgatavat teenuse kvaliteedi halvenemist. RÀÀkides topoloogia loomisest, ei pea ma silmas teenuste kaarti, mis kuvab kĂ”iki sĂŒsteemis olemasolevaid teenuseid ja on tuntud oma . Selline kujutamine ei ole paremate tulemuste saavutamine kui suunatud acyclic graaf lĂ€htuv traceview. Selle asemel sooviksin nĂ€ha dĂŒnaamiliselt genereeritud teenuste topoloogiat, mis pĂ”hineb kindlatel atribuudi, nagu veakordade sagedus, vastuse aeg vĂ”i mĂ”ni kasutaja mÀÀratud parameeter, mis aitab selgitada olukorda teatud kahtlaste teenustega.
Vaatame nĂ€iteks. Kujutame ette mĂ”nda hĂŒpoteetilist uudiste saiti. Pealehe teenus (front page) vahetab andmeid Redisiga, soovitusteenusega, reklaamiteenusega ja videoserveriga. Videoserver vĂ”tab videod S3-st ja metaandmed DynamoDB-st. Soovitusteenus saab metaandmed DynamoDB-st, laadib andmed Redisest ja MySQL-ist, kirjutab sĂ”numeid Kafka-sse. Reklaamiteenus saab andmed MySQL-ist ja kirjutab sĂ”numeid Kafka-sse.
Allpool on skeem selle topoloogia kohta (paljud kommertsprogrammid koostavad topoloogiat jĂ€lgimiseks). See vĂ”ib olla kasulik, kui on vaja aru saada teenuste sĂ”ltuvustest. Kuid ajal, tĂ”rkeotsingu, kui mingi teenus (ĂŒtleme, videoserver) nĂ€itab pikendatud reageerimisaega, ei ole selline topoloogia eriti kasulik.

HĂŒpoteetilise uudiste veebisaidi teenuste skeem
Paremini sobiks diagramm, mis on allpool kujutatud. Sellel on probleemne teenus (video) kujutatud otse keskel. Kasutaja mÀrgib selle kohe. Antud visualiseerimisest on selge, et videoserver töötab anomaalselt, kuna S3 reageerimisaeg on pikenemas, mis mÔjutab osa avalehe laadimiskiirusest.

DĂŒnaamiline topoloogia, mis kuvab ainult "huvitavad" teenused
DĂŒnaamiliselt genereeritud topoloogilised skeemid vĂ”ivad olla tĂ”husamad kui staatilised teenuste kaardid, eriti paindlikes ja automaatselt skaleeritavates infrastruktuurides. Teenuste topoloogiate vĂ”rdlemise ja vastandamise vĂ”imalus vĂ”imaldab kasutajal esitada asjakohasemaid kĂŒsimusi. TĂ€psemad kĂŒsimused sĂŒsteemi kohta toovad suurema tĂ”enĂ€osusega kaasa parema arusaama selle toimimisest.
VÔrdlev kuvamine
Veel ĂŒks kasulik visualiseerimine on vĂ”rdlev kuvamine. Praegu ei sobi jĂ€lgimised eriti hĂ€sti kĂ”rvuti vĂ”rdlemiseks, seega tavaliselt vĂ”rreldakse span'id. Peamine idee selle artikli juures ongi see, et span'id on liiga madala taseme detailid, et vĂ€lja tuua kĂ”ige vÀÀrtuslikumat teavet jĂ€lgimistulemuste pĂ”hjal.
Kahte traceâi vĂ”rdlemine ei nĂ”ua radikaalselt uusi visualiseerimisi. Tegelikult piisab mingist sarnast nagu histogramm, mis esindab samu andmeid, mis traceview. Ăllatav, kuid isegi see lihtne meetod vĂ”ib anda palju rohkem tulemusi kui kahe traceâi eraldi uurimine. Veelgi vĂ”imsam oleks vĂ”imalus visualiseerida traceâide vĂ”rdlemist koos juba mainitud direktiiviga. Olekse ÀÀrmiselt kasulik nĂ€ha, kuidas hiljuti juurutatud andmebaasi konfiguratsiooni muutmine koos GC (jÀÀtmete kogumise) sisselĂŒlitamisega mĂ”jutab downstream-teenuse reageerimisaega mitme tunni jooksul. Kui see, mida ma siin kirjeldan, tundub olevat sarnane A/B analĂŒĂŒsile infrastruktuuri muutuste mĂ”jude kohta paljudes teenustes kasutades jĂ€lgimistulemusi, siis sa ei ole tĂ”est liiga kaugel.
KokkuvÔte
Ma ei sea kahtluse alla jÀlgimise kasulikkust. Olen kindel, et puudub muu meetod, millega koguda sama rikkalikku, kontekstitundlikku ning turvalist teavet nagu jÀlgimised. Siiski usun, et kÔik jÀlgimislahendused kasutavad neid andmeid ÀÀrmiselt ebaefektiivselt. Niikaua, kuni jÀlgimistööriistad on kinni traceview-esituses, on neil piiratud vÔimalused maksimaalselt Àra kasutada vÀÀrtuslikku teavet, mida vÔib extraktida jÀlgimiste andmetest. Lisaks on olemas oht luua tÀiesti ebamugav ja mitteintuitiivne visuaalne liides, mis piirab tÔsiselt kasutaja vÔimalusi rakenduse tÔrgete leidmiseks.
Ahnade sĂŒsteemide tĂ”rkeotsing, isegi uusimate tööriistade kasutamisel, on ÀÀrmiselt keeruline. Tööriistad peaksid aitama arendajal formuleerida ja kontrollida hĂŒpoteesi, aktiivselt pakkudes asjakohast teavet, tuvastades kĂ”rvalekaldeid ja mĂ€rkides viivituste jaotuse eripĂ€rasid. Et jĂ€lgimine muutuks arendajate jaoks eelistatud tööriistaks tootmissĂŒsteemide rikete lahendamisel vĂ”i erinevaid teenuseid hĂ”lmavate probleemide lahendamisel, on vajalikud originaalsed kasutajaliidesed ja visualiseerimised, mis vastavad rohkem arendajate vaimsele mudelile, kes loovad ja haldavad neid teenuseid.
On vajalik tĂ”sine vaimne pingutus, et kavandada sĂŒsteem, mis esindab erinevaid signaale, mis on kĂ€ttesaadavad jĂ€lgimise tulemustes, viisil, mis on optimeeritud analĂŒĂŒsi ja jĂ€relduste tegemise hĂ”lbustamiseks. Tuleb hoolikalt mĂ”elda, kuidas sĂŒsteemi topoloogiat siluda tĂ”rkeotsingu ajal, et aidata kasutajal ĂŒletada pimedad kohad, ilma et peaks vaatama ĂŒksikuid jĂ€lgimisi vĂ”i ulatusi.
Me vajgivad head abstraktsiooni ja kihistamise vĂ”imalused (eriti kasutajaliideses). Sellised, mis sobivad hĂ€sti hĂŒpoteeside pĂ”hjalikku silumise protsessi, kus saab iteratiivselt kĂŒsimusi esitada ja hĂŒpoteese kontrollida. Need ei lahenda automaatselt kĂ”iki jĂ€lgitavuse probleeme, kuid aitavad kasutajatel oma intuitsiooni teravdada ja kaalu leidma paremaid kĂŒsimusi. Kutsun ĂŒles arvestama sĂŒvitsi minevate ja innovaatiliste lĂ€henemistega visualiseerimise valdkonnas. Siin on tĂ”eline perspektiiv silmaringi laiendamiseks.
P.S. tÔlkija mÀrkused
Lugege ka meie blogist:
- «»;
- «»;
- «».
Allikas: habr.com
