doc: add -llttng-ust-common to linking cmd in manpages
[lttng-ust.git] / doc / man / tracef-tracelog-limitations.txt
CommitLineData
45efc5a3
PP
1The +{macro-name}()+ and +v{macro-name}()+ utility macros were
2developed to make user space tracing super simple, albeit with notable
3disadvantages compared to custom, full-fledged tracepoint providers:
4ddbd0b7
PP
4
5 * All generated events have the same provider/event names.
6 * There's no static type checking.
7 * The only event field with user data you actually get, named `msg`,
8 is a string potentially containing the values you passed to the
9 macro using your own format. This also means that you cannot use
10 filtering using a custom expression at run time because there are no
11 isolated fields.
45efc5a3
PP
12 * Since +{macro-name}()+ and +v{macro-name}()+ use C standard
13 library's man:vasprintf(3) function in the background to format the
14 strings at run time, their expected performance is lower than using
15 custom tracepoint providers with typed fields, which do not require
16 a conversion to a string.
4ddbd0b7 17 * Generally, a string containing the textual representation of the
45efc5a3
PP
18 user data fields is not as compact as binary fields in the resulting
19 trace.
4ddbd0b7 20
45efc5a3
PP
21Thus, +{macro-name}()+/+v{macro-name}()+ are useful for quick
22prototyping and debugging, but should not be considered for any
23permanent/serious application instrumentation.
4ddbd0b7 24
45efc5a3
PP
25+v{macro-name}()+ does not have a `STAP_PROBEV()` call, because
26`STAP_PROBEV()` does not support `va_list`. If you need it, you should
27emit this call yourself.
cfd56ee1 28
4ddbd0b7 29See man:lttng-ust(3) to learn more about custom tracepoint providers.
This page took 0.030256 seconds and 4 git commands to generate.