| : # : : : : : : .
| : : # : : : : : : : .
| : : # : : : : : : : : .
- | : : : # : : : : : : : : : .
+ | : : : # : : : : : : : : : ,
| @ : : : # : : : : : : : : : @
| : @ : : : # : : : : : : : : : @
| : : @ : : : # : : : : : : : : : @
<para>Some snapshots are <emphasis>detailed</emphasis>. Information about
where allocations happened are recorded for these snapshots, as we will see
shortly. Detailed snapshots are represented in the graph by bars consisting
-of '@' and '.' characters. The text at the bottom show that 3 detailed
+of '@' and ',' characters. The text at the bottom show that 3 detailed
snapshots were taken for this program (snapshots 9, 14 and 24). By default,
every 10th snapshot is detailed, although this can be changed via the
<computeroutput>--detailed-freq</computeroutput>option.</para>
true peak. See the description of the
<computeroutput>--peak-inaccuracy</computeroutput> option below for more
details.) The peak snapshot is represented in the graph by a bar consisting
-of '#' and '.' characters. The text at the bottom show that snapshot 14 was
+of '#' and ',' characters. The text at the bottom show that snapshot 14 was
the peak. Note that for tiny programs that never deallocate heap memory,
Massif will record a peak snapshot.</para>
<screen><![CDATA[
MB
3.952^ #.
- | .@#:
- | . .. :@@#:
+ | ,@#:
+ | , .. :@@#:
| @ :: :@@#:.
- | .@ :: :@@#::
- | . .@@@ :: :@@#:.
+ | ,@ :: :@@#::
+ | , .@@@ :: :@@#:.
| .@ :@@@ :: :@@#::
| : :@ :@@@ :: :@@#::
- | .: :@ :@@@ :: :@@#::
- | .:@: :@ :@@@ :: :@@#::.
+ | ,: :@ :@@@ :: :@@#::
+ | ,:@: :@ :@@@ :: :@@#::.
| @@:@: :@ :@@@ :: :@@#:::
- | ..: .:: . . .::@@:@: :@ :@@@ :: :@@#:::
+ | ,,: .:: . , .::@@:@: :@ :@@@ :: :@@#:::
| .:@@: .: ::: ::: @ :::@@:@: :@ :@@@ :: :@@#:::
- | .: ::@@: ::: ::::::: @ :::@@:@: :@ :@@@ :: :@@#:::
+ | ,: ::@@: ::: ::::::: @ :::@@:@: :@ :@@@ :: :@@#:::
| @: ::@@: ::: ::::::: @ :::@@:@: :@ :@@@ :: :@@#::.
| @: ::@@: ::: ::::::: @ :::@@:@: :@ :@@@ :: :@@#:::
- | . @: ::@@:: ::: ::::::: @ :::@@:@: :@ :@@@ :: :@@#:::
+ | , @: ::@@:: ::: ::::::: @ :::@@:@: :@ :@@@ :: :@@#:::
| ::@ @: ::@@:: ::: ::::::: @ :::@@:@: :@ :@@@ :: :@@#:::
- | . :::::@ @: ::@@:: ::: ::::::: @ :::@@:@: :@ :@@@ :: :@@#:::
+ | , :::::@ @: ::@@:: ::: ::::::: @ :::@@:@: :@ :@@@ :: :@@#:::
| ..@ :::::@ @: ::@@:: ::: ::::::: @ :::@@:@: :@ :@@@ :: :@@#:::
0 +----------------------------------------------------------------------->Mi
0 626.4
my $peak_full_char = '#';
my $detailed_full_char = '@';
my $normal_full_char = ':';
- my $half_char = '.';
+ my $peak_half_char = ',';
+ my $detailed_half_char = ',';
+ my $normal_half_char = '.';
# Work out how many bytes each row represents. If the peak size was 0,
# make it 1 so that the Y-axis covers a non-zero range of values.
if ($should_draw_column) {
# If it's detailed, mark the X-axis. Also choose the full-slot
# char.
- my $full_char;
+ my ($full_char, $half_char);
if ($i == $peak_num) {
$full_char = $peak_full_char;
+ $half_char = $peak_half_char;
} elsif ($is_detaileds[$i]) {
$full_char = $detailed_full_char;
+ $half_char = $detailed_half_char;
} else {
$full_char = $normal_full_char;
+ $half_char = $normal_half_char;
}
# Grow this snapshot bar from bottom to top.
for ($y = 1; $y <= $graph_y; $y++) {