---
name: "dappprof"
section: "1m"
platform: "macos"
package: "dtrace"
version: "413"
release: "macOS 26.5"
platforms: ["macos"]
url: "https://new.carta.tech/dappprof"
---

# dappprof(1m)

profile user and lib function usage. Uses DTrace.

## NAME

dappprof - profile user and lib function usage. Uses DTrace.

## SYNOPSIS

**dappprof** \[-acehoTU\] \[-u lib\] { -p PID \| command }

## DESCRIPTION

dappprof prints details on user and library call times for processes as a summary style aggragation. By default the user fuctions are traced, options can be used to trace library activity. Output can include function counts, elapsed times and on cpu times.

The elapsed times are interesting, to help identify functions that take some time to complete (during which the process may have slept). CPU time helps us identify syscalls that are consuming CPU cycles to run.

Since this uses DTrace, only users with root privileges can run this command.

## OPTIONS

- \-a

  print all data

- \-c

  print function counts

- \-e

  print elapsed times, ns

- \-o

  print CPU times, ns

- \-T

  print totals

- \-p PID

  examine this PID

- \-u lib

  trace this library instead

- \-U

  trace all library and user functions

## EXAMPLES

- run and examine the "df -h" command,

  \#  **dappprof** df -h

- print elapsed times, on-cpu times and counts for "df -h",

  \# **dappprof** -ceo df -h

- print elapsed times for PID 1871,

  \#  **dappprof** -p 1871

- print all data for PID 1871,

  \# **dappprof** -ap 1871

## FIELDS

- CALL

  Function call name

- ELAPSED

  Total elapsed time, nanoseconds

- CPU

  Total on-cpu time, nanoseconds

- COUNT

  Number of occurrences

## DOCUMENTATION

See the DTraceToolkit for further documentation under the  Docs directory. The DTraceToolkit docs may include full worked examples with verbose descriptions explaining the output.

## EXIT

dappprof will sample until Ctrl-C is hit.

## AUTHOR

Brendan Gregg \[Sydney, Australia\]

## SEE ALSO

dapptrace(1M), dtrace(1M), apptrace(1)
