System Metrics: Collecting the Gotchas
summary
The talk explains how to collect system metrics (memory usage, CPU load, network usage, garbage collector activity) programmatically for sending to Graphite or application logs without harming application performance. It compares different metric types, shows common collection mistakes that hide performance problems, examines performance and pitfalls of .NET’s Process and PerformanceCounter classes, explains how Performance Counters work internally, and benchmarks various collection approaches to identify effective, efficient methods.
AI-written summary · about
chapters (15)
- 0:00Introduction
- 2:24Memory leak story
- 5:58Memory metrics in .NET
- 8:56Process class issues
- 15:49What are Performance Counters
- 20:46Collecting metrics via Performance Counters
- 28:16Performance Counters findings
- 33:20Memory metrics via Counters
- 40:08Windows localization issues
- 45:54Performance Counters summary
- 46:38ETW introduction
- 50:35ETW usage example
- 54:06ETW findings
- 54:51Linux monitoring
- 56:15Final summary
related talks
27mDefining and Using Key Metrics to Master Performance Measurements
44mWhy Do Clients Nitpick?
45mPoshMon - PowerShell Does Performance Counters
01h 03mThe performance loop—A practical guide to profiling and benchmarking
36mStatistical Methods and Tools for System Performance Analysis
47mMobile Performance: Decoding Metrics
39mProfiling and Benchmarking 101
48mPerformance in the .NET Runtime
