Help-Site Computer Manuals
Software
Hardware
Programming
Networking
  Algorithms & Data Structures   Programming Languages   Revision Control
  Protocols
  Cameras   Computers   Displays   Keyboards & Mice   Motherboards   Networking   Printers & Scanners   Storage
  Windows   Linux & Unix   Mac

/var/sites/help-site.com/auto/tmp/CPAN/17543/Benchmark-Harness-1.12/Harness/Trace.pm

/var/sites/help-site.com/auto/tmp/CPAN/17543/Benchmark-Harness-1.12/Harness/Trace.pm


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

  1. MSWin32
  2. Approximately 0.7 millisecond per trace.

  3. Linux

Available

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

  1. MSWin32
  2. 
      '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'
  3. Linux

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.

Programminig
Wy
Wy
yW
Wy
Programming
Wy
Wy
Wy
Wy