Utilizzare APM Tracer in Micronaut

Per utilizzare APM Tracer con Micronaut, effettuare le operazioni riportate di seguito.

  1. Conferma versione: APM Tracer in Micronaut è supportato con APM Agent versione 1.7 o successiva.
  2. Aggiungere APM Tracer al progetto Maven. Per i dettagli, vedere Aggiungi tracciante APM a progetto Maven.
  3. Aggiungere la dipendenza in pom.xml.
    • Per Micronaut 3.x, aggiungere quanto segue:
      <dependency>
      <groupId>com.oracle.apm.agent.java</groupId>
      <artifactId>apm-java-agent-micronaut</artifactId>
      <version>[1.14.0.455,)</version>
      </dependency>
    • Per Micronaut 4.x, aggiungere quanto segue:
      <dependency>
       <groupId>com.oracle.apm.agent.java</groupId>
          <artifactId>apm-java-agent-micronaut4</artifactId>
          <version>[1.14.0.455,)</version>
      </dependency>
  4. L'integrazione del trace di Micronaut registra un bean io.opentracing.tracer che espone l'API Open Tracing. La dipendenza sopra riportata verrà utilizzata per configurare APM Tracer come tracciante predefinito (globale).
  5. Configurazione del trace per Micronaut.

    APM Tracer utilizza le seguenti proprietà nel file application.yml di Micronaut:

    Proprietà Predefinito Richiesto descrizione;

    abilitato

    false Proprietà per abilitare il tracciatore APM. Il valore predefinito è false. Non può essere nullo.

    data-upload-key

      Chiave di caricamento dati APM necessaria per la comunicazione di Oracle APM Service Cloud.
    data-upload-endpoint   Endpoint di caricamento dati APM necessario per la comunicazione Oracle APM Service Cloud.
    raccolta-metriche true No

    Raccoglie le metriche del server e genera report su OCI APM Service Cloud.

    L'impostazione predefinita è true.

    L'utente può accedere a tutte le metriche server raccolte dalla telemetria OCI.
    raccolta-risorse true No

    Raccoglie le risorse del server e genera report su OCI APM Service Cloud.

    Tutte le risorse raccolte vengono utilizzate come dimensione per la query sui dati.
    directory di log apm-tracer-log nella directory di lavoro JVM No Percorso completo della directory di log in cui vengono scritti tutti i log APM Tracer. Se questa opzione non è impostata, viene creata la directory di log predefinita (apm-tracer-log nella directory di lavoro della JVM.
    tag   No Tag statiche da includere in tutti gli intervalli di trace.
    proprietà   No

    Proprietà aggiuntive del tracciatore APM. Ciò consente di impostare le proprietà a livello di programmazione all'avvio di APM Tracer.

    Le proprietà vengono ignorate se una chiave o un valore è nullo.

    È necessario aggiungere la configurazione seguente come nodo figlio (oracleapm) della sezione tracing del file application.yml:
    micronaut:
      server:
      application:
        name: micronaut_trace_demo
    tracing:
      oracleapm:
        …
    Ad esempio:
    • È necessario specificarlo in formato YAML. Il nome file predefinito è application.yml. Vedere l'esempio che segue.
      
      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. Snapshot thread: il tracer OracleApm supporta la funzione Snapshot thread.

    Gli snapshot thread consentono la raccolta di snapshot dello stack di thread che possono essere utilizzati per l'analisi approfondita. Per ulteriori informazioni sugli snapshot di thread, vedere Configura snapshot di thread in APM Tracer.

    Per configurare istantanee di thread per Micronaut, effettuare le operazioni riportate di seguito.
    • Aprire il file di configurazione application.yml, andare alla sezione tracing e aggiungere quanto segue:
      collect-deep-dive-trace-snapshot: true
    • Aggiungere la nuova sezione deep-dive-properties con le proprietà degli snapshot thread in 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

    Ad esempio:

    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