X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=doc%2Fman%2Ftracef-tracelog-limitations.txt;h=a10eac571e5dcb5d92f81bba0bf19842128519a9;hb=53f7d0d7404de911dd62dff06f08539e33ea7519;hp=c2112abf4bb9014420f802ce29261607d5ea7251;hpb=45efc5a3b38867d47fc5d4d2d11197e0cd71530d;p=lttng-ust.git diff --git a/doc/man/tracef-tracelog-limitations.txt b/doc/man/tracef-tracelog-limitations.txt index c2112abf..a10eac57 100644 --- a/doc/man/tracef-tracelog-limitations.txt +++ b/doc/man/tracef-tracelog-limitations.txt @@ -1,4 +1,10 @@ -The +{macro-name}()+ and +v{macro-name}()+ utility macros were +// SPDX-FileCopyrightText: 2016 Philippe Proulx +// SPDX-License-Identifier: CC-BY-4.0 +// +:macro-name: lttng_ust_{macro-suffix} +:vmacro-name: lttng_ust_v{macro-suffix} + +The +{macro-name}()+ and +{vmacro-name}()+ utility macros were developed to make user space tracing super simple, albeit with notable disadvantages compared to custom, full-fledged tracepoint providers: @@ -9,7 +15,7 @@ disadvantages compared to custom, full-fledged tracepoint providers: macro using your own format. This also means that you cannot use filtering using a custom expression at run time because there are no isolated fields. - * Since +{macro-name}()+ and +v{macro-name}()+ use C standard + * Since +{macro-name}()+ and +{vmacro-name}()+ use C standard library's man:vasprintf(3) function in the background to format the strings at run time, their expected performance is lower than using custom tracepoint providers with typed fields, which do not require @@ -18,11 +24,11 @@ disadvantages compared to custom, full-fledged tracepoint providers: user data fields is not as compact as binary fields in the resulting trace. -Thus, +{macro-name}()+/+v{macro-name}()+ are useful for quick +Thus, +{macro-name}()+/+{vmacro-name}()+ are useful for quick prototyping and debugging, but should not be considered for any permanent/serious application instrumentation. -+v{macro-name}()+ does not have a `STAP_PROBEV()` call, because ++{vmacro-name}()+ does not have a `STAP_PROBEV()` call, because `STAP_PROBEV()` does not support `va_list`. If you need it, you should emit this call yourself.