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.
Bit | 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 Actor
nazwy 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 Method
nazwy 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 |
Zdarzenia związane z replikami aktorów
Ś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 |