Diagnostyka i monitorowanie wydajności struktury Reliable Actors

Środowisko uruchomieniowe Reliable Actors emituje zdarzenia EventSource i liczniki wydajności. Zapewniają one wgląd w sposób działania środowiska uruchomieniowego oraz pomoc w rozwiązywaniu problemów i monitorowaniu wydajności.

Zdarzenia źródła zdarzeń

Nazwa dostawcy usługi EventSource dla środowiska uruchomieniowego Reliable Actors to "Microsoft-ServiceFabric-Actors". Zdarzenia z tego źródła zdarzeń są wyświetlane w oknie Zdarzenia diagnostyczne, gdy aplikacja aktora jest debugowana w programie Visual Studio.

Przykłady narzędzi i technologii, które pomagają w zbieraniu i/lub wyświetlaniu zdarzeń EventSource, to PerfView, Diagnostyka Azure, Rejestrowanie semantyczne i biblioteka Microsoft TraceEvent.

Słowa kluczowe

Wszystkie zdarzenia należące do elementu Reliable Actors EventSource są skojarzone z co najmniej jednym słowami kluczowymi. Umożliwia to filtrowanie zdarzeń, które są zbierane. Zdefiniowane są następujące bity słów kluczowych.

Bitowych opis
0x1 Zestaw ważnych zdarzeń, które podsumowują działanie środowiska uruchomieniowego fabric Actors.
0x2 Zestaw zdarzeń opisujących wywołania metody aktora. Aby uzyskać więcej informacji, zobacz temat wprowadzający dotyczący aktorów.
0x4 Zestaw zdarzeń związanych ze stanem aktora. Aby uzyskać więcej informacji, zobacz temat dotyczący zarządzania stanem aktora.
0x8 Zestaw zdarzeń związanych z współbieżnością opartą na kolei w aktorze. Aby uzyskać więcej informacji, zobacz temat dotyczący współbieżności.

Liczniki wydajności

Środowisko uruchomieniowe Reliable Actors definiuje następujące kategorie liczników wydajności.

Kategoria opis
Aktor usługi Service Fabric Liczniki specyficzne dla aktorów usługi Azure Service Fabric, np. czas potrzebny na zapisanie stanu aktora
Service Fabric Actor, metoda Liczniki specyficzne dla metod implementowanych przez aktorów usługi Service Fabric, np. częstotliwość wywoływanej metody aktora

Każda z powyższych kategorii ma co najmniej jeden licznik.

Aplikacja systemu Windows monitor wydajności, która jest domyślnie dostępna w systemie operacyjnym Windows, może służyć do zbierania i wyświetlania danych licznika wydajności. Diagnostyka Azure to kolejna opcja zbierania danych licznika wydajności i przekazywania ich do tabel platformy Azure.

Nazwy wystąpień licznika wydajności

Klaster, który ma dużą liczbę usług aktora lub partycji usługi aktora, będzie miał dużą liczbę wystąpień licznika wydajności aktora. Nazwy wystąpień licznika wydajności mogą pomóc w zidentyfikowaniu określonej partycji i metody aktora (jeśli ma to zastosowanie), z którą jest skojarzone wystąpienie licznika wydajności.

Kategoria aktora usługi Service Fabric

W przypadku kategorii Service Fabric Actornazwy wystąpień licznika mają następujący format:

ServiceFabricPartitionID_ActorsRuntimeInternalID

ServiceFabricPartitionID to ciąg reprezentujący identyfikator partycji usługi Service Fabric skojarzony z wystąpieniem licznika wydajności. Identyfikator partycji jest identyfikatorem GUID, a jego reprezentacja ciągu jest generowana za pośrednictwem Guid.ToString metody z specyfikatorem formatu "D".

ActorRuntimeInternalID to reprezentacja ciągu 64-bitowej liczby całkowitej generowanej przez środowisko uruchomieniowe fabric Actors do użytku wewnętrznego. Jest to uwzględnione w nazwie wystąpienia licznika wydajności, aby zapewnić jego unikatowość i uniknąć konfliktu z innymi nazwami wystąpień licznika wydajności. Użytkownicy nie powinni próbować interpretować tej części nazwy wystąpienia licznika wydajności.

Poniżej przedstawiono przykład nazwy wystąpienia licznika dla licznika należącego Service Fabric Actor do kategorii:

2740af29-78aa-44bc-a20b-7e60fb783264_635650083799324046

W powyższym 2740af29-78aa-44bc-a20b-7e60fb783264 przykładzie jest ciągiem reprezentującym identyfikator partycji usługi Service Fabric i 635650083799324046 jest 64-bitowym identyfikatorem generowanym na potrzeby wewnętrznego użycia środowiska uruchomieniowego.

Kategoria metody aktora usługi Service Fabric

W przypadku kategorii Service Fabric Actor Methodnazwy wystąpień licznika mają następujący format:

MethodName_ActorsRuntimeMethodId_ServiceFabricPartitionID_ActorsRuntimeInternalID

MethodName to nazwa metody aktora, z którą jest skojarzone wystąpienie licznika wydajności. Format nazwy metody jest określany na podstawie logiki w środowisku uruchomieniowym Fabric Actors, która równoważy czytelność nazwy z ograniczeniami maksymalnej długości nazw wystąpień licznika wydajności w systemie Windows.

ActorsRuntimeMethodId to reprezentacja ciągu 32-bitowej liczby całkowitej generowanej przez środowisko uruchomieniowe fabric Actors do użytku wewnętrznego. Jest to uwzględnione w nazwie wystąpienia licznika wydajności, aby zapewnić jego unikatowość i uniknąć konfliktu z innymi nazwami wystąpień licznika wydajności. Użytkownicy nie powinni próbować interpretować tej części nazwy wystąpienia licznika wydajności.

ServiceFabricPartitionID to ciąg reprezentujący identyfikator partycji usługi Service Fabric skojarzony z wystąpieniem licznika wydajności. Identyfikator partycji jest identyfikatorem GUID, a jego reprezentacja ciągu jest generowana za pośrednictwem Guid.ToString metody z specyfikatorem formatu "D".

ActorRuntimeInternalID to reprezentacja ciągu 64-bitowej liczby całkowitej generowanej przez środowisko uruchomieniowe fabric Actors do użytku wewnętrznego. Jest to uwzględnione w nazwie wystąpienia licznika wydajności, aby zapewnić jego unikatowość i uniknąć konfliktu z innymi nazwami wystąpień licznika wydajności. Użytkownicy nie powinni próbować interpretować tej części nazwy wystąpienia licznika wydajności.

Poniżej przedstawiono przykład nazwy wystąpienia licznika dla licznika należącego Service Fabric Actor Method do kategorii:

ivoicemailboxactor.leavemessageasync_2_89383d32-e57e-4a9b-a6ad-57c6792aa521_635650083804480486

W powyższym ivoicemailboxactor.leavemessageasync przykładzie nazwa metody 2 to 32-bitowy identyfikator wygenerowany do użytku wewnętrznego środowiska uruchomieniowego, 89383d32-e57e-4a9b-a6ad-57c6792aa521 jest reprezentacją ciągu identyfikatora partycji usługi Service Fabric i 635650083804480486 jest identyfikatorem 64-bitowym wygenerowanym do użytku wewnętrznego środowiska uruchomieniowego.

Lista zdarzeń i liczników wydajności

Zdarzenia metody aktora i liczniki wydajności

Środowisko uruchomieniowe Reliable Actors emituje następujące zdarzenia związane z metodami aktora.

Nazwa zdarzenia Identyfikator zdarzenia Poziom Słowo kluczowe opis
AktorMethodStart 7 Pełne informacje 0x2 Środowisko uruchomieniowe aktorów ma wywołać metodę aktora.
AktorMethodStop 8 Pełne informacje 0x2 Metoda aktora zakończyła wykonywanie. Oznacza to, że wywołanie asynchroniczne środowiska uruchomieniowego do metody aktora zostało zwrócone, a zadanie zwrócone przez metodę aktora zostało zakończone.
AktorMethodThrewException 9 Ostrzeżenie 0x3 Podczas wykonywania metody aktora został zgłoszony wyjątek podczas asynchronicznego wywołania środowiska uruchomieniowego do metody aktora lub podczas wykonywania zadania zwróconego przez metodę aktora. To zdarzenie wskazuje jakiś błąd w kodzie aktora, który wymaga badania.

Środowisko uruchomieniowe Reliable Actors publikuje następujące liczniki wydajności związane z wykonywaniem metod aktora.

Nazwa kategorii Nazwa licznika opis
Service Fabric Actor, metoda Wywołania/s Liczba wywołań metody usługi aktora na sekundę
Service Fabric Actor, metoda Średnia liczba milisekund na wywołanie Czas potrzebny na wykonanie metody usługi aktora w milisekundach
Service Fabric Actor, metoda Wyjątki zgłaszane/s Liczba przypadków, gdy metoda usługi aktora zgłosiła wyjątek na sekundę

Zdarzenia współbieżności i liczniki wydajności

Środowisko uruchomieniowe Reliable Actors emituje następujące zdarzenia związane z współbieżnością.

Nazwa zdarzenia Identyfikator zdarzenia Poziom Słowo kluczowe opis
AktorMethodCallsWaitingForLock 12 Pełne informacje 0x8 To wydarzenie jest napisane na początku każdego nowego kolei w aktorze. Zawiera on liczbę oczekujących wywołań aktorów oczekujących na uzyskanie blokady dla poszczególnych aktorów, która wymusza współbieżność opartą na kolei.

Środowisko uruchomieniowe Reliable Actors publikuje następujące liczniki wydajności związane z współbieżnością.

Nazwa kategorii Nazwa licznika opis
Aktor usługi Service Fabric Liczba wywołań aktora oczekujących na blokadę aktora Liczba oczekujących wywołań aktora oczekujących na uzyskanie blokady dla poszczególnych aktorów, która wymusza współbieżność opartą na kolei
Aktor usługi Service Fabric Średnie milisekundy na oczekiwanie na blokadę Czas potrzebny (w milisekundach) na uzyskanie blokady dla poszczególnych aktorów, która wymusza współbieżność opartą na kolei
Aktor usługi Service Fabric Blokada aktora średniej milisekund Czas (w milisekundach), dla którego odbywa się blokada dla poszczególnych aktorów

Zdarzenia zarządzania stanem aktora i liczniki wydajności

Środowisko uruchomieniowe Reliable Actors emituje następujące zdarzenia związane z zarządzaniem stanem aktora.

Nazwa zdarzenia Identyfikator zdarzenia Poziom Słowo kluczowe opis
ActorSaveStateStart 10 Pełne informacje 0x4 Środowisko uruchomieniowe aktorów ma na celu zapisanie stanu aktora.
ActorSaveStateStop 11 Pełne informacje 0x4 Środowisko uruchomieniowe aktorów zakończyło zapisywanie stanu aktora.

Środowisko uruchomieniowe Reliable Actors publikuje następujące liczniki wydajności związane z zarządzaniem stanem aktora.

Nazwa kategorii Nazwa licznika opis
Aktor usługi Service Fabric Średnia liczba milisekund na operację zapisu stanu Czas potrzebny na zapisanie stanu aktora w milisekundach
Aktor usługi Service Fabric Średnia liczba milisekund na operację stanu obciążenia Czas potrzebny na załadowanie stanu aktora w milisekundach

Środowisko uruchomieniowe Reliable Actors emituje następujące zdarzenia związane z replikami aktorów.

Nazwa zdarzenia Identyfikator zdarzenia Poziom Słowo kluczowe opis
ReplicaChangeRoleToPrimary 1 Informacyjny 0x1 Replika aktora zmieniła rolę na Podstawowa. Oznacza to, że aktorzy dla tej partycji zostaną utworzone wewnątrz tej repliki.
ReplicaChangeRoleFromPrimary 2 Informacyjny 0x1 Replika aktora zmieniła rolę na inną niż Podstawowa. Oznacza to, że aktorzy dla tej partycji nie będą już tworzone wewnątrz tej repliki. Żadne nowe żądania nie zostaną dostarczone do aktorów utworzonych już w tej repliki. Aktorzy zostaną zniszczone po zakończeniu żądań w toku.

Zdarzenia aktywacji i dezaktywacji aktora oraz liczniki wydajności

Środowisko uruchomieniowe Reliable Actors emituje następujące zdarzenia związane z aktywacją i dezaktywacją aktora.

Nazwa zdarzenia Identyfikator zdarzenia Poziom Słowo kluczowe opis
AktorAktywny 5 Informacyjny 0x1 Aktor został aktywowany.
AktorDeaktywowany 6 Informacyjny 0x1 Aktor został zdezaktywowany.

Środowisko uruchomieniowe Reliable Actors publikuje następujące liczniki wydajności związane z aktywacją aktora i dezaktywacją.

Nazwa kategorii Nazwa licznika opis
Aktor usługi Service Fabric Średnia liczba milisekund onActivateAsync Czas potrzebny na wykonanie metody OnActivateAsync w milisekundach

Liczniki wydajności przetwarzania żądań aktorów

Gdy klient wywołuje metodę za pośrednictwem obiektu proxy aktora, powoduje wysłanie komunikatu żądania za pośrednictwem sieci do usługi aktora. Usługa przetwarza komunikat żądania i wysyła odpowiedź z powrotem do klienta. Środowisko uruchomieniowe Reliable Actors publikuje następujące liczniki wydajności związane z przetwarzaniem żądań aktora.

Nazwa kategorii Nazwa licznika opis
Aktor usługi Service Fabric Liczba zaległych żądań Liczba żądań przetwarzanych w usłudze
Aktor usługi Service Fabric Średnia liczba milisekund na żądanie Czas (w milisekundach) przez usługę w celu przetworzenia żądania
Aktor usługi Service Fabric Średnie milisekundy deserializacji żądań Czas potrzebny (w milisekundach) na deserializowanie komunikatu żądania aktora po odebraniu go w usłudze
Aktor usługi Service Fabric Średnie milisekundy serializacji odpowiedzi Czas potrzebny (w milisekundach) na serializowanie komunikatu odpowiedzi aktora w usłudze przed wysłaniem odpowiedzi do klienta

Następne kroki