Diagnostics. Tracing. TraceEvent
Event Tracing for Windows (ETW) is a powerful logging mechanism built into the Windows OS and is used extensively in Windows. You can also log ETW events yourself code using the System.Diagnostics.Tracing.EventSource class.
The TraceEvent library conains the classes needed to control ETW providers (including EventSources) and parse the events they emit.
The library includes
-- TraceEventSession which can enable ETW providers,
-- EtwTraceEventSource which lets you read the stream of ETW events, and
-- TraceLog which is is digested form of ETW events which include decoded stack traces associated with the events.
-- A Programmers Guide for using the classes above.
Also see the TraceEvent Samples NuGet package for example uses of this library.
See the version list below for details.
Requires NuGet 2.5 or higher.
Install-Package Microsoft.Diagnostics.Tracing.TraceEvent -Version 1.0.38
dotnet add package Microsoft.Diagnostics.Tracing.TraceEvent --version 1.0.38
<PackageReference Include="Microsoft.Diagnostics.Tracing.TraceEvent" Version="1.0.38" />
paket add Microsoft.Diagnostics.Tracing.TraceEvent --version 1.0.38
#r "nuget: Microsoft.Diagnostics.Tracing.TraceEvent, 1.0.38"
Version 1.0.38 - Fixes for self-describing event decoding. (Zack Newman)
Version 1.0.37 - Fixed problem with merging on Win10
Version 1.0.36 - Fixed issue decoding IPV6 fields in payloads.
Version 1.0.35 - DynamicTraceEventParser decodes SelfDescribing Events
- Added CaptureStateOnSetFileName functionality for multi-file traces,
- Added GetActiveSession() to test if a session exists (mostly for discoverability)
- Added UTCOffsetMinutes so you know the time zone where the data was collected
- Added support for two-level PDB symbol server layout.
Version 1.0.32 - Fix release notes
Version 1.0.31 - Fix bug in Merge operation introduced in 1.0.30
Version 1.0.30 - Added Support for bitfields/enums for OS registered providers (previously only for EventSources). Fixed timestamp issues with real time providers that run when daylight savings time occurs (TimeStampRelMSec works).
Version 1.0.29 - fixed bugs associated with parsing payloads with arrays using the EventSource self-describing format.
This package has no dependencies.
NuGet packages (27)
Showing the top 5 NuGet packages that depend on Microsoft.Diagnostics.Tracing.TraceEvent:
Powerful .NET library for benchmarking
Elastic APM .NET Agent base package. This package provides core functionality for transmitting of all Elastic APM types and is a dependent package for all other Elastic APM package. Additionally this package contains the public Agent API that allows you to manually capture transactions and spans. Please install the platform specific package for the best experience. See: https://github.com/elastic/apm-agent-dotnet/tree/master/docs
Powerful .NET library for benchmarking (Diagnostic Tools for Windows)
The embedded client API for Event Store. Get the open source or commercial versions of Event Store server from https://eventstore.com/
Application Insights EtwCollector allows sending data from Event Tracing for Windows (ETW) to Application Insights. Application Insights will collect your logs from multiple sources and provide rich powerful search capabilities. Privacy statement: https://go.microsoft.com/fwlink/?LinkId=512156.
GitHub repositories (53)
Showing the top 5 popular GitHub repositories that depend on Microsoft.Diagnostics.Tracing.TraceEvent:
Game network accelerator. Support Socks5, Shadowsocks, ShadowsocksR, Trojan, VMess, VLess proxies. UDP NAT FullCone
Powerful .NET library for benchmarking
.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
The stream database optimised for event sourcing
Tye is a tool that makes developing, testing, and deploying microservices and distributed applications easier. Project Tye includes a local orchestrator to make developing microservices easier and the ability to deploy microservices to Kubernetes with minimal configuration.