IceWalkers.com - Linux Software downloads and news
Name : Password :
Linux SoftwareLinux RPMLinux HowtosLink UsAboutAdvertise

DBI::ProfileData

 Perl Doc. Index   Quick jump:  
 

NAME

DBI::ProfileData - manipulate DBI::ProfileDumper data dumps

SYNOPSIS

The easiest way to use this module is through the dbiprof frontend (see dbiprof for details):

  dbiprof --number 15 --sort count

This module can also be used to roll your own profile analysis:

  # load data from dbi.prof
  $prof = DBI::ProfileData->new(File => "dbi.prof");
  # get a count of the records in the data set
  $count = $prof->count();
  # sort by longest overall time
  $prof->sort(field => "longest");
  # sort by longest overall time, least to greatest
  $prof->sort(field => "longest", reverse => 1);
  # exclude records with key2 eq 'disconnect'
  $prof->exclude(key2 => 'disconnect');
  # exclude records with key1 matching /^UPDATE/i
  $prof->exclude(key1 => qr/^UPDATE/i);
  # remove all records except those where key1 matches /^SELECT/i
  $prof->match(key1 => qr/^SELECT/i);
  # produce a formatted report with the given number of items
  $report = $prof->report(number => 10); 
  # clone the profile data set
  $clone = $prof->clone();
  # get access to hash of header values
  $header = $prof->header();
  # get access to sorted array of nodes
  $nodes = $prof->nodes();
  # format a single node in the same style as report()
  $text = $prof->format($nodes->[0]);
  # get access to Data hash in DBI::Profile format
  $Data = $prof->Data();
DESCRIPTION

This module offers the ability to read, manipulate and format DBI::ProfileDumper profile data.

Conceptually, a profile consists of a series of records, or nodes, each of each has a set of statistics and set of keys. Each record must have a unique set of keys, but there is no requirement that every record have the same number of keys.

METHODS

The following methods are supported by DBI::ProfileData objects.

$prof = DBI::ProfileData->new(File => "dbi.prof")
$prof = DBI::ProfileData->new(Files => [ "dbi.prof.1", "dbi.prof.2" ])

Creates a a new DBI::ProfileData object. Takes either a single file through the File option or a list of Files in an array ref. If multiple files are specified then the header data from the first file is used.

$copy = $prof->clone();

Clone a profile data set creating a new object.

$header = $prof->header();

Returns a reference to a hash of header values. These are the key value pairs included in the header section of the DBI::ProfileDumper data format. For example:

  $header = {
              Path    => '[ DBIprofile_Statement, DBIprofile_MethodName ]',
              Program => 't/42profile_data.t',
            };

Note that modifying this hash will modify the header data stored inside the profile object.

$nodes = $prof->nodes()

Returns a reference the sorted nodes array. Each element in the array is a single record in the data set. The first seven elements are the same as the elements provided by DBI::Profile. After that each key is in a separate element. For example:

 $nodes = [
            [
              2,                      # 0, count
              0.0312958955764771,     # 1, total duration
              0.000490069389343262,   # 2, first duration
              0.000176072120666504,   # 3, shortest duration
              0.00140702724456787,    # 4, longest duration
              1023115819.83019,       # 5, time of first event
              1023115819.86576,       # 6, time of last event
              'SELECT foo FROM bar'   # 7, key1
              'execute'               # 8, key2
                                      # 6+N, keyN
            ],
                                      # ...
          ];

Note that modifying this array will modify the node data stored inside the profile object.

$count = $prof->count()

Returns the number of items in the profile data set.

$prof->sort(field => "field")
$prof->sort(field => "field", reverse => 1)

Sorts data by the given field. Available fields are:

  longest
  total
  count
  shortest

The default sort is greatest to smallest, which is the opposite of the normal Perl meaning. This, however, matches the expected behavior of the dbiprof frontend.

$count = $prof->exclude(key2 => "disconnect")
$count = $prof->exclude(key2 => "disconnect", case_sensitive => 1)
$count = $prof->exclude(key1 => qr/^SELECT/i)

Removes records from the data set that match the given string or regular expression. This method modifies the data in a permanent fashion - use clone() first to maintain the original data after exclude(). Returns the number of nodes left in the profile data set.

$count = $prof->match(key2 => "disconnect")
$count = $prof->match(key2 => "disconnect", case_sensitive => 1)
$count = $prof->match(key1 => qr/^SELECT/i)

Removes records from the data set that do not match the given string or regular expression. This method modifies the data in a permanent fashion - use clone() first to maintain the original data after match(). Returns the number of nodes left in the profile data set.

$Data = $prof->Data()

Returns the same Data hash structure as seen in DBI::Profile. This structure is not sorted. The nodes() structure probably makes more sense for most analysis.

$text = $prof->format($nodes->[0])

Formats a single node into a human-readable block of text.

$text = $prof->report(number => 10)

Produces a report with the given number of items.

AUTHOR

Sam Tregar < >

COPYRIGHT AND LICENSE

Copyright (C) 2002 Sam Tregar

This program is free software; you can redistribute it and/or modify it under the same terms as Perl 5 itself.

 Perl Doc. Index   Quick jump:  
 
Inkscape 0.47
Vector graphic editor for SVG
DeleGate 9.9.6-pre5
Proxy server which runs on multiple platforms
Nano 2.1.99pre2
Emulate Pico while also offering a few enhancements.
My Money 2.0.49
Personal financial software
Linux Kernel 2.6 2.6.32-rc8
Linux Kernel
GCstar 1.5.0
Personal collections manager
ImageMagick 6.5.7.9
ImageMagick image processing studio
BibleTime 2.4
Bible study software for Linux / KDE
Tellico 2.1.1
Collection manager for books, music, videos, and bibliographies
Totem 2.28.4
Movie player for Gnome
Free IT Magazines, White Papers, eBooks, and more !
Oracle Magazine

Contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more.

Vulnerability Management for Dummies

Get all the Facts and See How to Implement a Successful Vulnerability Management Program.

Website Magazine

Has tapped premier talent in the Internet industry for our content and each and every issue will contain practical advice and insights for website owners.

Linux Software Map
Find Linux RPM
Best Rated Linux Software
Most Rated Linux Software
Linux Distributions
Linux Howtos
Quick Survey

Please take our survey and help us improve our website to serve you better.

Thank you.
Linux Software
Linux / IT Resources
Site Resources
Google
Privacy Policy
Contact Us
Submit Software
Advertising info