Utiliser le traceur APM en micronaute

Pour utiliser le traceur APM avec le micronaute, effectuez les opérations suivantes :

  1. Confirmation de version : Le traceur APM dans Micronaut est pris en charge avec l'agent APM version 1.7 ou supérieure.
  2. Ajoutez le traceur APM au projet Maven. Pour plus de détails, voir Ajouter un traceur APM au projet Maven.
  3. Ajoutez la dépendance dans pom.xml.
    • Pour Micronaut 3.x, ajoutez ce qui suit :
      <dependency>
      <groupId>com.oracle.apm.agent.java</groupId>
      <artifactId>apm-java-agent-micronaut</artifactId>
      <version>[1.14.0.455,)</version>
      </dependency>
    • Pour Micronaut 4.x, ajoutez ce qui suit :
      <dependency>
       <groupId>com.oracle.apm.agent.java</groupId>
          <artifactId>apm-java-agent-micronaut4</artifactId>
          <version>[1.14.0.455,)</version>
      </dependency>
  4. L'intégration de traçage de Micronaut enregistre un bean io.opentracing.tracer qui expose l'API Open Tracing. La dépendance ci-dessus sera utilisée pour configurer le traceur APM comme traceur par défaut (global).
  5. Configuration de suivi pour Micronaut.

    Le traceur APM utilise les propriétés suivantes dans le fichier application.yml de Micronaut :

    Propriété Valeur par défaut Obligatoire Description

    activée

    false Oui Propriété permettant d'activer le traceur APM. Valeur par défaut : false. Cette valeur ne peut pas être vide.

    clé de chargement des données

      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.
    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.

    La configuration suivante doit être ajoutée en tant que noeud enfant (oracleapm) de la section tracing du fichier application.yml :
    micronaut:
      server:
      application:
        name: micronaut_trace_demo
    tracing:
      oracleapm:
        …
    Exemple :
    • Vous devez la spécifier au format YAML. Le nom de fichier par défaut est application.yml. Prenons l'exemple suivant :
      
      tracing:
        oracleapm:
          enabled: true
          data-upload-key: <data upload endpoint of your OCI domain>
          data-upload-endpoint: <privatedata key of your OCI domain>
          collect-resources: true
          collect-metrics: true
          log-directory: "/user/apm/log "
          tags:
            tag1: false
            tag2: 123
            tag3: "stringWithQuotes"
            tag4: 1e4
            tag5: 0.32
            tag6: stringWoQuotes
          properties:
            com.oracle.apm.agent.logging.level : DEBUG
            com.oracle.apm.agent.key1 : value1
  6. Instantanés d'unité d'exécution : Le traceur OracleApm prend en charge la fonction d'instantanés d'unité d'exécution.

    Les instantanés d'unité d'exécution permettent la collecte des instantanés de la pile d'unités d'exécution qui peuvent être utilisés pour l'analyse approfondie. Pour plus d'informations sur les instantanés d'unité d'exécution, voir Configurer des instantanés d'unité d'exécution dans le traceur APM.

    Pour configurer les instantanés d'unité d'exécution pour Micronaut, procédez de la façon suivante :
    • Ouvrez le fichier de configuration application.yml, allez à la section Tracing et ajoutez les éléments suivants :
      collect-deep-dive-trace-snapshot: true
    • Ajoutez la nouvelle section deep-dive-properties avec les propriétés des instantanés d'unité d'exécution sous tracing :

      deep-dive-properties:     
              com.oracle.apm.agent.deepdive.maxPercentTraceExportToCollectorPerMinute: 100     
              com.oracle.apm.agent.deepdive.maxTraceExportToCollectorPerMinute: 200     
              com.oracle.apm.agent.deepdive.snapshotCollectionIntervalInMS: 250     
              com.oracle.apm.agent.deepdive.maxSnapshotsPerTrace: 16     
              com.oracle.apm.agent.deepdive.maxStackTraceDepthPerSnapshot: 256
              com.oracle.apm.agent.deepdive.logLevel: INFO     
              com.oracle.apm.agent.deepdive.maxProcessCpuUsagePercent: 90     
              com.oracle.apm.agent.deepdive.deepDiveCpuUsagePercent.minThreshold: 3     
              com.oracle.apm.agent.deepdive.deepDiveCpuUsagePercent.maxThreshold: 5     
              com.oracle.apm.agent.deepdive.traceLifeInMS.minThreshold: 50     
              com.oracle.apm.agent.deepdive.traceLifeInMS.maxThreshold: 60000

    Exemple :

    micronaut:
      server:
      application:
        name: micronaut_trace_demo
    tracing:
      oracleapm:
        enabled: true
        data-upload-key: <data upload endpoint of your OCI domain>
        data-upload-endpoint: <privatedata key of your OCI domain>
        collect-resources: true
        collect-metrics: true
        log-directory: "/user/apm/log "
        collect-deep-dive-trace-snapshot: true
        deep-dive-properties:         
          com.oracle.apm.agent.deepdive.maxPercentTraceExportToCollectorPerMinute: 100         
          com.oracle.apm.agent.deepdive.maxTraceExportToCollectorPerMinute: 200         
          com.oracle.apm.agent.deepdive.snapshotCollectionIntervalInMS: 250         
          com.oracle.apm.agent.deepdive.maxSnapshotsPerTrace: 16         
          com.oracle.apm.agent.deepdive.maxStackTraceDepthPerSnapshot: 256         
          com.oracle.apm.agent.deepdive.logLevel: INFO         
          com.oracle.apm.agent.deepdive.maxProcessCpuUsagePercent: 90         
          com.oracle.apm.agent.deepdive.deepDiveCpuUsagePercent.minThreshold: 3         
          com.oracle.apm.agent.deepdive.deepDiveCpuUsagePercent.maxThreshold: 5         
          com.oracle.apm.agent.deepdive.traceLifeInMS.minThreshold: 50         
          com.oracle.apm.agent.deepdive.traceLifeInMS.maxThreshold: 60000