System.Diagnostics.Tracing.EventWrittenEventArgs, klasa

Ten artykuł zawiera dodatkowe uwagi dotyczące dokumentacji referencyjnej dla tego interfejsu API.

Klasa EventWrittenEventArgs udostępnia dane dla wywołania zwrotnego OnEventWritten .

Za każdym razem, gdy zdarzenie jest wysyłane do EventListenermetody , wywoływana EventListener.OnEventWritten jest metoda wywołania zwrotnego. Jest ono przekazywane EventWrittenEventArgs wystąpienie zawierające informacje skojarzone ze zdarzeniem. Wszystkie wartości EventWrittenEventArgs właściwości klasy są prawidłowe tylko podczas wywołania zwrotnego.

Poniższe sekcje zawierają dodatkowe informacje o poszczególnych EventWrittenEventArgs właściwościach.

Właściwość ActivityId

W przypadku używania System.Activities.Activity i jego klas pochodnych wątki mogą być oznaczone jako skojarzone z nimi działanie. Właściwość ActivityId zwraca identyfikator działania wątku, który zarejestrował zdarzenie. Należy pamiętać, że wątki nie muszą mieć działania, w takim przypadku ta właściwość zwraca wartość Guid.Empty.

Właściwości OSThreadId i TimeStamp

Począwszy od platformy .NET Core 2.2, EventListener obiekty mogą subskrybować natywne zdarzenia środowiska uruchomieniowego (takie jak zdarzenia GC, JIT i threadpool) oprócz zdarzeń emitowanych przez EventSource obiekty. W poprzednich wersjach platformy .NET Core i wszystkich wersji programu .NET Framework identyfikator wątku i znacznik czasu można zebrać ze środowiska, ponieważ są one wysyłane synchronicznie w tym samym wątku, który je emitował. Nie wszystkie natywne zdarzenia środowiska uruchomieniowego można jednak wysyłać synchronicznie. Niektóre zdarzenia, takie jak zdarzenia GC, są emitowane, gdy wykonywanie zarządzanego wątku jest zawieszone. Te zdarzenia są buforowane w kodzie natywnym i są wysyłane przez wątek dyspozytora, gdy zarządzany kod może zostać wykonany ponownie. Ponieważ te zdarzenia są buforowane, środowisko nie może być używane do niezawodnego pobierania identyfikatora wątku i znacznika czasu. W związku z tym, począwszy od platformy .NET Core 2.2, informacje o identyfikatorze wątku i znaczniku EventWrittenEventArgs czasu są dostępne jako elementy członkowskie klasy.

Właściwość RelatedActivityId

Powiązane działanie to działanie, które jest silnie powiązane z bieżącym działaniem. Zazwyczaj jest to działanie, które spowodowało bieżące działanie (zdarzenia z kodem opcode zwykle to robią) lub działanie, które zostało utworzone przez bieżący (zdarzenia z StartSend kodem opcode zwykle to robią). Gdy jest używany, RelatedActivityID parametr jest jawnie przekazywany przez metodę wykonującą rejestrowanie. Wiele zdarzeń nie przekazuje RelatedActivityIdobiektu , w tym przypadku ta właściwość zwraca wartość Guid.Empty.