From ETW to EventPipe
summary
Performance counters disappear on .NET Core, so the talk shows replacing them with CLR events captured via ETW on Windows and EventPipe cross‑platform; demos collect 10 and 5 thrown exceptions with PerfView, then use dotnet‑trace to produce .nettrace files. TraceEvent NuGet parses payloads; sample profiler suspends threads every millisecond (expensive). Examples show computing contention and GC pause durations from paired timestamps, GC allocation tick fires every 100KB, and custom counters (via dotnet‑counters or TraceEvent NuGet) and an in‑proc EventListener work — used at Criteo on tens of thousands of servers.
AI-written summary · about
chapters (11)
- 0:00Introduction to monitoring
- 7:11Why ETW for .NET
- 11:09Demo with PerfView
- 14:59Writing custom tools
- 25:42Transition to .NET Core
- 29:38Introducing dotnet-trace
- 35:20Visual Studio integration
- 43:12dotnet-counters explained
- 48:30Creating custom counters
- 54:15ASP.NET Core middleware demo
- 59:21Q&A session
related talks
58mETW - Monitor Anything, Anytime, Anywhere
01h 02mWriting high performance code in .NET
46mETW in the Service of the .NET Developer
50mDiagnostic techniques for .NET running on Linux and within containers
01h 00mBuilding your own profiling and diagnosis tools with Event Tracing for Windows
55mPower your .NET application with the new generation of diagnostics
43mSelf-Aware Applications: Automatic Production Monitoring
59mDebugging and Profiling .NET Core Apps on Linux
