Introduce vtracef
[lttng-ust.git] / doc / man / tracef-tracelog-limitations.txt
1 The +{macro-name}()+ utility macro was developed to make user space
2 tracing super simple, albeit with notable disadvantages compared to
3 custom, full-fledged tracepoint providers:
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.
12 * Since +{macro-name}()+ uses C standard library's man:vasprintf(3)
13 function in the background to format the strings at run time, its
14 expected performance is lower than using custom tracepoint providers
15 with typed fields, which do not require a conversion to a string.
16 * Generally, a string containing the textual representation of the
17 user data fields is not as compact as binary fields in the
18 resulting trace.
19
20 Thus, +{macro-name}()+ is useful for quick prototyping and debugging, but
21 should not be considered for any permanent/serious application
22 instrumentation.
23
24 +v{macro-name}()+ does not have a `STAP_PROBEV()` call, because `STAP_PROBEV()`
25 does not support `va_list`. If you need it, you should emit this call yourself.
26
27 See man:lttng-ust(3) to learn more about custom tracepoint providers.
This page took 0.029936 seconds and 4 git commands to generate.