Questions tagged [etw]

Event Tracing for Windows (ETW) is a high-speed tracing facility provided by the Windows Operating System which was first introduced in Windows 2000.

Event Tracing for Windows (ETW) is a general-purpose, high-speed tracing facility provided by the Windows operating system. Using a buffering and logging mechanism implemented in the kernel, ETW provides a tracing mechanism for events raised by both user-mode applications and kernel-mode device drivers.

Additionally, ETW gives you the ability to enable and disable logging dynamically, making it easy to perform detailed tracing in production environments without requiring reboots or application restarts. The logging mechanism uses per-processor buffers that are written to disk by an asynchronous writer thread. This allows large-scale server applications to write events with minimum disturbance.

ETW is the core tracing facility in Windows on top of which both the Event Log and WPP are built.

ETW was first introduced on Windows 2000. Since then, various core OS and server components have adopted ETW to instrument their activities, and it's now one of the key instrumentation technologies on Windows platforms.

On Windows Vista, ETW has gone through a major upgrade, and one of the most significant changes is the introduction of the unified event provider model and APIs. In short, the new unified APIs combine logging traces and writing to the Event Viewer into one consistent, easy-to-use mechanism for event providers. At the same time, several new features have been added to improve developer and end user experience.

445 questions
4
votes
1 answer

How to remotely register static ETW manifests as part of a website deployment?

I'm doing a pilot effort to use the new EventSource (Microsoft.Diagnostics.Tracing.EventSource from nuget) and its new support for ETW channels in order to write to the windows event log. The code is in place, and it writes properly to my…
bwerks
  • 8,651
  • 14
  • 68
  • 100
4
votes
1 answer

Windows ETL Trace File Format?

I have a written an ETW provider which is used by my system to log opaque blobs of binary data using the TraceEvent API function. My system is essentially a high throughput event processing system and I want to be able to (cheaply) capture the…
wocko
  • 166
  • 1
  • 5
4
votes
1 answer

Tracing to multiple ETW providers using WPP

I'm trying to use "Event Tracing for Windows" through WPP instumentation. Per documentation in Getting Started with Software Tracing in Windows Drivers it is possible to issue traces to multiple providers from a single driver, but I saw no example…
Uri Cohen
  • 3,488
  • 1
  • 29
  • 46
4
votes
1 answer

Windows File System Filter Driver

I am trying to create a small file system filter driver for testing/demonstrating how to track the impact that filter drivers have on I/O performance using ETW in Windows Server 2008 R2. I've downloaded the DDK and built a few of the samples, but I…
Jonathan Kehayias
  • 3,402
  • 1
  • 23
  • 23
3
votes
0 answers

Microsoft-Windows-Winsock-AFD events unavailable in Windows container

I'm trying to get socket connections data for analysis from the Microsoft-Windows-Winsock-AFD publisher on both Windows host machine and docker container. But it seems like that these events are unavailable on container environment whilst it's…
3
votes
0 answers

Can you detect a failed DLL load using ETW?

I'm trying to use ETW to detect failed library loads. In ProcMon, I'd set a filter for the CreateFile operation, set the path to end with .dll and the result to "NAME NOT FOUND". This captures an applications attempt to access a DLL which doesn't…
Jay
  • 2,077
  • 5
  • 24
  • 39
3
votes
4 answers

Can you suggest some good ETW readers?

I'm currently using Microsoft Network Monitor to parse thru debug event traces. It is not a bad tool, but not very good either. Do you know some better solutions?
Beetle
  • 179
  • 3
  • 10
3
votes
1 answer

Ellipsis and va_args trick needed

TraceMessage is an WinAPI function with variable number of arguments. It is a tracing function, with a notation similar to printf, which generates a trace message in Windows tracing. The weird part here is that it receive a format string as part of…
Uri Cohen
  • 3,488
  • 1
  • 29
  • 46
3
votes
1 answer

Tracing windows API calls

I am currently working on a tool in .NET/Python that monitors certain events on a system, like writing specific registry keys or creating files with a special name. I evaluated many possibilities, and as I don't have to care about WinXP support, I…
leoluk
  • 12,561
  • 6
  • 44
  • 51
3
votes
1 answer

Uninstall event source (ETW) without manifest file?

What is the best way to uninstall / delete previously installed event sources without using manifest? For example. If I have something like: [EventSource(Name = "Corporation-Module-X")] public sealed class XEventSource : EventSource { …
Zeljko
  • 250
  • 1
  • 2
  • 12
3
votes
0 answers

Is it possible to view custom ETW events, raised in C# with EventSource, in PerfMon? in real-time?

I want to raise ETW events from inside a server application to monitor performance.I would like to consume these events in perfMon or a similar tool so as to view the events graphically. Is this possible? (perfView is not available in my work…
Ian Spratt
  • 261
  • 2
  • 5
3
votes
1 answer

Customize the event instrumentation manifest of a "base" project to match the needs of "derived" projects

I'm working on two different C++ DLL-projects that share most of their code. So, I have one base project that compiles to Base.lib and two "derived" projects that compile to Derived1.dll and Derived2.dll and link against Base.lib. Those derived DLLs…
sebrockm
  • 5,733
  • 2
  • 16
  • 39
3
votes
0 answers

parse ETW using C#

I'm trying to consume Event Trace for Windows(ETW) from provider "Active Directory Domain Services: Core"[1]. I've collect events successfully, event names are parse correctly, however most payload can not be parsed. By using the example code below,…
ling7334
  • 444
  • 3
  • 13
3
votes
2 answers

Get FileName from FileObject or FileKey in event trace ETW file log C#

I've been searching for a solution to get all Read/Write/Open/Close files by a specific process from an event trace (ETW) session (I will process data from a real-time session). I write this code and get all event in that operation but I can't get…
sa-es-ir
  • 3,722
  • 2
  • 13
  • 31
3
votes
2 answers

Windows User Mode Process Syscall Tracing With ETW

I have been told by a few people that ETW provides a mechanism by which to capture syscalls made by user mode processes. I have enumerated the available providers and have only come up with two possible that might provide this information. The first…
Chris
  • 83
  • 1
  • 3
  • 9