Commit Graph

9 Commits

Author SHA1 Message Date
e10ab3e32e libsysprof-profile: add augmentation phase to instruments
This allows an instrument to augment the capture with additional
information before the capture is closed/flushed to storage.
2023-06-02 12:59:01 -07:00
60ecde017f libsysprof-profile: add wrappers for instrument vfuncs
For maintainability, I'd prefer to keep these calls going through a wrapper
function. They get inlined likely by the compiler anyway.
2023-06-02 12:58:20 -07:00
2ac4ff692d libsysprof-profile: add API to notify of process started
This will be used when we discover a process started like when the Perf
instrument gets PERF_RECORD_COMM.
2023-05-30 17:27:33 -07:00
1764a088ee libsysprof-profile: fix iteration of instruments 2023-05-30 16:10:19 -07:00
1851f39b8a libsysprof-profile: use dex_bus_get()
This allows us to remove the synchronous call here from the fiber calling
into this API.
2023-05-30 16:05:01 -07:00
4d54aa6a51 libsysprof-profile: add SysprofInstrument record vfunc 2023-05-26 16:05:30 -07:00
b4e6f7c915 libsysprof-profile: add recording session fiber
Setup instrument policy, preparation, etc.
2023-05-26 15:05:29 -07:00
ccdc1b8cff libsysprof-profile: add API to list required policy
The idea here is that we stop having instruments do their own policy
checking and instead do the policy checking as a set from the recording
as part of prepare/etc.
2023-05-25 16:43:56 -07:00
93153d1943 libsysprof-profile: add scaffolding for base objects
The goal here is to have a fairly small exposed API surface for profiling
similar to libsysprof-analyze where implementation details are hidden.

 SysprofProfiler - Where you setup your recording
 SysprofInstrument - What you add to a profiler to extract data
 SysprofRecording - Represents an active recording w/ instruments
2023-05-25 16:21:40 -07:00