[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