[bootlin/training-materials updates] master: debugging: rework profiling/tracing information (8b69207c)

Clément Léger clement.leger at bootlin.com
Tue Nov 15 18:17:12 CET 2022


Repository : https://github.com/bootlin/training-materials
On branch  : master
Link       : https://github.com/bootlin/training-materials/commit/8b69207c0a1cb39e5eeb089f2ece31e8470b6c95

>---------------------------------------------------------------

commit 8b69207c0a1cb39e5eeb089f2ece31e8470b6c95
Author: Clément Léger <clement.leger at bootlin.com>
Date:   Tue Nov 15 16:08:02 2022 +0100

    debugging: rework profiling/tracing information
    
    Signed-off-by: Clément Léger <clement.leger at bootlin.com>


>---------------------------------------------------------------

8b69207c0a1cb39e5eeb089f2ece31e8470b6c95
 slides/debugging-principles/debugging-principles.tex | 19 ++++++++++++-------
 1 file changed, 12 insertions(+), 7 deletions(-)

diff --git a/slides/debugging-principles/debugging-principles.tex b/slides/debugging-principles/debugging-principles.tex
index 7d7ccd25..f919de26 100644
--- a/slides/debugging-principles/debugging-principles.tex
+++ b/slides/debugging-principles/debugging-principles.tex
@@ -44,14 +44,12 @@
   \frametitle{Profiling}
   \begin{itemize}
     \item Analysis at program runtime to assist performance optimizations
-    \item Often achieved by instrumenting programs manually or using tools
-    \begin{itemize}
-      \item Statically at source code level before compilation
-      \item Dynamically using binary patching and other techniques
-    \end{itemize}
+    \item Often achieved by sampling counters during execution
     \item Uses specific tools, libraries and operating system features to
           measure performances.
+    \begin{itemize}
       \item Using {\em perf}, {\em OProfile} for instance.
+    \end{itemize}
     \item First step consist in gathering data from program execution
     \begin{itemize}
       \item Function call count, memory usage, CPU load, cache miss, etc
@@ -66,6 +64,7 @@
   \begin{itemize}
     \item Following the execution flow of an application to understand the
           bottlenecks and problems.
+    \item Achieved by instrumenting code either at compile time or runtime.
     \begin{itemize}
       \item Can be done using specific tracers such as {\em LTTng},
             {\em trace-cmd}, {\em SystemTap} etc
@@ -74,7 +73,13 @@
     \item Allows to identify functions and values that are used while
           application executes
     \item Often works by recording traces during runtime and then visualizing
-          data
-    \item Also used for debugging purpose
+          data.
+    \begin{itemize}
+      \item Implies a large amount of recorded data since the complete execution
+            trace is recorded
+      \item often bigger overhead than profiling.
+    \end{itemize}
+    \item Can also be used for debugging purpose since data can be extracted
+          with tracepoints.
   \end{itemize}
 \end{frame}




More information about the training-materials-updates mailing list