Sdílet prostřednictvím


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á RelatedActivityIdhodnotu , v takovém případě tato vlastnost vrátí Guid.Empty.