Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Perfmon, PerfMonitor, and PerfView

A couple articles talk about ETW and "PerfMonitor.exe". The articles discuss the ability to launch profiling from the command prompt. For example:

PerfMonitor.exe runAnalyze MySlowApplication.exe

Somehow I had or have the impression that PerfMon.exe is the self-same tool. But when I try to use command line options with it, it doesn't work. So perhaps they are indeed two different tools? Or is one a newer version of the other (with or without command-line capabilities removed)?

Then there is the PerfView tool. I'm wondering if it is a newer version of either perfmonitor or perfmon? Or is it simply a tool unto-its-own? Finally, is there a breakdown of the features offered by these tools?

like image 498
Brent Arias Avatar asked Sep 27 '12 20:09

Brent Arias


1 Answers

Windows Performance Monitor(ing) (PerfMon) and ETW (PerfMonitor, PerfView work with ETW) are different. ETW works at kernel-level and has audit trail, whereas PerfMon works with counter objects at a higher level. For instance using ETW, it is possible to analyze service/application behavior even during system bootup and shutdown. ETW actually takes off from where PerfMon stops.

Tool wise,

PerfMonitor provides a mechanism for users to conrol the collection of ETW data by acting as an ETW Controller. It basically helps in collecting traces for Managed code, whereas other tools such as XPerf does it for unmanaged code

PerfView works on the other side, used to analyze the ETW trace logs, on various aspects.

PerfMon is designed as a horizontal screening tool that shows a broad view of the Memory/Disk/CPU/Network performance of the System/ Service or Application. It basically lets us do the following:

  • View data from multiple computers simultaneously.

  • See how changes you make affect the computer.

  • Change charts of current activity while viewing them.

  • Export Performance Monitor data to spreadsheets or database programs, or use it as raw input for C programs.

  • Trigger a program or procedure, or send notices when a threshold is
    exceeded.

  • Log data about various objects from different computers over time.
    You can use these log files to record typical resource use, monitor a problem, or help in capacity planning.

  • Combine selected sections of several log files into a long-term
    archive.

  • Report on current activity or trends over time.

  • Save different combinations of counter and option settings for quick starts and changes

Look at this for more info

like image 67
Lalman Avatar answered Nov 08 '22 16:11

Lalman