Blog

notes and ramblings

ToolPurposePros and cons
Perfomance monitorPerfomance counters viewer.
Records and visualize perfomance counter data
+ easy to use
+ low overhead
– may be sometimes misleading
Windows Perfomance ToolkitRecord and visually ETW data. Focused mainly on
Windows/drivers analysis.
+ very powerful
+ low overhead possible
– steep learning curve
PerfviewRecord and analyze ETW data with the help of predefined views. Fucused mainly on .NET related analysis.+ very powerful for .NET
+ low overhead possible
– steep learning curve
ProcDump, DebugDiagTaking memory dump of a process.Either ad hoc or based on various metrics.
WinDbgDebugging both managed and native code. With the help of powerful extensions provides extensive analysis possibilities.
dnSpyEditing and debugging .NET assemblies even if source is not available
BenchmarkDotNetBenchmarking library allowing us to benchmark .NET code with respect execution time and resource utilization.
Visual StudioWell-know, general purpose IDE. Includes debugging, profiling, and memory dump analysis capabilities
Scitech .NET Memory ProfilerTools dedicated to .NET memory analysis
JetBrains DotMemory
RedGate ANTS Memory Profiler
Intel VTune Amplifier and AMD CodeAnalyst Perfomance AnalyzerHardware-level profiling of both native and managed code, including insight into cache utilization, CPU pipeline utilization, and much more.
Dynatrace & AppdynamicsContinuous monitoring tools including collecting ,NET related data (depends on the tools)