
\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 = BSD
\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}\hypertarget{md_src_plugins_tracer_README_src_plugins_tracer_README_md}{}\doxysection{Introduction}\label{md_src_plugins_tracer_README_src_plugins_tracer_README_md}
This plugin is added on every possible position within a backend. It allows you to trace when the backend is executed.\hypertarget{md_src_plugins_tracer_README_autotoc_md572}{}\doxysection{Installation}\label{md_src_plugins_tracer_README_autotoc_md572}
See \mbox{\hyperlink{doc_INSTALL_md}{installation}}. The package is called {\ttfamily libelektra5-\/extra}.\hypertarget{md_src_plugins_tracer_README_autotoc_md573}{}\doxysection{Usage}\label{md_src_plugins_tracer_README_autotoc_md573}
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.\hypertarget{md_src_plugins_tracer_README_autotoc_md574}{}\doxysection{Module Loading}\label{md_src_plugins_tracer_README_autotoc_md574}
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}
 