Utiliser le traceur APM dans Helidon

Pour utiliser le traceur APM avec Helidon, procédez comme suit :

  1. Ajoutez le traceur APM au projet Maven. Pour plus de détails, voir Ajouter un traceur APM au projet Maven.
  2. Vérifiez la version de Helidon et ajoutez sa dépendance correspondante.

    Pour Helidon 2, ajoutez la dépendance suivante :

    <dependency>
        <groupId>com.oracle.apm.agent.java</groupId>
        <artifactId>apm-java-agent-helidon</artifactId>
        <version>[1.0.1389,)</version>
    </dependency>
    Pour Helidon 3 SE, ajoutez la dépendance suivante :
    <dependency>
        <groupId>io.helidon.tracing</groupId>
        <artifactId>helidon-tracing-opentracing</artifactId>
    </dependency>         
    <dependency>
        <groupId>com.oracle.apm.agent.java</groupId>
        <artifactId>apm-java-agent-helidon3</artifactId>
        <version>[1.8.3326,)</version>
    </dependency>
    Pour Helidon 3 MP, ajoutez la dépendance suivante :
    <dependency>
        <groupId>io.helidon.tracing</groupId>
        <artifactId>helidon-tracing-opentracing</artifactId>
    </dependency>         
    <dependency> 
        <groupId>io.helidon.microprofile.tracing</groupId> 
        <artifactId>helidon-microprofile-tracing</artifactId> 
    </dependency>
    <dependency>
        <groupId>com.oracle.apm.agent.java</groupId>
        <artifactId>apm-java-agent-helidon3</artifactId>
        <version>[1.8.3326,)</version>
    </dependency>
    Pour Helidon 4 SE, ajoutez la dépendance suivante :
    <dependency>
        <groupId>io.helidon.tracing</groupId>
        <artifactId>helidon-tracing-opentracing</artifactId>
    </dependency>
    <dependency>
        <groupId>io.helidon.tracing.providers</groupId>
        <artifactId>helidon-tracing-providers-opentracing</artifactId>
    </dependency>        
    <dependency>
        <groupId>com.oracle.apm.agent.java</groupId>
        <artifactId>apm-java-agent-helidon4</artifactId>
        <version>[1.15.0.516,)</version>
    </dependency>
    Note

    Pour Helidon 4, notamment Helidon 4 MP, voir Prise en charge de l'Opentelemetry pour Helidon 4.

  3. Configuration pour Helidon.

    Le traceur APM utilise les propriétés suivantes dans le fichier de configuration de Helidon :

    Propriété Valeur par défaut Obligatoire Description
    name   Non Nom du traceur. Cette propriété ne peut pas être nulle.
    service   Oui Nom du service. Cette propriété ne peut pas être nulle.
    private-data-key   Oui Clé de chargement des données APM requise pour la communication en nuage avec le service Oracle APM.
    data-upload-endpoint   Oui Point d'extrémité de chargement des données APM requis pour la communication en nuage avec le service Oracle APM.
    daemon-channel   Non Le canal de démon APM est une connexion de connecteur logiciel entre le traceur et le démon. Le format de cette valeur de propriété est <hôte> :<port>.

    Si cette propriété est définie lorsque le démon est démarré, il accepte la connexion de connecteur logiciel et écoute les données sur ce canal.

    Si cette propriété est définie lors du démarrage du traceur, le point d'extrémité de chargement des données est ignoré et les données ne sont envoyées au démon qu'à l'aide de ce canal de connecteur logiciel.

    collect-metrics true Non

    Collecte les mesures de serveur et les transmet au service OCI APM Cloud. La valeur par défaut est true (Vrai).

    L'utilisateur peut accéder à toutes les mesures de serveur collectées à partir du service de télémétrie d'OCI.

    collect-resources true Non

    Collecte les ressources de serveur et les transmet au service OCI APM Cloud.

    Toutes les ressources collectées sont utilisées en tant que dimension aux fins d'interrogation des données.

    log-directory apm-tracer-log dans le répertoire de travail de la machine virtuelle Java Non Chemin complet du répertoire de journalisation dans lequel tous les journaux du traceur APM sont écrits. S'il n'est pas défini, le répertoire de journalisation par défaut (apm-tracer-log) est créé dans le répertoire de travail de la machine virtuelle Java.
    tags   Non Marqueurs statiques à inclure dans tous les intervalles de traçage.
    properties   Non

    Propriétés supplémentaires du traceur APM. Des propriétés peuvent ainsi être définies par programmation au moment du démarrage du traceur APM.

    Les propriétés sont ignorées si la clé ou la valeur est nulle.

    Exemples :
    • Helidon SE : Vous devez le spécifier au format YAML. Le nom par défaut est application.yaml. Prenons l'exemple suivant :
      tracing:
          service: "helidon-http"
          data-upload-endpoint: <data upload endpoint of your OCI domain>
          private-data-key: <privatedata key of your OCI domain>
          collect-metrics: true
          collect-resources: true
          log-directory: "/user/apm/log"
          tags:
              tag1: true
              tag2: 1234
              tag3: "hello"
          properties:
              com.oracle.apm.agent.logging.level: DEBUG
              com.oracle.apm.agent.key1: value123

      Ce qui précède utilise le format privilégié pour la section properties. Le format suivant est également pris en charge :

      tracing:
          ...
          ...
          ...
          properties:
              - key: com.oracle.apm.agent.logging.level
                value: DEBUG
              - key: com.oracle.apm.agent.key1
                value: value123
    • Helidon MP : Vous devez le spécifier dans le format PROPRIÉTÉS (clé=valeur). Le nom par défaut est microprofile-config.properties. Prenons l'exemple suivant :
      tracing.service=my-helidon-service
      tracing.data-upload-endpoint=<data upload endpoint of your OCI domain>
      tracing.private-data-key=<private data key of your OCI domain>
      tracing.collect-metrics=true
      tracing.collect-resources=true
      tracing.log-directory=/user/apm/log
      tracing.tags.tag1=true
      tracing.tags.tag2=1234
      tracing.tags.tag3=hello
      tracing.properties.com.oracle.apm.agent.data.upload.file=stdout
      tracing.properties.com.oracle.apm.agent.json.pretty=true
      Le format ci-dessus est privilégié pour la section properties, mais il prend également en charge le format suivant :
      tracing.service=my-helidon-service
      ...
      ...
      ...
      tracing.properties.0.key=com.oracle.apm.agent.data.upload.file
      tracing.properties.0.value=stdout
      tracing.properties.1.key=com.oracle.apm.agent.json.pretty
      tracing.properties.1.value=true
  4. Si vous avez Helidon MP, ignorez cette étape.

    Démarrez et configurez le traceur de Helidon SE, comme l'application Main.java, en procédant comme suit :

    Tracer tracer = TracerBuilder.create(Config.create()).build();

    En utilisant le code ci-dessus, vous vous assurez que le paramètre TracerBuilder est ajouté dans le projet Helidon. Vous créez un objet de configuration et utilisez le même objet pour créer un TracerBuilder dans Main.java.

    TracerBuilder démarre le traceur APM en tant que traceur opentracant et est enregistré dans l'opentracing GlobalTracer.

Prise en charge d'Opentelemetry pour Helidon 4

Pour les applications Helidon 4, suivez les instructions indiquées sous Activer OpenTelemetry dans l'agent APM dans la section Configurer l'agent Java APM pour qu'il fonctionne avec OpenTelemetry.

Note

La prise en charge de l'option Opentracing est obsolète pour Helidon 4 MP. Si vous devez configurer la prise en charge d'Opentelemetry, voir Activer OpenTelemetry dans l'agent APM à partir de Configurer l'agent Java APM pour qu'il fonctionne avec OpenTelemetry.