NAME
dbiprof - command-line client for DBI::ProfileData
SYNOPSIS
See a report of the ten queries with the longest total runtime in the profile dump file prof1.out:
dbiprof prof1.out
See the top 10 most frequently run queries in the profile file dbi.prof (the default):
dbiprof --sort count
See the same report with 15 entries:
dbiprof --sort count --number 15
DESCRIPTION
This tool is a command-line client for the DBI::ProfileData. It allows you to analyze the profile data file produced by DBI::ProfileDumper and produce various useful reports.
OPTIONS
This program accepts the following options:
- --number N
-
Produce this many items in the report. Defaults to 10. If set to "all" then all results are shown.
- --sort field
-
Sort results by the given field. Sorting by multiple fields isn't currently supported (patches welcome). The available sort fields are:
- total
-
Sorts by total time run time across all runs. This is the default sort.
- longest
-
Sorts by the longest single run.
- count
-
Sorts by total number of runs.
- first
-
Sorts by the time taken in the first run.
- shortest
-
Sorts by the shortest single run.
- key1
-
Sorts by the value of the first element in the Path, which should be numeric. You can also sort by
key2
andkey3
.
- --reverse
-
Reverses the selected sort. For example, to see a report of the shortest overall time:
dbiprof --sort total --reverse
- --match keyN=value
-
Consider only items where the specified key matches the given value. Keys are numbered from 1. For example, let's say you used a DBI::Profile Path of:
[ DBIprofile_Statement, DBIprofile_Methodname ]
And called dbiprof as in:
dbiprof --match key2=execute
Your report would only show execute queries, leaving out prepares, fetches, etc.
If the value given starts and ends with slashes (
/
) then it will be treated as a regular expression. For example, to only include SELECT queries where key1 is the statement:dbiprof --match key1=/^SELECT/
By default the match expression is matched case-insensitively, but this can be changed with the --case-sensitive option.
- --exclude keyN=value
-
Remove items for where the specified key matches the given value. For example, to exclude all prepare entries where key2 is the method name:
dbiprof --exclude key2=prepare
Like
--match
, If the value given starts and ends with slashes (/
) then it will be treated as a regular expression. For example, to exclude UPDATE queries where key1 is the statement:dbiprof --match key1=/^UPDATE/
By default the exclude expression is matched case-insensitively, but this can be changed with the --case-sensitive option.
- --case-sensitive
-
Using this option causes --match and --exclude to work case-sensitively. Defaults to off.
- --delete
-
Sets the
DeleteFiles
option to DBI::ProfileData which causes the files to be deleted after reading. See DBI::ProfileData for more details. - --dumpnodes
-
Print the list of nodes in the form of a perl data structure. Use the
-sort
option if you want the list sorted. - --version
-
Print the dbiprof version number and exit.
AUTHOR
Sam Tregar <sam@tregar.com>
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.