summaryrefslogtreecommitdiff
path: root/endless/eosprofile-private.h
Commit message (Collapse)AuthorAge
* Move private profile symbols into the private headerEmmanuele Bassi2018-01-19
| | | | We are going to re-use them in the profile CLI tool.
* Add more metadata in the profile stateEmmanuele Bassi2018-01-18
| | | | | | | We want to have access to more metadata, including the application id, when capturing profiling data for later review, as the immediate association between a process and its profiling data is not available in that case.
* Add initial infrastructure for ProfilingEmmanuele Bassi2018-01-10
The EosProfileProbe API allows defining profiling probes that can be used to efficiently measure the time spent in a critical section. The Profiling API is meant to collect samples and generate a report at the end of the lifetime of the process, either by printing out the results once the process terminates; or by saving the raw data in a binary file that can be loaded at a later date. This profiling API is meant to be as close as possible to a zero cost abstraction: - probes are only allocated if profiling is enabled - all profiling API is a no-op if profiling isn't enabled - the C API is meant to be easily tied to a scope, through the use of auto-cleanup macros provided by GLib This allows projects using the Endless SDK to keep the profiling probes in place, instead of conditionally compile them in. https://phabricator.endlessm.com/T18514