You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I would like to propose a new feature, and discuss design guidelines.
Currently, a uftrace run creates a unique recording session for trace data. It has an ID and a directory on disc containing data and metadata.
I want to be able to record multiple separated traces. The user will be able to trigger multiple recording sessions within a single uftrace execution. This will create multiple data directories, containing independent traces.
Use case
When tracing daemons, it may not be possible to restart the process to get multiple traces at different times. The user can toggle tracing by using the --trace=on|off option or related triggers. But the trace data cannot be read 'on-the-fly', while uftrace is still recording. The --session=start|end option creates traces that are available for external use even if the target is still being traced.
Design
I propose the following modifications and additions:
Rename UFTRACE_MSG_SESSION messages to UFTRACE_MSG_SESSION_START
Add a corresponding UFTRACE_MSG_SESSION_END message
Add a --session=strart|stop option (also support in client)
Use numerical suffix for multiple trace directories e.g. uftrace.data.n
In the following example, the user starts uftrace normally. Then halts the recording session using the client, keeping uftrace and the traced target alive. The trace data is finalized in uftrace.data.1 and the user can create a new trace in uftrace.data.2.
Feedback
What do you think of this approach? If you think this can be added to uftrace, do you agree with the design principles?
The text was updated successfully, but these errors were encountered:
In principle, I'm ok with the change as long as it doesn't change the normal behavior (without multiple sessions). But I think you need to check the feasibility of implementation and how to minimize the change sets.
Hello,
I would like to propose a new feature, and discuss design guidelines.
Currently, a uftrace run creates a unique recording session for trace data. It has an ID and a directory on disc containing data and metadata.
I want to be able to record multiple separated traces. The user will be able to trigger multiple recording sessions within a single uftrace execution. This will create multiple data directories, containing independent traces.
Use case
When tracing daemons, it may not be possible to restart the process to get multiple traces at different times. The user can toggle tracing by using the
--trace=on|off
option or related triggers. But the trace data cannot be read 'on-the-fly', while uftrace is still recording. The--session=start|end
option creates traces that are available for external use even if the target is still being traced.Design
I propose the following modifications and additions:
UFTRACE_MSG_SESSION
messages toUFTRACE_MSG_SESSION_START
UFTRACE_MSG_SESSION_END
message--session=strart|stop
option (also support in client)In the following example, the user starts uftrace normally. Then halts the recording session using the client, keeping uftrace and the traced target alive. The trace data is finalized in
uftrace.data.1
and the user can create a new trace inuftrace.data.2
.Feedback
What do you think of this approach? If you think this can be added to uftrace, do you agree with the design principles?
The text was updated successfully, but these errors were encountered: