Fix: sessiond: size-based rotation threshold exceeded in per-pid tracing (2/2)
For a complete description of the original problem, refer to the previous
commit.
This change implements the second part of the fix.
Buffer statistic samples are augmented to include the channel's session
id. Since a session can outlive its channels (on the session daemon
side), the consumed size conditions are now bound to the session.
This means that the "total consumed" state is now part of the
session_info structure exclusively which, overall, is cleaner.
A side-effect of this change is that consumed size conditions are now
also evaluated when a trigger is registered or when a client subscribes
to it via a notification channel instead of waiting until the next
monitoring sample.
The buffer statistics sample also expresses a "consumed size" that is
relative to the last sample that was successfully sent.
Finally, the consumer daemon sends a final buffer statistics sample when
a channel is torn down. As explained in more detail in the previous
commit, this makes the accounting of per-pid sessions more reliable when
short-live applications are traced.
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Change-Id: I322b9f20977e59c63cf2a4254c97c4ee657e933e
This page took 0.02606 seconds and 4 git commands to generate.