trafficserver-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject [trafficserver] branch master updated: Update -with-profile and add some profiling documentation (#7601)
Date Tue, 30 Mar 2021 15:20:36 GMT
This is an automated email from the ASF dual-hosted git repository.

shinrich pushed a commit to branch master
in repository

The following commit(s) were added to refs/heads/master by this push:
     new 4f62b62  Update -with-profile and add some profiling documentation (#7601)
4f62b62 is described below

commit 4f62b623b8434856093dac8aff138e9bbbe58a25
Author: Susan Hinrichs <>
AuthorDate: Tue Mar 30 10:20:25 2021 -0500

    Update -with-profile and add some profiling documentation (#7601)
---                                   |  2 +-
 doc/developer-guide/debugging/profiling.en.rst | 33 ++++++++++++++++++++++++++
 2 files changed, 34 insertions(+), 1 deletion(-)

diff --git a/ b/
index 39264d6..60a84fd 100644
--- a/
+++ b/
@@ -1993,7 +1993,7 @@ if test "x${ac_cv_member_struct_tcp_info_tcpi_data_segs_out}" = "xyes";
 if test "x${with_profiler}" = "xyes"; then
-AC_CHECK_HEADERS([google/profiler.h \
+AC_CHECK_HEADERS([gperftools/profiler.h \
                   ], [], [])
diff --git a/doc/developer-guide/debugging/profiling.en.rst b/doc/developer-guide/debugging/profiling.en.rst
index e2073cf..4edc9ec 100644
--- a/doc/developer-guide/debugging/profiling.en.rst
+++ b/doc/developer-guide/debugging/profiling.en.rst
@@ -22,3 +22,36 @@
+There are two main options for performance profiling: perf and gperf.
+The perf top option is useful to quickly identify functions that are taking a larger than
+portion of the execution time.::
+  sudo perf top -p `pidof traffic_server`
+For more details use the record subcommand to gather profiling data on the traffic_server
process.  Using
+the -g option will gather call stack information.  Compiling with -ggdb and -fno-omit-frame-pointer
+will make it more likely that perf record will gather complete callstacks.::
+  sudo perf record -g -p `pidof traffic_server`
+After gathering profilng data with perf record, use perf report to display the call stacks
with their corresponding
+contribution to total execution time.::
+  sudo perf report
+Gperftools also provides libraries to statistically sample the callstacks of a process. 
The --with-profile=yes option for configure will
+link with the gperftools profiling library and add profile stop and profile dump function
calls at the beginning and end of the traffic_server
+main function.  The profilng data will be dumped in /tmp/
+Once the profiling data file is present, you can use the pprof tool to generate a pdf callgraph
of the data to see which
+call stacks contribute most to the execution time.::
+  pprof --pdf /opt/trafficserver/9.0/bin/traffic_server > prof.pdf

View raw message