System.Diagnostics.Tracing.EventWrittenEventArgs – třída
Tento článek obsahuje doplňující poznámky k referenční dokumentaci pro toto rozhraní API.
Třída EventWrittenEventArgs poskytuje data pro OnEventWritten zpětné volání.
Při každém odeslání události do objektu EventListenerje EventListener.OnEventWritten vyvolána metoda zpětného volání. Předá EventWrittenEventArgs
se instanci, která obsahuje informace přidružené k události. Všechny hodnoty EventWrittenEventArgs
vlastností třídy jsou platné pouze během zpětného volání.
Následující části obsahují další informace o jednotlivých EventWrittenEventArgs
vlastnostech.
Vlastnost ActivityId
Při použití System.Activities.Activity a jeho odvozené třídy mohou být vlákna označena jako aktivita přidružena k nim. Vlastnost ActivityId
vrátí ID aktivity vlákna, které protokolovala událost. Všimněte si, že vlákna nemusí mít aktivitu, v takovém případě tato vlastnost vrátí Guid.Empty.
Vlastnosti OSThreadId a TimeStamp
Od verze .NET Core 2.2 EventListener se objekty můžou přihlásit k odběru nativních událostí modulu runtime (například událostí GC, JIT a threadpool) kromě událostí generovaných EventSource objekty. V předchozích verzích .NET Core a všech verzích rozhraní .NET Framework je možné z prostředí shromáždit ID vlákna a časové razítko, protože se odesílají synchronně ve stejném vlákně, které je vygeneruje. Ne všechny nativní události modulu runtime je však možné odeslat synchronně. Některé události, například události GC, se vygenerují při pozastavení spouštění spravovaného vlákna. Tyto události se ukládají do vyrovnávací paměti v nativním kódu a po opětovném spuštění spravovaného kódu se odesílají vláknem dispečera. Vzhledem k tomu, že se tyto události ukládají do vyrovnávací paměti, nelze prostředí použít ke spolehlivému načtení ID vlákna a časového razítka. Z tohoto důvodu jsou od verze .NET Core 2.2 k dispozici informace o ID vlákna a časovém razítku EventWrittenEventArgs
jako členové třídy.
RelatedActivityId – vlastnost
Související aktivita je aktivita, která se silně vztahuje k aktuální aktivitě. Obvykle se jedná o aktivitu, která způsobila aktuální aktivitu (události s Start
opcode obvykle to dělají) nebo aktivitu vytvořenou aktuální aktivitou (události s Send
opcode obvykle to dělají). Při použití RelatedActivityID
se explicitně předá metoda, která provádí protokolování. Mnoho událostí nepředává RelatedActivityId
hodnotu , v takovém případě tato vlastnost vrátí Guid.Empty.