React Academy · Les

OpenTelemetry-traces vanuit de browser

Stel de OTel JavaScript SDK in React in, maak spans voor gebruikersinteracties en exporteer deze naar een backend-collector.

Les 2 van 413 stappen

OpenTelemetry-traces vanuit de browser is een gratis React Academy-les op CoddyKit. Dit is les 2 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject React Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus React Academy bevat in totaal 4 lessen.

De OpenTelemetry JavaScript-SDK

De OpenTelemetry JavaScript-SDK voor browsers bestaat uit meerdere pakketten: @opentelemetry/sdk-trace-web biedt de kernimplementatie voor tracering, @opentelemetry/instrumentation-fetch maakt automatisch spans aan voor alle aanroepen van de fetch-API en @opentelemetry/exporter-trace-otlp-http stuurt spans naar een collector.

TracerProvider: de basis van OTel-tracering

De TracerProvider is het centrale configuratieobject in OpenTelemetry. Het bevat de lijst met SpanProcessors (die bepalen wat er met voltooide spans gebeurt), de resource die je applicatie beschrijft (servicenaam, versie) en eventuele configuratie voor sampling.

BatchSpanProcessor: efficiënte export

De BatchSpanProcessor verzamelt voltooide spans in het geheugen en exporteert ze in groepen in plaats van elke span afzonderlijk te versturen. Dit vermindert het aantal HTTP-verzoeken aan je collector aanzienlijk, waardoor de browserprestaties verbeteren en de belasting op het eindpunt van de OTel-collector afneemt.

OTLPTraceExporter: naar een collector sturen

OTLPTraceExporter stuurt gegroepeerde spans via HTTP naar een OpenTelemetry-compatibele collector in JSON- of protobuf-indeling. Je configureert de URL van de collector (bijv. het proxy-eindpunt van je OTel Collector), waarna de exporter automatisch de serialisatie en logica voor opnieuw proberen afhandelt.

Wat is een Span?

Een Span vertegenwoordigt een afzonderlijke werkeenheid binnen een trace: het mounten van een component, een API-aanroep of een gebruikersinteractie. Spans hebben een naam, begintijd, eindtijd, status (OK of ERROR) en een verzameling sleutel-waardeattributen. Gerelateerde spans zijn gekoppeld via een gedeelde trace-ID en ouder-kindrelaties.

Spans handmatig starten en beëindigen

Je maakt een tracer met provider.getTracer('react-app') en start spans met tracer.startSpan('component-mount'). Nadat het werk is voltooid, roep je span.end() aan om de eindtijd vast te leggen. Beëindig spans altijd — gelekte spans verspillen geheugen en leveren onvolledige gegevens op in je observabilitybackend.

Attributen aan spans toevoegen

Attributen verrijken spans met contextuele gegevens: span.setAttribute('user.id', userId) of span.setAttribute('route', location.pathname). Attributen zijn doorzoekbaar in je observabilitybackend, zodat query's mogelijk zijn zoals "toon alle trage spans voor gebruiker 42" of "toon alle fouten op de /checkout-route."

Automatische instrumentatie van fetch

@opentelemetry/instrumentation-fetch past de globale fetch-functie aan om automatisch spans aan te maken voor elke uitgaande HTTP-aanroep. De span legt de URL, methode, HTTP-statuscode en duur vast zonder wijzigingen aan je bestaande fetch-aanroepen.

Contextpropagatie via W3C TraceContext

Wanneer de fetch-instrumentatie een span maakt voor een uitgaand verzoek, injecteert deze de W3C TraceContext-header traceparent in het verzoek. De ontvangende backend leest deze header en zet dezelfde trace voort. Zo ontstaat een verbonden trace die browser en server omvat.

OTel initialiseren in je React-app

OTel-initialisatie moet plaatsvinden voordat componenten worden gemount — meestal in het invoerbestand van de app (main.tsx), vóór de aanroep van ReactDOM.createRoot. Maak de provider, registreer processors en exporters en roep provider.register() aan om deze als de globale TracerProvider te registreren.

Steekproeven: tracevolume beheersen

Elke gebruikersinteractie vastleggen in apps met veel verkeer genereert enorme hoeveelheden tracegegevens. Configureer een TraceIdRatioBased-sampler (bijv. 10% van de traces opnemen) in de TracerProvider om het volume te verminderen. Neem altijd 100% van de fouttraces op met een ParentBased-sampler, zodat geen fouten worden gemist.

Doel van OTel BatchSpanProcessor

Waarom wordt BatchSpanProcessor in browsertoepassingen gebruikt in plaats van SimpleSpanProcessor?

Lesoverzicht

De OpenTelemetry JavaScript-SDK instrumenteert browsers met TracerProvider, BatchSpanProcessor en OTLPTraceExporter. Spans staan voor werkeenheden die zijn verrijkt met attributen. Fetch-instrumentatie maakt automatisch spans voor API-aanroepen en injecteert W3C TraceContext-headers voor gedistribueerde tracing van begin tot eind. Initialiseer vroeg, pas passende steekproeven toe en beëindig spans altijd om schone tracegegevens te behouden.

Gratis beginnen

Leer React met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
88
Lessen
324

Veelgestelde vragen

Is de les “OpenTelemetry-traces vanuit de browser” gratis?

Ja — de volledige tekst van “OpenTelemetry-traces vanuit de browser” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus React Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus React Academy bevat in totaal 4 lessen.

Wat leer ik in “OpenTelemetry-traces vanuit de browser”?

Stel de OTel JavaScript SDK in React in, maak spans voor gebruikersinteracties en exporteer deze naar een backend-collector. Je oefent met React Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met React Academy te beginnen?

Ervaring vooraf is niet nodig. React Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.

Hoe lang duurt de les “OpenTelemetry-traces vanuit de browser”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over React Academy?

Ja. Elke les over React Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Frontend-observeerbaarheid: wat en waarom
  2. OpenTelemetry-traces vanuit de browser
  3. Real User Monitoring en Web Vitals
  4. Frontend- en backend-traces correleren
← Terug naar React Academy