Nws ntseeg tias faib tracing nyuaj rau kev siv, thiab rov qab los rau nws dubious zoo tshaj plaws. Muaj ntau qhov laj thawj vim li cas kev taug qab yog qhov teeb meem, feem ntau hais txog kev ua haujlwm koom nrog hauv kev teeb tsa txhua lub hauv paus ntsiab lus kom xa cov ntsiab lus tsim nyog nrog txhua qhov kev thov. Txawm hais tias qhov teeb meem no tshwm sim, nws yog los ntawm tsis muaj txhais tau tias insurmountable. Los ntawm txoj kev, nws tsis piav qhia vim li cas cov neeg tsim khoom tsis nyiam taug qab (txawm tias nws twb ua haujlwm lawm).
Qhov kev sib tw tseem ceeb nrog kev xa tawm tsis yog sau cov ntaub ntawv, tsim qauv qauv rau kev faib tawm thiab nthuav tawm cov txiaj ntsig, lossis txiav txim siab thaum twg, qhov twg, thiab yuav ua li cas coj mus kuaj. Kuv tsis sim xav txog tsis tseem ceeb cov "cov teeb meem kev nkag siab zoo" no, qhov tseeb, cov txuj ci tseem ceeb thiab (yog tias peb tab tom txiav txim siab tiag tiag Open Source) cov qauv thiab cov txheej txheem) cov kev sib tw nom tswv uas yuav tsum tau kov yeej kom cov teeb meem no raug txiav txim siab daws.
Txawm li cas los xij, yog tias peb xav txog tias tag nrho cov teeb meem no tau raug daws, muaj qhov tshwm sim siab uas tsis muaj dab tsi yuav hloov pauv loj ntawm cov ntsiab lus. kawg neeg siv kev paub. Tracing tej zaum tseem yuav tsis yog siv tswv yim nyob rau hauv feem ntau debugging scenarios - txawm tias tom qab nws tau deployed.
Ntau qhov kev sib tham txog kev faib tracing feem ntau kho nws raws li hom kev ua haujlwm tsis zoo uas nws lub hom phiaj yog los pab kuaj xyuas tag nrho cov kab ke. Qhov no feem ntau yog vim li cas cov tswv yim hais txog kev sib faib tracing tau tsim keeb kwm. IN blog nkag, ua thaum Zipkin qhov chaw tau qhib, nws tau hais tias nws [Zipkin] ua rau Twitter sai dua. Thawj cov khoom lag luam rau kev taug qab kuj tau nce qib raws li APM cov cuab yeej.
Nco tseg. txhais.: Txhawm rau ua kom cov ntawv nyeem yooj yim nkag siab, cia peb txhais ob nqe lus yooj yim raws li Cov ntaub ntawv OpenTracing project:
Tsis muaj ib qho ntawm cov kev xaiv teev saum toj no siv tag nrho rau qhov xwm txheej debug, thaum lub sij hawm tus engineer sim daws qhov teeb meem los ntawm kev saib cov kab.
Thaum nws los tsis tau mus txog qhov debugging tsab ntawv, thawj interface tseem nyob rau hauv daim duab taug qab saib (txawm tias qee tus kuj hu nws "Gantt chart" los yog "daim duab dej tsaws tsag"). Hauv qab taug qab saib Ρ kuv txhais tau tias tag nrho cov spans thiab nrog metadata uas ua ke ua tus kab. Txhua qhov qhib tracing system, nrog rau txhua qhov kev lag luam tracing kev daws teeb meem, muaj ib qho taug qab saib tus neeg siv interface rau kev pom, nthuav dav thiab lim cov kab.
Qhov teeb meem nrog tag nrho cov tracing systems kuv tau pom kom deb li deb yog qhov tshwm sim Visualization (traceview) yuav luag tag nrho qhia txog cov yam ntxwv ntawm cov txheej txheem kab ke. Txawm hais tias muaj lwm txoj kev pom pom tau pom zoo: daim duab tshav kub, kev pabcuam kev pabcuam, latency histograms, lawv tseem nyob rau qhov kawg. taug qab saib.
Yav dhau los kuv yws uas feem ntau UI / UX tracing "innovations" zoo li txwv rau tig rau ntxiv metadata hauv kab, nqis peev rau lawv cov ntaub ntawv nrog siab cardinality (siab cardinality) los yog muab lub peev xwm los laum mus rau hauv cov spans tshwj xeeb lossis khiav cov lus nug inter- thiab intra-trace... Nyob rau taug qab saib tseem yog thawj qhov pom kev pom. Ntev npaum li qhov xwm txheej no txuas ntxiv mus, kev faib cov tracing yuav (qhov zoo tshaj) yuav yog 4 qhov chaw ua cov cuab yeej debugging, tom qab kev ntsuas, cov cav thiab pawg kab, thiab qhov phem tshaj plaws nws yuav dhau los ua pov tseg nyiaj thiab sijhawm.
Teeb meem nrog traceview
Lub hom phiaj taug qab saib - muab ib daim duab tag nrho ntawm kev txav mus los ntawm ib qho kev thov thoob plaws txhua qhov ntawm cov kab ke faib uas nws cuam tshuam. Qee cov txheej txheem tracing ntau dua tso cai rau koj los laum mus rau hauv ib tus neeg spans thiab saib qhov kev sib tawg dhau sijhawm sab hauv ib txheej txheem (thaum spans muaj ib thaj tsam ua haujlwm).
Lub hauv paus ntsiab lus ntawm microservices architecture yog lub tswv yim tias lub koom haum cov qauv loj hlob nrog cov kev xav tau ntawm lub tuam txhab. Cov neeg txhawb nqa ntawm microservices sib cav hais tias faib ntau yam haujlwm ua lag luam rau hauv ib tus neeg cov kev pabcuam pub rau cov pab pawg me me, kev tswj hwm tus kheej tswj hwm tag nrho lub neej ntawm cov kev pabcuam, muab lawv lub peev xwm los tsim, sim, thiab siv cov kev pabcuam no. Txawm li cas los xij, qhov tsis zoo ntawm qhov kev faib tawm no yog qhov poob ntawm cov ntaub ntawv hais txog yuav ua li cas txhua qhov kev pabcuam cuam tshuam nrog lwm tus. Nyob rau hauv cov xwm txheej zoo li no, faib tracing thov kom yog ib qho cuab yeej tseem ceeb rau debug complex kev sib cuam tshuam ntawm cov kev pab cuam.
Yog koj tiag staggeringly complex faib system, ces tsis muaj ib tug yuav khaws tau nws lub taub hau ua tiav duab. Qhov tseeb, tsim ib lub cuab yeej raws li qhov kev xav tias nws yog txawm tias ua tau yog ib yam ntawm kev tiv thaiv tus qauv (kev ua tsis tau zoo thiab tsis muaj txiaj ntsig). Qhov zoo tshaj plaws, kev debugging yuav tsum muaj lub cuab yeej pab nqaim koj qhov chaw tshawb nrhiav, kom cov engineers tuaj yeem tsom mus rau ib qho ntawm qhov loj me (cov kev pabcuam / cov neeg siv / tus tswv tsev, thiab lwm yam) cuam tshuam rau qhov teeb meem raug txiav txim siab. Thaum txiav txim siab qhov ua rau tsis ua haujlwm, cov engineers tsis tas yuav nkag siab txog qhov tshwm sim thaum lub sijhawm tag nrho cov kev pabcuam ib zaug, txij li qhov kev xav tau no yuav cuam tshuam lub tswv yim ntawm microservice architecture.
Txawm li cas los xij, traceview yog namely Qhov no. Yog lawm, qee qhov tracing systems muab compressed traceviews thaum tus naj npawb ntawm spans nyob rau hauv tus kab mob loj heev uas lawv tsis tuaj yeem tshwm sim hauv ib qho kev pom. Txawm li cas los xij, vim muaj ntau cov ntaub ntawv muaj nyob rau hauv xws li ib tug stripped-down visualization, engineers tseem yuam "sift" nws, manually nqaim cov kev xaiv rau ib pawg ntawm cov kev pab cuam uas yog qhov chaw ntawm teeb meem. Hmoov tsis zoo, hauv daim teb no, cov tshuab tau nrawm dua li tib neeg, tsis tshua muaj kev ua yuam kev, thiab lawv cov txiaj ntsig tau rov ua dua.
Lwm qhov laj thawj kuv xav tias traceview tsis yog vim nws tsis zoo rau kev xav-tsav debugging. Ntawm nws qhov tseem ceeb, debugging yog rov ua dua tus txheej txheem pib nrog ib qho kev xav, ua raws li kev txheeb xyuas ntawm ntau yam kev soj ntsuam thiab qhov tseeb tau los ntawm cov kab ke nrog cov vectors sib txawv, kev txiav txim siab / kev nthuav dav thiab kev ntsuam xyuas ntxiv ntawm qhov tseeb ntawm qhov kev xav.
Sijhawm ceev thiab pheej yig kuaj hypotheses thiab txhim kho tus qauv kev xav raws li yog pob zeb pob zeb debugging Tej cuab yeej debugging yuav tsum sib tham sib thiab nqaim qhov chaw tshawb fawb los yog, nyob rau hauv cov ntaub ntawv ntawm ib tug cuav lead, cia tus neeg siv rov qab mus thiab tsom mus rau qhov sib txawv ntawm qhov system. Lub cuab yeej zoo meej yuav ua qhov no proactively, tam sim ntawd kos tus neeg siv cov xim rau tej thaj chaw teeb meem.
Alas, taug qab saib tsis tuaj yeem hu ua lub cuab yeej nrog kev sib tham sib tham. Qhov zoo tshaj plaws uas koj tuaj yeem cia siab rau thaum siv nws yog txhawm rau nrhiav qee qhov ntawm kev nce latency thiab saib tag nrho cov cim ua tau thiab cov ntaub ntawv cuam tshuam nrog nws. Qhov no tsis pab tus engineer los txheeb xyuas qauv nyob rau hauv kev khiav tsheb, xws li qhov tshwj xeeb ntawm kev ncua kev faib tawm, lossis tshawb xyuas kev sib raug zoo ntawm kev ntsuas sib txawv. Generalized trace tsom xam tej zaum yuav pab tau ib co ntawm cov teeb meem no. Tiag tiag, muaj cov piv txwv Kev soj ntsuam zoo siv tshuab kev kawm txhawm rau txheeb xyuas qhov tsis txaus ntseeg thiab txheeb xyuas cov npe ntawm cov cim npe uas yuav cuam tshuam nrog tus cwj pwm tsis zoo. Txawm li cas los xij, kuv tseem tsis tau pom qhov ua kom pom tseeb ntawm kev kawm tshuab lossis cov ntaub ntawv tshawb pom tau siv rau qhov sib txawv uas txawv ntawm qhov kev saib xyuas lossis DAG (cov lus qhia acyclic graph).
Kev ncua yog qib qis heev
Qhov teeb meem tseem ceeb nrog traceview yog qhov ntawd ncua yog cov theem qis dhau los rau ob qho tib si latency tsom xam thiab kev txheeb xyuas hauv paus. Nws zoo li kev txheeb xyuas tus kheej cov lus txib kom sim daws qhov kev zam, paub tias muaj ntau cov cuab yeej qib siab zoo li backtrace uas yooj yim dua los ua haujlwm nrog.
Ntxiv mus, kuv yuav coj txoj kev ywj pheej ntawm kev lees paub cov hauv qab no: qhov tseeb, peb tsis xav tau daim duab puv tshwm sim thaum lub sij hawm thov lifecycle, uas yog sawv cev los ntawm niaj hnub tracing cuab yeej. Hloov chaw, yuav tsum muaj qee hom kev xav paub ntau dua uas muaj cov ntaub ntawv hais txog dab tsi mus yuam kev (zoo ib yam li backtrace), nrog rau qee qhov ntsiab lus. Es tsis txhob saib tag nrho cov kab, kuv nyiam saib nws ib feem ntawm, qhov twg ib yam dab tsi nthuav los yog txawv txawv tshwm sim. Tam sim no, kev tshawb fawb tau ua tiav manually: tus kws ua haujlwm tau txais cov kab thiab nws tus kheej txheeb xyuas cov spans hauv kev tshawb nrhiav ib yam dab tsi nthuav. Txoj hauv kev ntawm cov tib neeg ntsia ntawm qhov sib txawv hauv ib tus neeg hauv kev cia siab ntawm kev tshawb nrhiav cov haujlwm tsis txaus ntseeg tsis ntsuas txhua qhov (tshwj xeeb yog thaum lawv yuav tsum ua kom nkag siab txog tag nrho cov metadata encoded nyob rau hauv sib txawv spans, xws li span ID, RPC txoj kev npe, ncua sij hawm. 'a, logs, tag, etc.).
Alternatives rau traceview
Cov txiaj ntsig tau muaj txiaj ntsig zoo tshaj plaws thaum lawv tuaj yeem pom hauv txoj hauv kev uas muab kev pom tsis tseem ceeb rau qhov tshwm sim hauv qhov sib cuam tshuam ntawm qhov system. Kom txog rau thaum qhov no tshwm sim, cov txheej txheem debugging feem ntau tseem nyob inert thiab nyob ntawm tus neeg siv lub peev xwm los pom qhov kev sib raug zoo, tshawb xyuas qhov zoo ntawm qhov system, lossis muab cov khoom sib dhos ua ke - tsis yog ntsuas, pab tus neeg siv tsim cov kev xav no.
Kuv tsis yog tus tsim kev pom lossis tus kws tshaj lij UX, tab sis nyob rau ntu tom ntej kuv xav qhia ob peb lub tswv yim ntawm qhov kev pom no yuav zoo li cas.
Tsom ntsoov rau cov kev pabcuam tshwj xeeb
Nyob rau lub sij hawm thaum kev lag luam yog consolidating nyob ib ncig ntawm lub tswv yim SLO (cov hom phiaj qib kev pabcuam) thiab SLI (cov ntsuas qib kev pabcuam), nws zoo nkaus li tsim nyog uas ib pab pawg yuav tsum ua qhov tseem ceeb kom ntseeg tau tias lawv cov kev pabcuam raug ua raws li cov hom phiaj no. Nws ua raws li ntawd kev pabcuam taw qhia visualization yog qhov zoo tshaj plaws rau cov pab pawg zoo li no.
Dynamically generated topologies tuaj yeem ua tau zoo dua li daim ntawv qhia kev pabcuam zoo li qub, tshwj xeeb tshaj yog nyob rau hauv elastic, nws pib-scaling infrastructures. Lub peev xwm los sib piv thiab sib piv cov kev pabcuam topologies tso cai rau tus neeg siv nug cov lus nug ntsig txog. Cov lus nug meej ntxiv txog qhov system feem ntau yuav ua rau kom nkag siab zoo txog qhov system ua haujlwm li cas.