APM-Tracer in Helidon verwenden

So verwenden Sie den APM-Tracer mit Helidon:

  1. Fügen Sie den APM-Tracer zum Maven-Projekt hinzu. Weitere Einzelheiten finden Sie unter APM-Tracer zum Maven-Projekt hinzufügen.
  2. Prüfen Sie die Helidon-Version, und fügen Sie die entsprechende Abhängigkeit hinzu.

    Fügen Sie für Helidon 2 die folgende Abhängigkeit hinzu:

    <dependency>
        <groupId>com.oracle.apm.agent.java</groupId>
        <artifactId>apm-java-agent-helidon</artifactId>
        <version>[1.0.1389,)</version>
    </dependency>
    Fügen Sie für Helidon 3 SE die folgende Abhängigkeit hinzu:
    <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>
    Fügen Sie für Helidon 3 MP die folgende Abhängigkeit hinzu:
    <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>
    Fügen Sie unter Helidon 4 SE die folgende Abhängigkeit hinzu:
    <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>
    Hinweis

    Informationen zu Helidon 4, einschließlich Helidon 4 MP, finden Sie unter Opentelemetry Support for Helidon 4.

  3. Konfiguration für Helidon.

    Der APM-Tracer verwendet die folgenden Eigenschaften in der Helidon-Konfigurationsdatei:

    Eigenschaft Standardwert Erforderlich Beschreibung
    name   Nein Name des Tracers. Diese Eigenschaft muss angegeben werden.
    service   Ja Name des Service. Diese Eigenschaft muss angegeben werden.
    private-data-key   Ja Für die Kommunikation mit der Oracle APM-Cloud erforderlicher APM-Datenuploadschlüssel.
    data-upload-endpoint   Ja Für die Kommunikation mit der Oracle APM-Cloud erforderlicher APM-Datenuploadendpunkt.
    daemon-channel   Nein Der APM-Daemon-Kanal ist eine Socket-Verbindung zwischen Tracer und Daemon. Das Format dieses Eigenschaftswerts lautet <host>:<port>.

    Wenn der Daemon gestartet wird und diese Eigenschaft festgelegt ist, akzeptiert der Daemon die Socket-Verbindung und horcht auf diesem angegebenen Kanal auf Daten.

    Wenn der Tracer gestartet wird und diese Eigenschaft festgelegt ist, wird der Datenuploadendpunkt ignoriert, und Daten werden nur über diesen Socket-Kanal an den Daemon gesendet.

    collect-metrics true Nein

    Erfasst Servermetriken und meldet sie an die OCI-APM-Service-Cloud. Der Standardwert ist "true".

    Benutzer können über die OCI-Telemetrie auf alle erfassten Servermetriken zugreifen.

    collect-resources true Nein

    Erfasst Serverressourcen und meldet sie an die OCI-APM-Service-Cloud.

    Alle erfassten Ressourcen werden als Dimension für die Datenabfrage verwendet.

    log-directory apm-tracer-log im JVM-Arbeitsverzeichnis Nein Vollständiger Pfad des Logverzeichnisses, in das alle APM-Tracer-Logs geschrieben werden. Wenn diese Option nicht festgelegt ist, wird das Standardlogverzeichnis (apm-tracer-log) im Arbeitsverzeichnis der JVM erstellt.
    tags   Nein Statische Tags, die in allen Tracing-Spans enthalten sein sollen.
    properties   Nein

    Zusätzliche Eigenschaften des APM-Tracers. Dadurch können Eigenschaften beim Start des APM-Tracers programmgesteuert festgelegt werden.

    Eigenschaften werden ignoriert, wenn entweder der Schlüssel oder der Wert Null ist.

    Beispiele:
    • Helidon SE: Sie müssen es im YAML-Format angeben. Der Standardname ist application.yaml. Siehe folgendes Beispiel:
      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

      Im obigen Beispiel wird das bevorzugte Format für den Abschnitt properties verwendet. Das folgende Format wird ebenfalls unterstützt:

      tracing:
          ...
          ...
          ...
          properties:
              - key: com.oracle.apm.agent.logging.level
                value: DEBUG
              - key: com.oracle.apm.agent.key1
                value: value123
    • Helidon MP: Sie müssen sie im Format PROPERTIES (key=value) angeben. Der Standardname lautet microprofile-config.properties.. Siehe folgendes Beispiel:
      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
      Das obige Format ist das bevorzugte Format für den Abschnitt properties, unterstützt aber auch das folgende Format:
      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. Wenn Sie Helidon MP haben, überspringen Sie diesen Schritt.

    Starten und konfigurieren Sie Tracer von Helidon SE, wie die Anwendung Main.java, indem Sie Folgendes ausführen:

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

    Wenn Sie den obigen Code verwenden, stellen Sie sicher, dass der Parameter TracerBuilder im Helidon-Projekt hinzugefügt wird. Sie erstellen ein Konfigurationsobjekt und verwenden dieses Konfigurationsobjekt, um einen TracerBuilder in Main.java zu erstellen.

    Die TracerBuilder startet den APM-Tracer als opentracing Tracer und wird in opentracing GlobalTracer registriert.

Unterstützung der Opentelemetrie für Helidon 4

Befolgen Sie für Helidon 4-Anwendungen die Anweisungen unter OpenTelemetry im APM-Agent aktivieren unter APM-Java-Agent für die Arbeit mit OpenTelemetry konfigurieren.

Hinweis

Die Unterstützung von Opentracing ist für Helidon 4 MP veraltet. Wenn Sie die Opentelemetrieunterstützung konfigurieren müssen, finden Sie weitere Informationen unter OpenTelemetry in APM-Agent aktivieren unter APM-Java-Agent für die Arbeit mit OpenTelemetry konfigurieren.