Filters don't work with apps compiled with old versions of LTTng
When filters are used on apps compiled with older versions of LTTng, the filters do not take effect and nothing is filtered out.
So there seems to be a backwards-compatibility issue.
To reproduce the fault apps were compiled with the following LTTng versions:
CURRENT HEAD: foss/babeltrace 2ae35d4 (HEAD, tag: v1.0.0-rc4) Update version to 1.0.0-rc4
CURRENT HEAD: foss/lttng-tools 6c12303 (HEAD, tag: v2.0.4) Update version to 2.0.4 stable
CURRENT HEAD: foss/lttng-ust f8b9341 (HEAD, tag: v2.0.4) Update version to 2.0.4
CURRENT HEAD: foss/userspace-rcu 3227f2c (HEAD, tag: v0.7.3) Update version to 0.7.3
For comparison, a session was executed using apps compiled with a recently installed version of LTTng (in this case the filters do work):
CURRENT HEAD: foss/babeltrace 9b3c1d6 (HEAD, origin/master, origin/HEAD) Fix: emf uri: surround by " "
CURRENT HEAD: foss/lttng-tools 6b8f2e6 (HEAD, origin/master, origin/HEAD) Add consumer commands to lttng.1 man page
CURRENT HEAD: foss/lttng-ust 82513db (HEAD, origin/master, origin/HEAD) Filter error message cleanup
CURRENT HEAD: foss/userspace-rcu a5a9f42 (HEAD, origin/master, origin/HEAD, master) Ensure that read-side functions meet 10-line LGPL criterion
Please see the attached log for details.
Updated by Mathieu Desnoyers almost 8 years ago
- Status changed from New to Resolved
- Assignee set to Mathieu Desnoyers
Applications compiled against lttng-ust 2.0 were compiled against a UST that did not support filtering. Therefore, the filtering feature is not available for those applications (unless they are recompiled against lttng-ust 2.1). Therefore, the expected behavior is that they behave like the 2.0 UST, which means that no filter is applied.
This is therefore not a regression, this is a known limitation of lttng-ust 2.0: the filtering feature was not there.
Short answer: if you want filtering in your applications, you will need to recompile the tracepoint probes against lttng-ust 2.1.