mirror of
https://github.com/varun-r-mallya/sysprof.git
synced 2026-02-12 16:10:54 +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;
|
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);
|
void sp_capture_reader_unref (SpCaptureReader *self);
|
||||||
const gchar *sp_capture_reader_get_filename (SpCaptureReader *self);
|
const gchar *sp_capture_reader_get_filename (SpCaptureReader *self);
|
||||||
const gchar *sp_capture_reader_get_time (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_skip (SpCaptureReader *self);
|
||||||
gboolean sp_capture_reader_peek_type (SpCaptureReader *self,
|
gboolean sp_capture_reader_peek_type (SpCaptureReader *self,
|
||||||
SpCaptureFrameType *type);
|
SpCaptureFrameType *type);
|
||||||
|
|||||||
@ -67,7 +67,8 @@ typedef struct
|
|||||||
guint32 little_endian : 1;
|
guint32 little_endian : 1;
|
||||||
guint32 padding : 23;
|
guint32 padding : 23;
|
||||||
gchar capture_time[64];
|
gchar capture_time[64];
|
||||||
gchar suffix[184];
|
gint64 time;
|
||||||
|
gchar suffix[176];
|
||||||
} SpCaptureFileHeader;
|
} SpCaptureFileHeader;
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
|
|||||||
@ -396,6 +396,7 @@ sp_capture_writer_new_from_fd (int fd,
|
|||||||
#endif
|
#endif
|
||||||
header->padding = 0;
|
header->padding = 0;
|
||||||
g_strlcpy (header->capture_time, nowstr, sizeof header->capture_time);
|
g_strlcpy (header->capture_time, nowstr, sizeof header->capture_time);
|
||||||
|
header->time = SP_CAPTURE_CURRENT_TIME;
|
||||||
memset (header->suffix, 0, sizeof header->suffix);
|
memset (header->suffix, 0, sizeof header->suffix);
|
||||||
|
|
||||||
self->pos += sizeof *header;
|
self->pos += sizeof *header;
|
||||||
|
|||||||
Reference in New Issue
Block a user