DBIPROF(1) User Contributed Perl Documentation DBIPROF(1)

# [NAME](#NAME)

dbiprof - command-line client for DBI::ProfileData

# [SYNOPSIS](#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](#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](#OPTIONS)

This program accepts the following options:

[--number N](#number)

Produce this many items in the report. Defaults to 10. If set to "all" then all results are shown.

[--sort field](#sort)

Sort results by the given field. Sorting by multiple fields isn't currently supported (patches welcome). The available sort fields are:

[total](#total)

Sorts by total time run time across all runs. This is the default sort.

[longest](#longest)

Sorts by the longest single run.

[count](#count)

Sorts by total number of runs.

[first](#first)

Sorts by the time taken in the first run.

[shortest](#shortest)

Sorts by the shortest single run.

[key1](#key1)

Sorts by the value of the first element in the Path, which should be numeric. You can also sort by "key2" and "key3".

[--reverse](#reverse)

Reverses the selected sort. For example, to see a report of the shortest overall time:

```
  dbiprof --sort total --reverse
    
```

[--match keyN=value](#match)

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](#exclude)

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](#case)

Using this option causes --match and --exclude to work case-sensitively. Defaults to off.

[--delete](#delete)

Sets the "DeleteFiles" option to DBI::ProfileData which causes the files to be deleted after reading. See DBI::ProfileData for more details.

[--dumpnodes](#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](#version)

Print the dbiprof version number and exit.

# [AUTHOR](#AUTHOR)

Sam Tregar &lt;sam@tregar.com&gt;

# [COPYRIGHT AND LICENSE](#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.

# [SEE ALSO](#SEE_ALSO)

DBI::ProfileDumper, DBI::Profile, DBI.

2026-10-25 perl v5.44.0

---

Document: dbiprof(1) from perl-dbi 1.656-r1 (Chainguard OS)
Source: https://github.com/perl5-dbi/dbi
