NAME
LogFile::Processor - Perl module for processing profiling data obtained from a run of an executable of the OpenOffice family.
SYNOPSIS
use LogFile::Processor;
# Obtain the profiling data via module LogFileParser. my $thread_data_list = ...
# Process the data set of each thread. my @data_table = (); foreach my $thread_data (@$thread_data_list) { # Calculate the length of time that each function/scope of the # profiled program has taken. calc_lengths ($thread_data);
# Transform into a data table that is writable to XML. push @data_table, create_simple_table ($thread_data);
# Create a list with time totals for every function/scope. push @data_table, create_total_list ($thread_data); }
# write @data_table to XML file via module XML_Writer.
DESCRIPTION
The functions in this package have the purpose to process the raw profiling data obtained from a run of an executable of the OpenOffice family.
calc_lengths
Compute for each start/end of scope pair of time stamps the time spend in that scope. The value is put into the start time stamp. Two arguments are expected:
create_simple_table
Create a simple table that basically just pretty-prints all the information of the given one-thread-list. It takes two required and an optional third argument:
$threadid
- The id of the thread.
$list
- The list of time stamps.
$show_ends
(optional)
- This flag indicates wether to show the function/scope exit times.
create_total_list
Create a list of all functions/scopes together with the total time they took to compute. This functions requires a prior call to calc_lengths.
$threadid
- The id of the thread.
$list
- The list of time stamps.