Microsoft ha rilasciato il codice sorgente di GCToolkit

Microsoft ha rilasciato qualche giorno fa la notizia che ha rilasciato il codice sorgente del suo strumento «GCToolkit», che è un insieme di librerie per analizzare i file di registro di Java Garbage Collection, con cui tutto il codice di GCToolkit è disponibile su GitHub con licenza MIT.

GCToolkit è composto da tre moduli Java che copre API, parser di file di registro GC e un backplate di messaggi basato su toolkit Vert.x per la creazione di applicazioni reattive sulla JVM. Con questa utility, gli utenti possono creare scansioni arbitrarie e complesse dello stato della memoria gestita nella JVM.

Come suggerisce il nome, si tratta di un insieme di librerie per l'analisi dei file di registro di Java Garbage Collection (GC) e per l'analisi in eventi separati. Esponi un'API per migliorare il coinvolgimento con il toolkit e l'aggregazione dei dati, questo consente all'utente di creare analisi complesse arbitrarie dello stato della memoria gestita della JVM.

Secondo il team, questo è il punto di ingresso dell'utente in GCToolkit che nasconde i dettagli dei moduli interni in alcune chiamate di metodo. Oltre all'API, ci sono altri due moduli: il modulo parsing e Vert.x. Il modulo Parser si basa su una raccolta di espressioni regolari e codice scritto su essere considerato il più robusto analizzatore di log GC disponibile.

Il backend di messaggistica basato su Vert.x utilizza due bus di messaggi: il primo trasmette dati da un'origine dati. L'implementazione corrente passa le righe di registro dal file di registro GC. I consumatori di questo bus sono gli analizzatori che convertono i dati dall'origine dati in eventi che rappresentano un ciclo GC o punto sicuro. Questi eventi vengono pubblicati sul secondo bus di messaggi: il bus degli eventi. Gli abbonati al bus di eventi possono quindi essere avvisati ed elaborare gli eventi che li interessano.

Il parser emette eventi JVM discreti, che consente di scrivere codice per acquisire e analizzare i dati da questi eventi. Per facilitare l'acquisizione dei dati e l'analisi dei file di registro GC, GCToolkit fornisce un semplice framework di aggregazione. Il tipo di dati che gli utenti desiderano acquisire o il tipo di analisi che desiderano eseguire è a discrezione dell'utente. Ad esempio, per acquisire eventi di pausa per analizzare l'occupazione dell'heap, l'aggregatore acquisisce l'evento, estrae i dati rilevanti e passa i dati all'aggregazione.

Ciò riunisce i dati in un'analisi significativa, ad esempio l'occupazione totale dell'heap dopo la raccolta dei rifiuti. I dati risultanti possono essere presentati sotto forma di grafico, tabella o un altro formato più intuitivo. Ancora più importante, secondo il team, una configurazione del raccoglitore non ottimale si tradurrà in un'applicazione che richiede più CPU e memoria, degradando al contempo l'esperienza dell'utente finale. In altre parole, un raccoglitore mal sintonizzato spesso significa tempi di esecuzione più costosi e utenti insoddisfatti.

Con il crescente interesse di Microsoft per la piattaforma Java, messa a fuoco nell'open source sta anche aumentando i benefici per la comunità Java. Dopo aver apportato contributi significativi al porting di macOS M1 e Windows to Arm, Microsoft ha riaffermato il suo impegno per OpenJDK introducendo la propria versione di OpenJDK e unendosi al gruppo di lavoro Eclipse Adoptium (precedentemente noto come AdoptOpenJDK).

Rendendo GCToolkit open source, Microsoft sta cercando di fornire un modo migliore per vedere gli interni della JVM su come gestisce GC e allocazione della memoria. Una migliore visibilità consente una migliore configurazione, a vantaggio sia degli utenti finali dell'applicazione che del personale tecnico responsabile della sua gestione.

La semplice API e i meccanismi di output di facile utilizzo promettono di migliorare l'attività di lettura dei registri GC fornendo vari meccanismi per analizzare, estrarre e visualizzare i dati.

fonte: https://devblogs.microsoft.com


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile del trattamento: AB Internet Networks 2008 SL
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.