Utilisation du traceur APM dans Micronaut

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

  1. Confirmer la 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 à un projet Maven. Pour plus d'informations, reportez-vous à Ajout du traceur APM à un 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 trace 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 en tant que traceur (global) par défaut.
  5. Configuration de la fonction de trace pour Micronaut.

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

    Propriété Valeur par défaut Requis Description

    activé

    False Oui Propriété permettant d'activer le traceur APM. La valeur par défaut est False. Ne peut pas avoir la valeur NULL.

    data-upload-key

      Oui Clé de téléchargement de données APM requise pour la communication cloud du service Oracle APM.
    data-upload-endpoint   Oui Adresse de téléchargement de données APM requise pour la communication cloud du service Oracle APM.
    collecter-metrics True Non

    Collecte les mesures de serveur et génère des rapports vers le cloud du service OCI APM.

    La valeur par défaut est True.

    L'utilisateur peut accéder à toutes les mesures de serveur collectées à partir d'OCI Telemetry.
    collect-resources True Non

    Collecte les ressources de serveur et génère des rapports vers le cloud du service OCI APM.

    Toutes les ressources collectées sont utilisées en tant que dimensions pour la requête de données.
    log-directory apm-tracer-log dans le répertoire de travail de la JVM Non Chemin complet du répertoire de journaux dans lequel tous les journaux du traceur APM sont écrits. Si cette propriété n'est pas définie, le répertoire de journaux par défaut (apm-tracer-log) est créé dans le répertoire de travail de la JVM.
    tags   Non Balises statiques à inclure dans toutes les étendues de trace.
    properties   Non

    Autres propriétés du traceur APM. Cette méthode permet de définir des propriétés par programmation lors du démarrage du traceur APM.

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

    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 le spécifier au format YAML. Le nom de fichier par défaut est application.yml. Reportez-vous à 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 de thread : le traceur OracleApm prend en charge la fonctionnalité d'instantanés de thread.

    Les clichés de thread permettent une collection de clichés de pile de thread qui peut être utilisée pour une analyse approfondie. Pour plus d'informations sur les clichés de thread, reportez-vous à Configuration de clichés de thread dans le traceur APM.

    Pour configurer les instantanés de thread pour Micronaut, procédez comme suit :
    • Ouvrez le fichier de configuration application.yml, accédez à 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 d'instantanés de thread 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