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 callback.

Při každém odeslání události do EventListener je vyvolána metoda zpětného volání EventListener.OnEventWritten. Je předána instance EventWrittenEventArgs, 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ých tříd mohou být vlákna označena jako mající přidruženou aktivitu. 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 jsou ukládány do vyrovnávací paměti v nativním kódu a vláknem dispečera jsou odesílány, jakmile je opět možné spustit spravovaný kód. 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. Informace o ID vlákna a časovém razítku jsou z tohoto důvodu k dispozici od verze .NET Core 2.2 jako členové třídy EventWrittenEventArgs.

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