The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Benchmark::Harness::Trace

SYNOPSIS

A harness that records the time and sequence, and simple memory usage of your program, at entries and exits of functions in the target program.

See Benchmark::Harness, "Parameters", for instruction on how to configure a test harness, and use 'Trace' as your harness name.

REPORT

The report is an XML file with schema you can find in xsd/Trace.xsd, or at http://schemas.benchmark-harness.org/Trace.xsd

For example:

  <Trace see-Benchmark::Harness-for-attributes-here>
    <T _i="0" _m="E" u="0.234375" m="0" s="0.109375" t="1"/>
    <T _i="2" _m="E" u="0.234375" m="0" s="0.109375" t="1"/>
    <T _i="2" _m="X" u="0.234375" m="0" s="0.109375" t="1"/>
    <T _i="0" _m="X" u="0.234375" m="0" s="0.109375" t="1"/>
  </Trace>

The @_i attribute is described in Benchmark::Harness. It identifies the name of the function being traced.

@_m will be 'E' or 'X', for entry or exit from the function.

@u is the user memory use at that moment, in megabytes.

@m is virtual memory size, in megabytes.

@s is kernal memory size, in megabytes.

@t is time since the Harness started, in seconds.

IMPACT

    Approximately 0.7 millisecond per trace.

Available

    These process parameters are also available via this code, but are not transferred to the harness report.

      'Caption',
      'CommandLine',
      'CreationClassName',
      'CreationDate',
      'CSCreationClassName',
      'CSName',
      'Description',
      'ExecutablePath',
      'ExecutionState',
      'Handle',
      'HandleCount',
      'InstallDate',
      'KernelModeTime' => @s
      'MaximumWorkingSetSize',
      'MinimumWorkingSetSize',
      'Name',
      'OSCreationClassName',
      'OSName',
      'OtherOperationCount',
      'OtherTransferCount',
      'PageFaults',
      'PageFileUsage',
      'ParentProcessId',
      'PeakPageFileUsage',
      'PeakVirtualSize',
      'PeakWorkingSetSize',
      'Priority',
      'PrivatePageCount',
      'ProcessId',
      'QuotaNonPagedPoolUsage',
      'QuotaPagedPoolUsage',
      'QuotaPeakNonPagedPoolUsage',
      'QuotaPeakPagedPoolUsage',
      'ReadOperationCount',
      'ReadTransferCount',
      'SessionId',
      'Status',
      'TerminationDate',
      'ThreadCount',
      'UserModeTime' => @u
      'VirtualSize',
      'WindowsVersion',
      'WorkingSetSize' => @m
      'WriteOperationCount',
      'WriteTransferCount'

SEE ALSO

Benchmark::Harness

AUTHOR

Glenn Wood, <glennwood@cpan.org>

COPYRIGHT

Copyright (C) 2004 Glenn Wood. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

4 POD Errors

The following errors were encountered while parsing the POD:

Around line 118:

Unknown directive: =item1

Around line 122:

Unknown directive: =item1

Around line 132:

Unknown directive: =item1

Around line 180:

Unknown directive: =item1