projects
/
babeltrace.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add new option --clock-offset-ns
[babeltrace.git]
/
formats
/
ctf
/
ctf.c
diff --git
a/formats/ctf/ctf.c
b/formats/ctf/ctf.c
index d24f1cb73e69433736cf007a004550621c28d05a..6b292a7e567fff53a00abc1b04f91beae8a7cec3 100644
(file)
--- a/
formats/ctf/ctf.c
+++ b/
formats/ctf/ctf.c
@@
-77,6
+77,7
@@
int opt_clock_cycles,
opt_clock_gmt;
uint64_t opt_clock_offset;
opt_clock_gmt;
uint64_t opt_clock_offset;
+uint64_t opt_clock_offset_ns;
extern int yydebug;
extern int yydebug;
@@
-321,6
+322,9
@@
void ctf_print_timestamp_real(FILE *fp,
ts_nsec = timestamp;
ts_nsec = timestamp;
+ /* Add command-line offset in ns*/
+ ts_nsec += opt_clock_offset_ns;
+
/* Add command-line offset */
ts_sec += opt_clock_offset;
/* Add command-line offset */
ts_sec += opt_clock_offset;
@@
-781,7
+785,7
@@
void ctf_packet_seek(struct bt_stream_pos *stream_pos, size_t index, int whence)
* case, the collection is not there, so we
* cannot print the timestamps.
*/
* case, the collection is not there, so we
* cannot print the timestamps.
*/
- if ((&file_stream->parent)->stream_class->trace->collection) {
+ if ((&file_stream->parent)->stream_class->trace->
parent.
collection) {
/*
* When a stream reaches the end of the
* file, we need to show the number of
/*
* When a stream reaches the end of the
* file, we need to show the number of
@@
-1214,6
+1218,8
@@
error:
bt_definition_unref(&stream_event->event_fields->p);
if (stream_event->event_context)
bt_definition_unref(&stream_event->event_context->p);
bt_definition_unref(&stream_event->event_fields->p);
if (stream_event->event_context)
bt_definition_unref(&stream_event->event_context->p);
+ fprintf(stderr, "[error] Unable to create event definition for event \"%s\".\n",
+ g_quark_to_string(event->name));
return NULL;
}
return NULL;
}
@@
-1274,8
+1280,10
@@
int create_stream_definitions(struct ctf_trace *td, struct ctf_stream_definition
if (!event)
continue;
stream_event = create_event_definitions(td, stream, event);
if (!event)
continue;
stream_event = create_event_definitions(td, stream, event);
- if (!stream_event)
+ if (!stream_event) {
+ ret = -EINVAL;
goto error_event;
goto error_event;
+ }
g_ptr_array_index(stream->events_by_id, i) = stream_event;
}
return 0;
g_ptr_array_index(stream->events_by_id, i) = stream_event;
}
return 0;
@@
-1294,6
+1302,8
@@
error:
bt_definition_unref(&stream->stream_event_header->p);
if (stream->stream_packet_context)
bt_definition_unref(&stream->stream_packet_context->p);
bt_definition_unref(&stream->stream_event_header->p);
if (stream->stream_packet_context)
bt_definition_unref(&stream->stream_packet_context->p);
+ fprintf(stderr, "[error] Unable to create stream (%" PRIu64 ") definitions: %s\n",
+ stream_class->stream_id, strerror(-ret));
return ret;
}
return ret;
}
@@
-1357,6
+1367,7
@@
begin:
if (ret) {
if (ret == -EFAULT)
goto retry;
if (ret) {
if (ret == -EFAULT)
goto retry;
+ fprintf(stderr, "[error] Unable to read packet header: %s\n", strerror(-ret));
return ret;
}
len_index = bt_struct_declaration_lookup_field_index(file_stream->parent.trace_packet_header->declaration, g_quark_from_static_string("magic"));
return ret;
}
len_index = bt_struct_declaration_lookup_field_index(file_stream->parent.trace_packet_header->declaration, g_quark_from_static_string("magic"));
@@
-1439,6
+1450,7
@@
begin:
if (ret) {
if (ret == -EFAULT)
goto retry;
if (ret) {
if (ret == -EFAULT)
goto retry;
+ fprintf(stderr, "[error] Unable to read packet context: %s\n", strerror(-ret));
return ret;
}
/* read content size from header */
return ret;
}
/* read content size from header */
@@
-1472,7
+1484,7
@@
begin:
field = bt_struct_definition_get_field_from_index(file_stream->parent.stream_packet_context, len_index);
packet_index.timestamp_begin = bt_get_unsigned_int(field);
field = bt_struct_definition_get_field_from_index(file_stream->parent.stream_packet_context, len_index);
packet_index.timestamp_begin = bt_get_unsigned_int(field);
- if (file_stream->parent.stream_class->trace->collection) {
+ if (file_stream->parent.stream_class->trace->
parent.
collection) {
packet_index.timestamp_begin =
ctf_get_real_timestamp(
&file_stream->parent,
packet_index.timestamp_begin =
ctf_get_real_timestamp(
&file_stream->parent,
@@
-1487,7
+1499,7
@@
begin:
field = bt_struct_definition_get_field_from_index(file_stream->parent.stream_packet_context, len_index);
packet_index.timestamp_end = bt_get_unsigned_int(field);
field = bt_struct_definition_get_field_from_index(file_stream->parent.stream_packet_context, len_index);
packet_index.timestamp_end = bt_get_unsigned_int(field);
- if (file_stream->parent.stream_class->trace->collection) {
+ if (file_stream->parent.stream_class->trace->
parent.
collection) {
packet_index.timestamp_end =
ctf_get_real_timestamp(
&file_stream->parent,
packet_index.timestamp_end =
ctf_get_real_timestamp(
&file_stream->parent,
@@
-1547,6
+1559,7
@@
retry:
tmp_map_len = packet_map_len << 1;
if (tmp_map_len >> 1 != packet_map_len) {
/* Overflow */
tmp_map_len = packet_map_len << 1;
if (tmp_map_len >> 1 != packet_map_len) {
/* Overflow */
+ fprintf(stderr, "[error] Packet mapping length overflow\n");
return -EFAULT;
}
packet_map_len = tmp_map_len;
return -EFAULT;
}
packet_map_len = tmp_map_len;
@@
-1597,6
+1610,7
@@
int create_trace_definitions(struct ctf_trace *td, struct ctf_stream_definition
return 0;
error:
return 0;
error:
+ fprintf(stderr, "[error] Unable to create trace definitions: %s\n", strerror(-ret));
return ret;
}
return ret;
}
@@
-1655,10
+1669,12
@@
int ctf_open_file_stream_read(struct ctf_trace *td, const char *path, int flags,
/*
* For now, only a single clock per trace is supported.
*/
/*
* For now, only a single clock per trace is supported.
*/
- file_stream->parent.current_clock = td->single_clock;
+ file_stream->parent.current_clock = td->
parent.
single_clock;
ret = create_stream_packet_index(td, file_stream);
ret = create_stream_packet_index(td, file_stream);
- if (ret)
+ if (ret) {
+ fprintf(stderr, "[error] Stream index creation error.\n");
goto error_index;
goto error_index;
+ }
/* Add stream file to stream class */
g_ptr_array_add(file_stream->parent.stream_class->streams,
&file_stream->parent);
/* Add stream file to stream class */
g_ptr_array_add(file_stream->parent.stream_class->streams,
&file_stream->parent);
@@
-1896,7
+1912,7
@@
int ctf_open_mmap_stream_read(struct ctf_trace *td,
/*
* For now, only a single clock per trace is supported.
*/
/*
* For now, only a single clock per trace is supported.
*/
- file_stream->parent.current_clock = td->single_clock;
+ file_stream->parent.current_clock = td->
parent.
single_clock;
/* Add stream file to stream class */
g_ptr_array_add(file_stream->parent.stream_class->streams,
/* Add stream file to stream class */
g_ptr_array_add(file_stream->parent.stream_class->streams,
@@
-2103,7
+2119,7
@@
void ctf_set_handle(struct bt_trace_descriptor *descriptor,
struct ctf_trace *td = container_of(descriptor, struct ctf_trace,
parent);
struct ctf_trace *td = container_of(descriptor, struct ctf_trace,
parent);
- td->handle = handle;
+ td->
parent.
handle = handle;
}
static
}
static
This page took
0.026741 seconds
and
4
git commands to generate.