Domeniul de instrumentare
Domeniul de instrumentare este o unitate logică de software cu care sunt asociate datele de telemetrie emise. Acesta poate reprezenta un modul, un pachet, o clasă, o bibliotecă sau un framework — orice delimitare semnificativă pe care un dezvoltator o alege pentru a distinge o sursă de telemetrie de alta.
Cum se definește un domeniu
Un domeniu este identificat printr-un tuplu
(name, version, schema_url, attributes), unde version, schema_url și
attributes sunt opționale. Câmpul name ar trebui să identifice în mod unic
unitatea logică de software — de exemplu, numele complet calificat al unei
biblioteci, clase sau al unui modul.
Specifici domeniul atunci când obții un tracer, un meter sau un logger de la un furnizor (provider). Fiecare span, metrică și înregistrare de jurnal produsă de acea instanță este apoi marcată cu domeniul respectiv:
Pentru biblioteci și framework-uri: utilizează numele complet calificat și versiunea bibliotecii ca domeniu. Dacă scrii o bibliotecă de instrumentare pentru o bibliotecă ce nu dispune de suport nativ OpenTelemetry, utilizează numele și versiunea bibliotecii de instrumentare însăși.
Pentru codul aplicației: o alegere comună este numele clasei sau al modulului, cum ar fi
CheckoutService.
De ce sunt importante domeniile
În sistemul backend de observabilitate, poți filtra, grupa și compara datele de telemetrie în funcție de domeniu. Acest lucru permite identificarea versiunii unei biblioteci care cauzează latență, izolarea semnalelor provenite de la un anumit modul sau compararea comportamentului între versiuni diferite ale aceleiași componente.
Domenii într-o urmă
Diagrama următoare prezintă o urmă (trace) care conține span-uri din șase domenii de instrumentare diferite, marcate prin culori și identificate în legendă:
- Domeniul
http-frameworkgenerează span-ul rădăcină/api/placeOrder. - Domeniul
CheckoutServicegenereazăCheckoutService::placeOrder,CheckoutService::prepareOrderItemsșiCheckoutService::checkout. Toate cele trei span-uri partajează același domeniu de instrumentare deoarece sunt create de aceeași instanță de tracer, obținută cu numeleCheckoutService. - Domeniile
CartServiceșiProductServicegenerează fiecare câte un span din componentele respective ale aplicației. - Domeniile
Cache libraryșiDB librarygenerează span-uri din codul bibliotecilor, grupate în funcție de numele și versiunea bibliotecii.
Comentariu
A fost utilă această pagină?
Thank you. Your feedback is appreciated!
Please let us know how we can improve this page. Your feedback is appreciated!