.TH "md_src_plugins_tracer_README" 3elektra "Sun May 29 2016" "Version 0.8.14" "Elektra" \" -*- nroff -*- .ad l .nh .SH NAME md_src_plugins_tracer_README \- README .IP "\(bu" 2 infos = Information about the tracer plugin is in keys below .IP "\(bu" 2 infos/author = Markus Raab elektra@libelektra.org .IP "\(bu" 2 infos/licence = BSD .IP "\(bu" 2 infos/needs = .IP "\(bu" 2 infos/provides = logging .IP "\(bu" 2 infos/placements = pregetstorage postgetstorage presetstorage precommit postcommit prerollback postrollback .IP "\(bu" 2 infos/description = Traces the execution path of a backend .PP .PP This plugin is added on every possible position within a backend\&. It allows you to trace when the backend is executed\&. .PP .SS "Usage" .PP If you want to trace how and if the backend is called: .PP .nf kdb mount file.ysp user/trace_point your_storage_plugin tracer .fi .PP .PP So now we can trace whats below your trace point\&. .PP .nf kdb ls user/trace_point .fi .PP .PP Ok, no tracer is called because resolver immediately told that there is no file\&. .PP .nf kdb get user/trace_point Did not find key .fi .PP .PP Ok, same conclusion\&. .PP .nf kdb set user/trace_point hello create a new key user/trace_point with string hello tracer: set(0xd34cc0, user/trace_point): user/trace_point 1 tracer: set(0xd34cc0, user/trace_point): user/trace_point 1 tracer: set(0xd34cc0, user/trace_point): user/trace_point 1 .fi .PP .PP Now the 3 placements in set are called\&. .PP .nf kdb get user/trace_point tracer: get(0x22e1cc0, user/trace_point): 0 tracer: get(0x22e1cc0, user/trace_point): 0 hello .fi .PP .PP Now the 2 placements in get are called\&.