
\begin{DoxyItemize}
\item infos = Information about the tracer plugin is in keys below
\item infos/author = Markus Raab \href{mailto:elektra@libelektra.org}{\texttt{ elektra@libelektra.\+org}}
\item infos/licence = B\+SD
\item infos/provides = tracing
\item infos/needs =
\item infos/placements = pregetstorage procgetstorage postgetstorage presetstorage precommit postcommit prerollback postrollback
\item infos/status = maintained tested nodep configurable global
\item infos/description = Traces the execution path of a backend
\end{DoxyItemize}

This plugin is added on every possible position within a backend. It allows you to trace when the backend is executed.

If you want to trace how and if the backend is called\+:


\begin{DoxyCode}{0}
\DoxyCodeLine{kdb mount file.ysp user/trace\_point your\_storage\_plugin tracer}
\end{DoxyCode}


So now we can trace whats below your trace point.


\begin{DoxyCode}{0}
\DoxyCodeLine{kdb ls user/trace\_point}
\end{DoxyCode}


Ok, no tracer is called because resolver immediately told that there is no file.


\begin{DoxyCode}{0}
\DoxyCodeLine{kdb get user/trace\_point}
\DoxyCodeLine{\#> Did not find key}
\end{DoxyCode}


Ok, same conclusion.


\begin{DoxyCode}{0}
\DoxyCodeLine{kdb set user/trace\_point hello}
\DoxyCodeLine{\#> create a new key user/trace\_point with string "hello"}
\DoxyCodeLine{\#> tracer: set(0xd34cc0, user/trace\_point): user/trace\_point 1}
\DoxyCodeLine{\#> tracer: set(0xd34cc0, user/trace\_point): user/trace\_point 1}
\DoxyCodeLine{\#> tracer: set(0xd34cc0, user/trace\_point): user/trace\_point 1}
\end{DoxyCode}


Now the 3 placements in set are called.


\begin{DoxyCode}{0}
\DoxyCodeLine{kdb get user/trace\_point}
\DoxyCodeLine{\#> tracer: get(0x22e1cc0, user/trace\_point): 0}
\DoxyCodeLine{\#> tracer: get(0x22e1cc0, user/trace\_point): 0}
\DoxyCodeLine{\#> hello}
\end{DoxyCode}


Now the 2 placements in get are called.

Will not log when loaded as module (config {\ttfamily /module} present), unless {\ttfamily /logmodule} is set\+:


\begin{DoxyCode}{0}
\DoxyCodeLine{kdb plugin-check -c "logmodule=" tracer}
\end{DoxyCode}
 