In an old post I discussed using the Microsoft Chart Controls to generate some professional looking charts from PowerShell. These are great if you want to use the charts in a formal report or presentation, but what if all you want is a basic bar chart to help you quickly compare some values in a table?
For example, here is a table that compares the working set values for some processes:
Name Working Set Chart ---- ----------- ----- svchost 133.19 XXXXXXXXXXXXXXXXXXXX powershell_ise 112.82 XXXXXXXXXXXXXXXXX sqlservr 78.07 XXXXXXXXXXXX MsMpEng 74.93 XXXXXXXXXXX svchost 68.20 XXXXXXXXXX explorer 57.93 XXXXXXXXX svchost 55.70 XXXXXXXX CcmExec 41.02 XXXXXX dwm 35.68 XXXXX SearchIndexer 30.46 XXXXX msitcertsvc 25.86 XXXX DcaTray 25.77 XXXX svchost 25.27 XXXX svchost 23.95 XXXX
The ‘chart’ is constructed in such a way that the number of Xs for each entry is relative to the maximum value for the target property. So, here I have chosen a value of 20 Xs for the top svchost process which has a WS of 133. This means, for example, that explorer with a WS of 58 will have 9 Xs:
20/9 ≈ 133/58
Thus, the general formula is:
Number of Xs = [(Maximum Xs) * (Current Property Value)] / (Maximum Property Value)
Obviously there is some slight discrepancy since we can’t show fractions of an X. The choice of 20 as the maximum is arbitrary (though constrained by the display width) - you can try a different number to see what looks good, or, indeed use a character other than an X.
Your task is …
Generate a similar table for event log entries on the local system as follows: Only consider ‘error’ and ‘warning’ events from the ‘System’ log Group events by source Create a table with these columns: event source, number of events, chart. Sort the table by ‘number of events’
Generate a similar table for event log entries on the local system as follows:
This should provide a useful table showing the event source generating the greatest number of errors, but it could be enhanced to be even more useful, so once you have the technique, extend the table in these two ways:
If you’re in need of a hint, click here.