Catalogo delle metriche
Questa sezione descrive tutte le metriche esposte da GovWay: significato, tipo, label e
significato di ciascuna label. I nomi degli istogrammi seguono le convenzioni Prometheus: per una
metrica <name> di tipo histogram vengono esposte le serie <name>_bucket (una per confine
le), <name>_count (numero di osservazioni) e <name>_sum (somma dei valori); la loro
lettura è descritta nella sezione Istogrammi e bucket.
Label comuni
Alcune label ricorrono in più metriche; se ne riporta qui il significato una volta sola.
Label |
Significato |
|---|---|
|
Ruolo del gateway nella transazione: |
|
Classe a cui appartiene l’esito della transazione: |
|
Esito della transazione nella codifica numerica di GovWay (es. |
|
Codice HTTP restituito al client dal gateway. Presente solamente sulle metriche di tipo counter. |
|
Profilo di interoperabilità/protocollo della transazione (es. |
Label delle metriche di dettaglio
Le metriche di dettaglio per servizio (sezione Metriche di dettaglio per servizio) riportano le seguenti label, che identificano l’erogazione o la fruizione che ha gestito la richiesta. I nomi riprendono quelli utilizzati negli header di integrazione e nel tracciamento su file. Le label sono sempre presenti; quelle non applicabili hanno valore vuoto.
Label |
Significato |
|---|---|
|
Identificativo univoco dell’erogazione o della fruizione, nella stessa forma utilizzata nella
url di invocazione (i tipi dei soggetti e del servizio sono indicati solo se diversi da quelli
di default del profilo): |
|
Nome del gruppo (configurazione specifica per un insieme di azioni) che ha gestito la
richiesta, come indicato nella console; |
|
Nome e tipo del soggetto erogatore. |
|
Nome e tipo del soggetto fruitore; valorizzate solamente per le fruizioni. |
|
Nome, tipo e versione del servizio (erogazione/fruizione). |
|
Risorsa (API REST) o azione (API SOAP) invocata. |
|
Nome e versione dell’API implementata dall’erogazione o dalla fruizione. |
|
Nome e tipo del soggetto referente dell’API; valorizzate solamente per i profili di
interoperabilità che prevedono il soggetto referente (es. |
|
Tag associati all’API, in ordine alfabetico e separati da virgola (es.
|
Metriche di sistema di GovWay
Gauge che campionano live (ad ogni scrape) lo stato interno del gateway. Sono sempre esposte.
Metrica |
Tipo |
Descrizione e label |
|---|---|---|
|
gauge |
Numero di transazioni attualmente in corso. Nessuna label. |
|
gauge |
Numero di identificativi di protocollo presenti nel filtro anti-duplicati in memoria. Nessuna label. |
|
gauge |
Numero di richieste concorrenti attualmente in gestione dal controllo del traffico. Nessuna label. |
|
gauge |
Flag di congestione del gateway: |
|
gauge |
Numero di connettori con un inoltro/consegna in corso. Label: |
|
gauge |
Connessioni attualmente allocate su ciascun datasource. Label: |
|
gauge |
Connessioni al database attualmente trattenute da ciascun componente di GovWay. Label:
|
|
gauge |
Connessioni verso il broker JMS attualmente allocate. Nessuna label. |
|
gauge |
Stato dei pool di connessioni del client HTTP verso i backend, aggregato su tutti i pool.
Label: |
|
gauge |
Numero di elementi presenti in ciascuna cache interna. Label: |
Metriche di transazione
Registrate una volta per transazione. Sono sempre attive (a prescindere dalla proprietà di dettaglio per servizio).
Metrica |
Tipo |
Descrizione e label |
|---|---|---|
|
counter |
Numero di richieste gestite. Label: |
|
histogram |
Latenza di elaborazione della richiesta, in secondi. Label: |
|
histogram |
Dimensione dei messaggi, in byte. Label: |
Metriche di dettaglio per servizio
Vengono prodotte solo per le erogazioni/fruizioni su cui sono abilitate le metriche di dettaglio (sezione Metriche di dettaglio per servizio). Consentono di analizzare latenze, dimensioni e tempi di elaborazione per singola API/servizio/operazione.
Rispetto alle metriche di transazione aggiungono le label descritte nella sezione Label delle metriche di dettaglio.
Metrica |
Tipo |
Descrizione e label |
|---|---|---|
|
counter |
Come |
|
histogram |
Come |
|
histogram |
Come |
|
histogram |
Latenza delle singole fasi funzionali di elaborazione, in secondi. Label: |
I valori possibili della label phase per govway_processing_phase_seconds corrispondono alle
fasi di elaborazione di GovWay: token, authentication, tokenAuthentication,
tokenApplicationAuthentication, authorization, contentAuthorization,
requestValidation, responseValidation, trafficControl_maxRequests,
trafficControl_rateLimiting, requestMessageSecurity, responseMessageSecurity,
requestAttachmentsHandling, responseAttachmentsHandling, requestApplicationCorrelation,
responseApplicationCorrelation, requestTracing, responseTracing, dumpRequestInbound,
dumpRequestOutbound, dumpResponseInbound, dumpResponseOutbound,
dumpBinaryRequestInbound, dumpBinaryRequestOutbound, dumpBinaryResponseInbound,
dumpBinaryResponseOutbound, dumpIntegrationManager, responseCachingDigestComputation,
responseCachingReadFromCache, responseCachingSaveInCache, requestTransformation,
responseTransformation, attributeAuthority.
Metriche di persistenza del tracciamento
Misurano il tempo impiegato per la persistenza del tracciamento su database. Vengono registrate per
tutte le transazioni (non solo quelle «lente»), ma richiedono l’abilitazione dello slow-log
(proprietà org.openspcoop2.pdd.transazioni.slowLog.enabled=true): senza tale abilitazione non
vengono prodotte.
Metrica |
Tipo |
Descrizione e label |
|---|---|---|
|
histogram |
Durata totale della persistenza del tracciamento su DB. Label: |
|
histogram |
Durata delle componenti aggregate della persistenza. Label: |
|
histogram |
Durata delle componenti di dettaglio della persistenza. Label: |
Metriche degli eventi
Metrica |
Tipo |
Descrizione e label |
|---|---|---|
|
counter |
Numero di eventi registrati dal gateway. Label: |
Metriche di sistema JVM/process
Se abilitate (observability.metrics.system-metrics.enabled=true, sezione
Configurazione avanzata), vengono esposte le metriche
standard dei binder JVM/process di Micrometer, tra cui:
jvm_memory_used_bytes/jvm_memory_committed_bytes/jvm_memory_max_bytes(labelarea,id): utilizzo della memoria JVM per area (heap/nonheap) e pool;jvm_gc_pause_secondse altrejvm_gc_*: attività del garbage collector;jvm_threads_live_threads/jvm_threads_daemon_threads/jvm_threads_states_threads: stato dei thread;jvm_classes_loaded_classes: numero di classi caricate;jvm_buffer_*: buffer pool NIO;system_cpu_count,system_cpu_usage,process_cpu_usage: CPU disponibili e utilizzo;process_uptime_seconds,process_start_time_seconds: uptime e istante di avvio del processo;process_files_open_files/process_files_max_files: descrittori di file aperti/massimi.
Per il dettaglio completo di queste metriche si rimanda alla documentazione di Micrometer.