Annotations

Pour la plupart des utilisateurs, l’instrumentation prête à l’emploi est suffisante et rien de plus n’a besoin d’être fait. Cependant, parfois, les utilisateurs souhaitent créer des spans pour leur propre code personnalisé sans avoir besoin de faire beaucoup de changements de code.

Si vous ajoutez l’annotation WithSpan à une méthode, la méthode est enveloppée dans un span. L’annotation SpanAttribute vous permet de capturer les arguments de la méthode comme attributs.

package otel;

import io.opentelemetry.api.trace.Span;
import io.opentelemetry.api.trace.SpanKind;
import io.opentelemetry.instrumentation.annotations.SpanAttribute;
import io.opentelemetry.instrumentation.annotations.WithSpan;
import org.springframework.stereotype.Component;

/** Test WithSpan */
@Component
public class TracedClass {

  @WithSpan
  public void tracedMethod() {}

  @WithSpan(value = "span name")
  public void tracedMethodWithName() {
    Span currentSpan = Span.current();
    currentSpan.addEvent("ADD EVENT TO tracedMethodWithName SPAN");
    currentSpan.setAttribute("isTestAttribute", true);
  }

  @WithSpan(kind = SpanKind.CLIENT)
  public void tracedClientSpan() {}

  public void tracedMethodWithAttribute(@SpanAttribute("attributeName") String parameter) {}
}

Vous pouvez désactiver les annotations OpenTelemetry en définissant la propriété otel.instrumentation.annotations.enabled à false.

Vous pouvez personnaliser le span en utilisant les éléments de l’annotation WithSpan :

NomTypeDescriptionValeur par défaut
valueStringNom du spanClassName.Method
kindSpanKindType de span du spanSpanKind.INTERNAL

Vous pouvez définir le nom de l’attribut à partir de l’élément value de l’annotation SpanAttribute :

NomTypeDescriptionValeur par défaut
valueStringNom de l’attributNom du paramètre de la méthode

Prochaines étapes

Au-delà de l’utilisation d’annotations, l’API OpenTelemetry vous permet d’obtenir un traceur qui peut être utilisé pour l’instrumentation personnalisée.


Dernière modification August 4, 2025: [fr] Translation of Zero Code Java docs (#7389) (a409f82a)