Spoločnosť Microsoft zverejnila zdrojový kód GCToolkit

Microsoft vydal pred niekoľkými dňami správu, že zverejnila zdrojový kód svojho nástroja «GCToolkit», čo je sada knižníc na analýzu protokolových súborov Java Garbage Collection, pomocou ktorých je kód GCToolkit je k dispozícii na GitHub pod licenciou MIT.

GCToolkit sa skladá z troch modulov Java pokrývajúci API, analyzátory súborov denníka GC a backplate správ založených na súprave nástrojov Vert.x na vytváranie responzívnych aplikácií v JVM. Pomocou tohto pomocného programu môžu užívatelia vytvárať ľubovoľné a komplexné prehľady stavu spravovanej pamäte v JVM.

Ako naznačuje názov, toto je množina knižníc na analýzu protokolových súborov Java Garbage Collection (GC) a ich analýzu v oddelených udalostiach. Vystavte API na zlepšenie interakcie s nástrojovou sadou a agregáciou údajov, toto umožňuje užívateľovi vytvárať ľubovoľné komplexné analýzy stavu riadenej pamäte JVM.

Podľa tímu je to vstupný bod používateľa v GCToolkit, ktorý v niekoľkých metódach skrýva detaily interných modulov. Okrem API, existujú ďalšie dva moduly: modul analýzy a Vert.x. Modul syntaktického analyzátora je založený na súbore regulárnych výrazov a kódu zapísaného do byť považovaný za najrobustnejší analyzátor denníka GC.

Backend správ na základe Vert.x používa dve zbernice správ: prvý prenáša údaje zo zdroja údajov. Aktuálna implementácia odovzdáva riadky denníka zo súboru denníka GC. Konzumentmi tejto zbernice sú analyzátory, ktoré prevádzajú údaje zo zdroja údajov na udalosti, ktoré predstavujú cyklus GC alebo bezpečný bod. Tieto udalosti sú publikované na druhej zbernici správ: zbernici udalostí. Predplatitelia zbernice udalostí môžu byť potom upozornení a spracovávať udalosti, ktoré ich zaujímajú.

Analyzátor vysiela diskrétne udalosti JVM, čo vám umožní písať kód na zachytávanie a analýzu údajov z týchto udalostí. Na uľahčenie zberu údajov a analýzy protokolových súborov GC poskytuje GCToolkit jednoduchý agregačný rámec. Typ údajov, ktoré chcú používatelia zachytiť, alebo typ analýzy, ktorú chcú vykonať, je na uvážení užívateľa. Napríklad na zachytenie udalostí pozastavenia a analýzu obsadenosti haldy agregátor zachytí udalosť, extrahuje relevantné údaje a odovzdá údaje agregácii.

To dáva dáta dohromady v zmysluplnej analýze, napríklad celkovej obsadenosti haldy po zbere odpadu. Výsledné údaje môžu byť prezentované vo forme grafu, tabuľky alebo iného užívateľsky príjemnejšieho formátu. Ešte dôležitejšie je, že podľa tímu bude mať neoptimálna konfigurácia kolektora za následok aplikáciu, ktorá vyžaduje viac CPU a pamäte, a zároveň zhorší zážitok koncového používateľa. Inými slovami, zle naladený kolektor často znamená drahší beh a nespokojných používateľov.

S rastúcim záujmom spoločnosti Microsoft o platformu Java zameranie v open source to tiež zvyšuje výhody pre komunitu Java. Po významnom prispení k port macOS M1 a Windows to Arm spoločnosť Microsoft potvrdila svoj záväzok voči OpenJDK zavedením vlastnej verzie OpenJDK a pripojením sa k pracovnej skupine Eclipse Adoptium (predtým známej ako AdoptOpenJDK).

Vytvorením GCToolkit open source, Microsoft sa pokúša poskytnúť lepší spôsob, ako vidieť interné prvky JVM o tom, ako zaobchádza s GC a alokácia pamäte. Lepšia viditeľnosť umožňuje lepšiu konfiguráciu, z čoho profitujú koncoví užívatelia aplikácie aj technický personál zodpovedný za jej správu.

Jednoduché API a ľahko použiteľné výstupné mechanizmy sľubujú zlepšenie úlohy čítania protokolov GC poskytnutím rôznych mechanizmov na analýzu, extrahovanie a vizualizáciu údajov.

Fuente: https://devblogs.microsoft.com


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Za údaje zodpovedá: AB Internet Networks 2008 SL
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.