Commit Graph

8 Commits

Author SHA1 Message Date
34f493d553 capture: use SpClock for current timestamp
It is important that our capture current time matches the
same clock we are using for events. Otherwise we could have
drift between CLOCK_MONOTONIC and CLOCK_MONOTONIC_RAW.
2016-10-08 20:29:16 -07:00
2197a0c02e capture: add end time for captures
Update the end time when we flush the buffer to disk. Also add
a way to either incrementally get the end time or rely on the
header when possible.
2016-09-27 21:24:33 -07:00
c19d0635aa capture: add SpCaptureCursor and associated types
This API helps us simplify some of the tooling to iterate
through a capture. In particular, we might want to setup a
bunch of matches and then just iterate through the items.

This can also allow delaying the iteration until the future
which might be handy for visualizers which won't want to block
the main loop.

I'm not jazzed about the 64k buffer created for every cursor
due to the SpCaptureReader copy, but it's probably not a big
deal in practice until we start doing more exotic things.
2016-09-25 00:25:08 -07:00
49e9ad9db8 capture: make counter value a union of int64 and double
This allows us to use the type field of the counter to specify if the
counter is a double or a 64-bit integer.
2016-04-15 04:54:55 -07:00
ad5f855a2b capture: add 64-bit time stamp for start time
We keep the start time as a iso8601 string, which is useful, but not
enough for relative timestamps to the epoch (start time). Include a
clock time in the same clock domain.
2016-04-15 04:51:23 -07:00
cd0a39859e capture: drop ADD from capture type
I opted to not implement this yet, so ensure its not in the capture
format types.
2016-04-14 18:33:23 -07:00
c87a90cd9a capture: add frame type for defining and setting counters
We might want to add a CTRADD type later on, for relative values rather
than absolute. But this should get us started.

Simply define counters upfront, and then set them during the capture
process.

Obviously, we need to come up with a good way to visualize this
information in the UI.
2016-04-14 18:29:39 -07:00
29c4ec495f Land Sysprof 2.x
This is a major redesign a modernization of Sysprof. The core data
structures and design are largely the same, but it has been ported to
Gtk3 and has lots of additions that should make your profiling experience
smoother. Especially for those that are new to profiling.

There are some very simple help docs added, but we really need the
experts to come in and write some documentation here.
2016-04-13 05:24:03 -07:00