Crea istanza tracciatore APM

Per aggiungere il supporto del trace all'applicazione, effettuare le operazioni riportate di seguito.

Nota

Per la configurazione Helidon, saltare questi passi e fare riferimento a Usa APM Tracer in Helidon.
  1. Importare le classi Tracer e APM Tracer opentracing effettuando le operazioni riportate di seguito.

    import io.opentracing.Tracer;
    import com.oracle.apm.tracer.ApmTracer;
  2. È possibile creare un'istanza di APM Tracer in stile builder. Il costruttore di ApmTracer.Builder ha 2 parametri: tracerName e serviceName.

    • tracerName: il nome di questo tracciante. Può essere qualsiasi nome di stringa tranne null.
    • serviceName: nome del servizio segnalato da questo tracciante. Può essere una stringa qualsiasi tranne null.
    Tracer tracer = new ApmTracer.Builder(String tracerName, String serviceName)            
            .<configuration methods>            
            .build();

Prima di chiamare il metodo build() per creare l'istanza APM Tracer, può essere configurato con i metodi di configurazione. È inoltre possibile configurare alcuni metodi di configurazione impostando le proprietà di sistema Java e le variabili di ambiente.

Metodi di configurazione

Metodo Predefinito descrizione; Proprietà di sistema Java equivalente Variabile di ambiente equivalente
withDataUploadEndpoint(Endpoint stringa)   Impostare l'endpoint di caricamento dati APM necessario per la comunicazione cloud Oracle APM. com.oracle.apm.agent.data.upload.endpoint com_oracle_apm_agent_data_upload_endpoint
withDataUploadKey(Stringa dataKey)   Impostare la chiave di caricamento dati APM necessaria per la comunicazione cloud Oracle APM. com.oracle.apm.agent.private.data.key com_oracle_apm_agent_private_data_key

withTag(Chiave stringa, valore stringa)

withTag(Chiave stringa, valore booleano)

withTag(Chiave stringa, valore numerico)

withTags(Mappa<String, Object> tag)

  Impostare le tag statiche da includere in tutti gli intervalli di trace.    
withLogDirectory(Directory stringhe) ./apm-tracer-log Specificare il percorso completo della directory di log in cui vengono scritti tutti i log di APM Tracer. Se non viene impostata, nella directory di lavoro della JVM viene creata la directory di log predefinita, apm-tracer-log. com.oracle.apm.agent.log.directory com_oracle_apm_agent_log_directory

withProperty(Chiave stringa, valore stringa)

withProperties(Mappa<String, Stringa> proprietà)

 

Impostare una o più proprietà APM Tracer. Ciò consente di impostare le proprietà a livello di programmazione all'avvio di APM Tracer. Tutte le proprietà possono essere impostate anche tramite le proprietà di sistema Java o le variabili di ambiente.

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

   
withMicrosecondAccurateTimestamp(microsecondAccuracy booleano) false Impostare tutti gli indicatori orari sulla precisione dei microsecondi quando questo è vero. L'impostazione predefinita è l'accuratezza dei millisecondi.    
withCollectMetrics(collectMetrics booleano) true

Imposta APM Tracer per raccogliere le metriche dei server e generare report nel cloud OCI APM. L'impostazione predefinita è true.

L'utente può accedere a tutte le metriche server raccolte dalla telemetria OCI.

Per informazioni dettagliate sulle metriche del server raccolte, vedere Raccogli metriche.

   
withCollectResources(collectResources booleano) true

Imposta APM Tracer per raccogliere risorse server e generare report su OCI APM cloud.

Tutte le risorse raccolte vengono utilizzate come dimensione per la query sui dati.

Per informazioni dettagliate sulle metriche del server raccolte, vedere Raccogli metriche.

   
withDaemonChannel(Canale stringa)   Il canale Daemon APM è una connessione socket tra Tracer e Daemon. Il formato di questo valore di proprietà è <host>:<port>. Quando il daemon viene avviato con questo set di proprietà, il daemon accetta la connessione socket e ascolta i dati su questo canale specificato. Quando Tracer viene avviato con questo set, l'endpoint di caricamento dei dati viene ignorato e i dati vengono inviati al daemon solo utilizzando questo canale socket. com.oracle.apm.agent.daemon.channel com_oracle_apm_agent_daemon_channel
build()   Crea un'istanza di Tracer APM.    

Altre proprietà

Le proprietà possono essere impostate come proprietà di sistema Java, variabili di ambiente o utilizzando il metodo Builder Property().

Proprietà di sistema Java Variabile di ambiente Valore predefinito descrizione;
com.oracle.apm.agent.daemon.channel com.oracle.apm.agent.daemon.channel   Il canale Daemon APM è una connessione socket tra Tracer e Daemon. Il formato di questo valore di proprietà è <host>:<port>. Quando il daemon viene avviato con questo set di proprietà, il daemon accetta la connessione socket e ascolta i dati su questo canale specificato. Quando Tracer viene avviato con questo set, l'endpoint di caricamento dei dati viene ignorato e i dati vengono inviati al daemon solo utilizzando questo canale socket.
com.oracle.apm.agent.data.upload.proxy.url com_oracle_apm_agent_data_upload_proxy_url   URL del server proxy per la connessione al server Oracle APM. È supportato solo il proxy HTTP.
com.oracle.apm.agent.log.filesize.mb com_oracle_apm_agent_log_filesize_mb 20mb Dimensione file di log. Questa proprietà consente di specificare la dimensione del file di log. Il valore predefinito è "20", ovvero 20 MB sarà la dimensione del file di un file di log.
com.oracle.apm.agent.log.rotation.files.count com_oracle_apm_agent_log_rotation_files_count 2 Numero di file che è possibile creare per memorizzare i log con il meccanismo di rinnovo. Esempio: se si specifica "2" come valore di questa proprietà, i log verranno memorizzati nel primo file fino a raggiungere il limite della dimensione del file. Una volta raggiunto il limite di dimensione del file, verrà creato un nuovo file che continuerà a memorizzare i log. Dopo aver raggiunto il limite di dimensione del file nel secondo file, eliminerà il primo file e inizierà a registrare il primo file. I file verranno nominati in modo appropriato con un suffisso numerico. Ad esempio, ApmTracer.log e ApmTracer1.log. Il valore predefinito è "2", ovvero 2 file verranno utilizzati per memorizzare i log.
com.oracle.apm.agent.logging.level com_oracle_apm_agent_logging_level Informazioni Il livello di log può essere SEVERE, AVVERTENZA, INFO, DEBUG in ordine dal minimo alla maggior parte delle voci scritte in ApmTracer.log.
com.oracle.apm.agent.tracer.propagation.type com_oracle_apm_agent_tracer_propagation_type B3

APM Tracer aggiungerà e leggerà le intestazioni HTTP per connettere gli intervalli tra le chiamate HTTP. Esistono vari tipi di formati di intestazione di propagazione che possono essere utilizzati per eseguire questa operazione. Se si lavora anche con altri tipi di traccianti, come Zipkin o Jaeger, potrebbe essere necessario regolare questa impostazione in modo che possano lavorare insieme.

  • B3: formato predefinito utilizzato da Zipkin Tracer. APM Tracer utilizzerà questo per impostazione predefinita.

  • Header names: X-B3-TraceId, X-B3-SpanId, X-B3-ParentSpanId, X-B3-Sampled.

    Tenere presente che il caso di intestazione singola (b3) non è attualmente supportato.

  • Jaeger: formato predefinito utilizzato da Jaeger Tracer. Nomi intestazione: uber-trace-id

  • APM: vecchio formato utilizzato da APM Tracer. Nomi intestazione: X-ORACLE-APM-SPAN-ID, X-ORACLE-APM-TRACE-ID

  • W3C: formato contesto traccia da W3C. Nomi di testa: traceparent, tracestate