Microsoft wydał kod źródłowy GCToolkit

Microsoft opublikował kilka dni temu wiadomość, że wydała kod źródłowy swojego narzędzia «GCToolkit», czyli zestaw bibliotek do analizowania plików dziennika Java Garbage Collection, za pomocą których cały kod GCToolkit jest dostępny na GitHub na licencji MIT.

GCToolkit składa się z trzech modułów Java obejmujących API, parsery plików dziennika GC oraz backplate komunikatów Vert.x oparty na zestawie narzędzi do tworzenia responsywnych aplikacji na JVM. Za pomocą tego narzędzia użytkownicy mogą tworzyć dowolne i złożone skany stanu pamięci zarządzanej w JVM.

Jak sama nazwa wskazuje, jest to zestaw bibliotek do parsowania plików dziennika Java garbage collection (GC) i analizowania ich w oddzielnych zdarzeniach. Udostępnij interfejs API, aby zwiększyć zaangażowanie z zestawem narzędzi i agregacją danych, to umożliwia użytkownikowi tworzenie dowolnych złożonych analiz stanu pamięci zarządzanej JVM.

Według zespołu jest to punkt wejścia użytkownika w GCToolkit, który ukrywa szczegóły wewnętrznych modułów w kilku wywołaniach metod. Oprócz API, istnieją dwa inne moduły: moduł parsowania i Vert.x. Moduł Parser jest oparty na zbiorze wyrażeń regularnych i kodzie napisanych do być uważane za najsolidniejszy dostępny analizator logów GC.

Zaplecze komunikacyjne oparte na Vert.x wykorzystuje dwie magistrale komunikatów: pierwszy przesyła dane ze źródła danych. Bieżąca implementacja przekazuje wiersze dziennika z pliku dziennika GC. Odbiorcami tej magistrali są analizatory, które przekształcają dane ze źródła danych na zdarzenia reprezentujące cykl GC lub punkt bezpieczny. Te zdarzenia są publikowane na drugiej magistrali komunikatów: magistrali zdarzeń. Abonenci magistrali zdarzeń mogą być następnie powiadamiani i przetwarzać interesujące ich zdarzenia.

Parser emituje dyskretne zdarzenia JVM, co pozwala na napisanie kodu do przechwytywania i analizowania danych z tych zdarzeń. Aby ułatwić przechwytywanie danych i analizę plików dziennika GC, GCToolkit zapewnia prostą strukturę agregacji. Rodzaj danych, które użytkownicy chcą przechwycić lub rodzaj analizy, którą chcą przeprowadzić, zależy od uznania użytkownika. Na przykład, aby przechwycić zdarzenia wstrzymania w celu przeanalizowania zajętości sterty, agregator przechwytuje zdarzenie, wyodrębnia odpowiednie dane i przekazuje je do agregacji.

To łączy dane w sensowną analizę, na przykład całkowite zajęcie sterty po usunięciu śmieci. Uzyskane dane mogą być prezentowane w formie wykresu, tabeli lub w innym, bardziej przyjaznym dla użytkownika formacie. Co ważniejsze, zdaniem zespołu, nieoptymalna konfiguracja kolektora spowoduje, że aplikacja będzie wymagała więcej procesora i pamięci, a jednocześnie pogorszy wrażenia użytkownika końcowego. Innymi słowy, źle dostrojony kolektor często oznacza droższy czas pracy i niezadowolonych użytkowników.

Wraz z rosnącym zainteresowaniem Microsoftu platformą Java, skupiać w open source zwiększa to również korzyści dla społeczności Java. Po wniesieniu znaczącego wkładu w port macOS M1 i Windows do Arm, Microsoft potwierdził swoje zaangażowanie w OpenJDK, wprowadzając własną wersję OpenJDK i dołączając do grupy roboczej Eclipse Adoptium (wcześniej znanej jako AdoptOpenJDK).

Tworząc GCToolkit open source, Microsoft stara się zapewnić lepszy sposób, aby zobaczyć wewnętrzne elementy JVM na temat tego, jak obsługuje GC i alokacja pamięci. Lepsza widoczność pozwala na lepszą konfigurację, z której korzystają zarówno użytkownicy końcowi aplikacji, jak i personel techniczny odpowiedzialny za jej zarządzanie.

Prosty interfejs API i łatwe w użyciu mechanizmy wyjściowe obiecują usprawnić zadanie odczytywania dzienników GC, zapewniając różne mechanizmy analizy, wyodrębniania i wizualizacji danych.

źródło: https://devblogs.microsoft.com


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: AB Internet Networks 2008 SL
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.