Blame doc/man/tracef-tracelog-limitations.txt

Packit c04fcb
The +{macro-name}()+ utility macro was developed to make user space
Packit c04fcb
tracing super simple, albeit with notable disadvantages compared to
Packit c04fcb
custom, full-fledged tracepoint providers:
Packit c04fcb
Packit c04fcb
  * All generated events have the same provider/event names.
Packit c04fcb
  * There's no static type checking.
Packit c04fcb
  * The only event field with user data you actually get, named `msg`,
Packit c04fcb
    is a string potentially containing the values you passed to the
Packit c04fcb
    macro using your own format. This also means that you cannot use
Packit c04fcb
    filtering using a custom expression at run time because there are no
Packit c04fcb
    isolated fields.
Packit c04fcb
  * Since +{macro-name}()+ uses C standard library's man:vasprintf(3)
Packit c04fcb
    function in the background to format the strings at run time, its
Packit c04fcb
    expected performance is lower than using custom tracepoint providers
Packit c04fcb
    with typed fields, which do not require a conversion to a string.
Packit c04fcb
  * Generally, a string containing the textual representation of the
Packit c04fcb
    user data fields is not as compact as binary fields in the
Packit c04fcb
    resulting trace.
Packit c04fcb
Packit c04fcb
Thus, +{macro-name}()+ is useful for quick prototyping and debugging, but
Packit c04fcb
should not be considered for any permanent/serious application
Packit c04fcb
instrumentation.
Packit c04fcb
Packit c04fcb
See man:lttng-ust(3) to learn more about custom tracepoint providers.