Microsoft heeft de GCToolkit-broncode vrijgegeven

Microsoft heeft een paar dagen geleden het nieuws vrijgegeven dat heeft de broncode van zijn tool «GCToolkit» vrijgegeven, een set bibliotheken om de logbestanden van Java Garbage Collection te analyseren, waarmee alle GCToolkit-code is beschikbaar op GitHub onder de MIT-licentie.

GCToolkit bestaat uit drie Java-modules met API's, GC-logbestand-parsers en een op Vert.x-toolkit gebaseerde berichtbackplate voor het bouwen van responsieve applicaties op de JVM. Met dit hulpprogramma kunnen gebruikers willekeurige en complexe scans maken van de status van het beheerde geheugen in de JVM.

Zoals de naam al doet vermoeden, is dit een set bibliotheken voor het ontleden van logbestanden van Java-garbageverzameling (GC) en het ontleden ervan in afzonderlijke gebeurtenissen. Onthul een API om de betrokkenheid te verbeteren met de toolkit en gegevensaggregatie, dit stelt de gebruiker in staat om willekeurige complexe analyses te maken van de status van het beheerde geheugen van de JVM.

Volgens het team is dit het gebruikerstoegangspunt in GCToolkit dat de details van de interne modules verbergt in een paar methodeaanroepen. Naast de API, er zijn nog twee andere modules: de parseermodule en Vert.x. De Parser-module is gebaseerd op een verzameling reguliere expressies en code die is geschreven naar worden beschouwd als de meest robuuste GC-loganalysator die beschikbaar is.

De berichten-backend op basis van Vert.x gebruikt twee berichtbussen: de eerste verzendt gegevens uit een gegevensbron. De huidige implementatie geeft logregels door uit het GC-logbestand. De verbruikers van deze bus zijn de analysatoren die de gegevens uit de gegevensbron omzetten in gebeurtenissen die een GC-cyclus of veilig punt vertegenwoordigen. Deze gebeurtenissen worden gepubliceerd op de tweede berichtenbus: de gebeurtenisbus. De abonnees van de gebeurtenisbus kunnen dan op de hoogte worden gebracht en de gebeurtenissen die hen interesseren verwerken.

Parser zendt discrete JVM-gebeurtenissen uit, waarmee u code kunt schrijven om gegevens van deze gebeurtenissen vast te leggen en te analyseren. Om het vastleggen en analyseren van gegevens van GC-logbestanden te vergemakkelijken, biedt GCToolkit een eenvoudig aggregatieraamwerk. Het type gegevens dat gebruikers willen vastleggen of het type analyse dat ze willen uitvoeren, is ter beoordeling van de gebruiker. Om bijvoorbeeld pauzegebeurtenissen vast te leggen om heapbezetting te analyseren, legt de aggregator de gebeurtenis vast, extraheert de relevante gegevens en geeft de gegevens door aan de aggregatie.

Dit brengt de gegevens samen in een zinvolle analyse, bijvoorbeeld de totale heapbezetting na het ophalen van afval. De resulterende gegevens kunnen worden gepresenteerd in de vorm van een grafiek, tabel of een ander gebruiksvriendelijker formaat. Wat nog belangrijker is, volgens het team, zal een suboptimale collectorconfiguratie resulteren in een applicatie die meer CPU en geheugen vereist, terwijl de eindgebruikerservaring slechter wordt. Met andere woorden, een slecht afgestelde verzamelaar betekent vaak duurdere runtime en ontevreden gebruikers.

Met de groeiende belangstelling van Microsoft voor het Java-platform, focus in open source vergroot het ook de voordelen voor de Java-gemeenschap. Na een belangrijke bijdrage te hebben geleverd aan de port macOS M1 en Windows to Arm, bevestigde Microsoft zijn toewijding aan OpenJDK door een eigen versie van OpenJDK te introduceren en lid te worden van de Eclipse Adoptium-werkgroep (voorheen bekend als AdoptOpenJDK).

Door GCToolkit open source te maken, Microsoft probeert een betere manier te bieden om de binnenkant van de JVM te zien over hoe het omgaat met GC en geheugentoewijzing. Een betere zichtbaarheid zorgt voor een betere configuratie, wat zowel de eindgebruikers van de applicatie als het technisch personeel dat verantwoordelijk is voor het beheer ervan ten goede komt.

De eenvoudige API en gebruiksvriendelijke uitvoermechanismen beloven de taak van het lezen van GC-logboeken te verbeteren door verschillende mechanismen te bieden voor het analyseren, extraheren en visualiseren van gegevens.

bron: https://devblogs.microsoft.com


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: AB Internet Networks 2008 SL
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.