Chapter 21. Creating a Profile
A profile is a tabular aggregation of a trace stream. It’s a lot of detail, summarized in a form that’s easy for a person to understand. To create a profile, your first step is to select the grouping key by which you want to aggregate. The aggregation is a mechanical process that I can illustrate with an example using a simple Microsoft Excel spreadsheet.
Imagine a tracing feature that records each execution of events called A, B, and C for a program that is important for you to look at. So then, every time your program executes an event, the event’s name and duration are written to a trace file. Of course, in real life, you’d want a timestamp and some other attributes for each line, but I’ll keep it simple for the example.
So, imagine that the resulting trace stream is stored in a spreadsheet, so that column A contains event names and column B contains durations, like this:
A |
B |
|
1 |
Event |
Duration |
2 |
C |
0.088 |
3 |
B |
0.096 |
4 |
A |
0.075 |
5 |
... |
... |
Let’s say that you want to group this trace stream by event name. You could use the following Excel functions to create a profile by event:
D |
E |
F |
G |
|
1 |
Event |
Duration |
Executions |
Mean dur/exec |
2 |
A |
=SUMIF(A:A,D2,B:B) |
=COUNTIF(A:A,D2) |
=E2/F2 |
3 |
B |
=SUMIF(A:A,D3,B:B) |
=COUNTIF(A:A,D3) |
=E3/F3 |
4 |
C |
=SUMIF(A:A,D4,B:B) |
=COUNTIF(A:A,D4) |
=E4/F4 |
5 |
Total |
=SUM(E2:E4) |
=SUM(F2:F4) |
=E5/F5 |
This is the kind of work that a profiler does for you. Of course, it’s trickier than this in real life, where profilers ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access