get a log file on system performance - windows

I need to monitor my computer's processor usage, RAM usage and disk usage in certain time period and get a log file or some text output with the details of above resource usage. I don't need any complex data but simply usage over time should be enough. I tried few tools including Windows OS's built in Performance Monitor but had no luck. I only need usage over time as a log file or some other simple text manner.
My OS is windows and I don't need to do this in any other OS.
Can anybody help me? Even point me in right direction would be also helpful.

You can create a Data Collector Set which will store the metrics of your choice into .blg file, the file can be opened with Windows Performance Monitor so you will be able to see the counters values in form of zoomable charts.
If you need the data to be in a text format, i.e. in CSV, you can use Relog program to convert it.
Alternative option which might be easier is using Servers Performance Monitoring plugin which is designed for using with Apache JMeter, this way you will be able to integrate Windows performance counters information with the performance test report. Moreover, it will work on any operating system supported by underlying SIGAR libraries. See How to Monitor Your Server Health & Performance During a JMeter Load Test article if interested.

Related

How to see if a disk is full in WPA or PerfView

I am using WPA and PerfView to capture traces to diagnose why an IIS server hanged.
We have reasons to believe that at the time one of the disk was completely full.
Is there a way to see in these tools (WPA, PerfView) how full the disks are?
We get a lot of useful and detailed information out of the tool but I fail to find just this simple metric.
Thank you!
The Windows Performance Analyzer shows the free Clusters from the Windows Kernel/SystemConfig/LogDisk Event in System Configuration/Storage:
To see it in Perfview, search for LogDisk Event:

JMeter shows more memory usage than Windows performance monitor

Hi I've been using JMeter PerfMon to get CPU and memory statistics. However In a previous test I decided to get help from admins and use the Windows Performance Monitor. I grabbed a sample for memory performance and it seems that PerfMon plugin tends to show an increased usage than the windows monitor:
The Windows Monitor shows a steady 50% average in the graph (and in the scv):
But the PerfMon plugin for Jmeter shows a 70% average:
The problem is that I don't know which results to report. I even double checked that I was targeting the right server, time range and measurement to avoid mistakes, but I don't know why each tool shows the results a bit different. The pattern is the same for other servers and indicators: higher average in Jmeter.
I'd rather use JMeter since its easier to have it setup in all of the servers and collect the results, but I don't know if those are more reliable than the ones from the windows performance monitor. In other examples around the web I saw Jmeter reports that go over 100%, so probably JMeter is already overreacting the results. Anyone knows if JMeter PerfMon are accurate enough to report it instead of the windows performance monitor? This could affect us if we set up a base line in which it could be breached in a JMeter report, but not in a Windows Monitor. Maybe someone out there compared the results of different tools.

windows performance recorder record specific process

Using the Windows Performance Recorder, is it possible to generate an ETL file based on the tracing of a single process? The ETL files generated for all of the processes in the system result in ETL files measured in GBs for intervals as small as a couple of minutes.
ETW (kernel event) tracing is system wide and captures all processes.
I don't think it is possible to record ETW traces that record just one process (at least not with xperf or wpr). If your traces are too big then the best tactic is to make sure that the rest of the system is as quiet as possible so that it doesn't contribute too much data.
If the rest of the system is already quiet then the traces are probably big because ETW traces tend to be big. You can use trace compression to make them smaller on disk - see UIforETW for how this works - https://randomascii.wordpress.com/2015/09/24/etw-central/.
If the rest of the system is not already quiet then yes, it probably is contributing to bloat in the traces. Note that it may also be affecting performance, so that data is not irrelevant.
And, if you really do need single-process profiling consider using a different profiler. The Visual Studio profiler does per-process profiling.

Performance Testing Tool That Can Produce a Graph

Is anybody know a good testing tool that can produce a graph containing the CPU cycle and RAM usage?
What I will do for ex. is I will run an application and while the application is running the testing tool will record CPU cycle and RAM Usage and it will make a graph as an output.
Basically what I'm trying to test is how much heavy load an application put on RAM and CPU.
Thanks in advance.
In case this is Windows the easiest way is probably Performance Monitor (perfmon.exe).
You can configure the counters you are interested in (Such as Processor Time/Commited Bytes/et) and create a Data Collector Set that measures these counters at the desired interval. There are even templates for basic System Performance Report or you can add counters for the particular process you are interested in.
You can schedule the time where you want to execute the sampling and you will be able to see the result using PerfMon or export to a file for further processing.
Video tutorial for the basics: http://www.youtube.com/watch?v=591kfPROYbs
Good Sample where it shows how to monitor SQL:
http://www.brentozar.com/archive/2006/12/dba-101-using-perfmon-for-sql-performance-tuning/
Loadrunner is the best I can think of ; but its very expensive too ! Depending on what you are trying to do, there might be cheaper alternatives.
Any tool which can either hook to the standard Windows or 'NIX system utilities can do this. This has been a defacto feature set on just about every commercial tool for the past 15 years (HP, IBM, Microfocus, etc). Some of the web only commercial tools (but not all) and the hosted services offer this as wekll. For the hosted services you will generally need to punch a hole through your firewall for them to get access to the hosts for monitoring purposes.
On the open source fron this is a totally mixed bag. Some have it, some don't. Some support one platform, but not others (i.e. support Windows, but not 'NIX or vice-versa).
What tools are you using? It is unfortunately common for people to have performance tools in use and not be aware of their existing toolset's monitoring capabilities.
All of the major commercial performance testing tools have this capability, as well as a fair number of the open source ones. The ability to integrate monitor data with response time data is key to the identification of bottlenecks in the system.
If you have a commercial tool and your staff is telling you that it cannot be done then what they are really telling you is that they don't know how to do this with the tool that you have.
It can be done using jmeter, once you install the agent in the target machine you just need to add the perfmon monitor to your test plan.
It will produce 2 result files, the pefmon file and the requests log.
You could also build a plot that compares the resource compsumtion to the load, and througput. The throughput stops increasing when some resource capacity is exceeded. As you can see in the image CPU time increases as the load increases.
JMeter perfmon plugin: http://jmeter-plugins.org/wiki/PerfMon/
I know this is an old thread but I was looking for the same thing today and as I did not found something that was simple to use and produced graphs I made this helper program for apachebench:
https://github.com/juanluisbaptiste/apachebench-graphs
It will run apachebench and plot the results and percentile files using gnuplot.
I hope it helps someone.

Are there better clients for viewing System Monitor logs?

Does anyone know of a better GUI client for displaying Windows System Monitor log files? (System Monitor is sometimes called Performance Monitor.) I'm trying to track a long-term memory leak in a C# application running on Windows XP or 2K3 by comparing memory usages to run logs.
Specifically I want a client that will allow me to see the following (because System Monitor is unable or difficult):
Specify exact date time ranges for viewing data (or at least finer granularity than hours)
Show time intervals along the horizontal axis
Show max, min, average for the time range
Somewhere show the interval on which source data was captured (1 sec, 5 min, etc.)
(If no such thing exists I'm willing to hear recommendations for better long term performance/memory capturing tools.)
Edit: I've done Google searches and haven't found anything except tutorials on how to create System Monitor logs.
See this question.
The PAL tool does a nice job of creating an HTML report with charts and graphs. By creating your own Threshold file you can control what goes into the report.
While I accepted Patrick Cuff's answer, for my needs I found a better way to graph the data: Excel
It still doesn't provide everything I need, but it is a marked improvement over the System Monitor GUI. I use the relog command line tool to convert the log into a CSV, and then import the CSV into Excel. Excel does not automatically handle the third one, but I can add new columns to graph, and it does allow me to have better control over which data I'm displaying.
One of the tricks that I have used in the past is to use performance/system monitor to log this data to a SQL database. SQL Expression can work great for this. Then you can generate reports using Reporting Services or for the more adventurous types you can do some cube analysis with Analysis Services. So while this does not solve the UI problem, it does allow you to make your own UI. When I had done this previously I just used a simple Reporting Services graph.
SCOM 2007 with reporting services actually does a pretty good job of this. If not the SQLh2 tool is almost as good and its free. You will probably have to customize the reports yourself though

Resources