mirror of
https://github.com/varun-r-mallya/sysprof.git
synced 2025-12-31 20:36:25 +00:00
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.
This commit is contained in:
@ -783,3 +783,14 @@ handle_errno:
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
gint64
|
||||
sp_capture_reader_get_start_time (SpCaptureReader *self)
|
||||
{
|
||||
g_return_val_if_fail (self != NULL, 0);
|
||||
|
||||
if (self->endian != G_BYTE_ORDER)
|
||||
return GUINT64_SWAP_LE_BE (self->header.time);
|
||||
|
||||
return self->header.time;
|
||||
}
|
||||
|
||||
@ -33,6 +33,7 @@ SpCaptureReader *sp_capture_reader_ref (SpCapt
|
||||
void sp_capture_reader_unref (SpCaptureReader *self);
|
||||
const gchar *sp_capture_reader_get_filename (SpCaptureReader *self);
|
||||
const gchar *sp_capture_reader_get_time (SpCaptureReader *self);
|
||||
gint64 sp_capture_reader_get_start_time (SpCaptureReader *self);
|
||||
gboolean sp_capture_reader_skip (SpCaptureReader *self);
|
||||
gboolean sp_capture_reader_peek_type (SpCaptureReader *self,
|
||||
SpCaptureFrameType *type);
|
||||
|
||||
@ -67,7 +67,8 @@ typedef struct
|
||||
guint32 little_endian : 1;
|
||||
guint32 padding : 23;
|
||||
gchar capture_time[64];
|
||||
gchar suffix[184];
|
||||
gint64 time;
|
||||
gchar suffix[176];
|
||||
} SpCaptureFileHeader;
|
||||
|
||||
typedef struct
|
||||
|
||||
@ -396,6 +396,7 @@ sp_capture_writer_new_from_fd (int fd,
|
||||
#endif
|
||||
header->padding = 0;
|
||||
g_strlcpy (header->capture_time, nowstr, sizeof header->capture_time);
|
||||
header->time = SP_CAPTURE_CURRENT_TIME;
|
||||
memset (header->suffix, 0, sizeof header->suffix);
|
||||
|
||||
self->pos += sizeof *header;
|
||||
|
||||
Reference in New Issue
Block a user