Naar hoofdinhoud gaan
AppSignal is compatibel met OpenTelemetry-instrumentatiepakketten. Sommige van deze instrumentatiepakketten vereisen mogelijk aanvullende configuratie. Deze instrumentaties bevatten niet altijd alle informatie die u nodig hebt om problemen te debuggen. Voor fijnmazigere rapportage kunt u aangepaste instrumentatie toevoegen. Wij ondersteunen OpenTelemetry-tracing zoals beschreven in de OpenTelemetry-documentatie. U kunt meer gegevens aan een span toevoegen met behulp van OpenTelemetry-span-attributen. Er zijn ook AppSignal-span-attributen waarmee u kunt veranderen hoe traces worden gegroepeerd, en attributen waarmee u gevoelige gegevens kunt uitfilteren.

Een nieuwe span aanmaken

Maak een nieuwe span aan met de tracer van de globale tracer provider.
import io.opentelemetry.api.GlobalOpenTelemetry;
import io.opentelemetry.api.trace.Span;
import io.opentelemetry.api.trace.Tracer;
import io.opentelemetry.context.Scope;

public void someFunction() {
    // Get OpenTelemetry tracer
    Tracer tracer = GlobalOpenTelemetry.getTracer("my-app");

    // Create a new span
    Span span = tracer.spanBuilder("My span").startSpan();

    // Set attributes
    span.setAttribute("operation.name", "handle_request");

    // Your application logic here

    // Close the span
    span.end();
}
Opmerking: in deze voorbeelden gebruiken wij de globale tracer provider die door OpenTelemetry is ingesteld. Voor betere testbaarheid wilt u de tracer mogelijk in uw klassen injecteren.

De huidige span ophalen

U kunt ook de huidige actieve span ophalen:
import io.opentelemetry.api.trace.Span;

public void someFunction() {
    Span span = Span.current();

    // Set attributes on the current span
    span.setAttribute("user.id", userId);
    span.setAttribute("operation.name", "database_query");
}
Opmerking: dit retourneert alleen een span als er al een actief is. Meer manieren om spans aan te maken en op te halen, vindt u op de pagina over OpenTelemetry-instrumentatie voor Java.

AppSignal-attributen

Zodra u een span hebt aangemaakt of opgehaald, kunt u bepaalde AppSignal-specifieke attributen instellen om aan te passen hoe de gegevens in AppSignal binnenkomen.
Span span = // Create a new span or fetch the current span
span.setAttribute("attribute_name", "attribute_value");
Zie onze handleidingen voor meer informatie over welke aangepaste AppSignal-attributen worden ondersteund: