self._stream_inter_port_to_range = {}
for src_comp_and_spec in self._src_comps_and_specs:
- # query the port's component for the `babeltrace.trace-info`
+ # Query the port's component for the `babeltrace.trace-infos`
# object which contains the range for each stream, from which we can
# compute the intersection of the streams in each trace.
query_exec = bt2.QueryExecutor(
src_comp_and_spec.spec.component_class,
- 'babeltrace.trace-info',
+ 'babeltrace.trace-infos',
src_comp_and_spec.spec.params,
)
trace_infos = query_exec.query()
for trace_info in trace_infos:
begin = max(
- [stream['range-ns']['begin'] for stream in trace_info['streams']]
+ [
+ stream['range-ns']['begin']
+ for stream in trace_info['stream-infos']
+ ]
)
end = min(
- [stream['range-ns']['end'] for stream in trace_info['streams']]
+ [stream['range-ns']['end'] for stream in trace_info['stream-infos']]
)
# Each port associated to this trace will have this computed
# range.
- for stream in trace_info['streams']:
+ for stream in trace_info['stream-infos']:
# A port name is unique within a component, but not
# necessarily across all components. Use a component
# and port name pair to make it unique across the graph.
case OPT_STREAM_INTERSECTION:
/*
* Applies to all traces implementing the
- * babeltrace.trace-info query.
+ * babeltrace.trace-infos query.
*/
stream_intersection_mode = true;
break;
stream_value = bt_value_array_borrow_element_by_index_const(streams, i);
if (bt_value_get_type(stream_value) != BT_VALUE_TYPE_MAP) {
- BT_CLI_LOGE_APPEND_CAUSE("Unexpected format of `babeltrace.trace-info` query result: "
+ BT_CLI_LOGE_APPEND_CAUSE("Unexpected format of `babeltrace.trace-infos` query result: "
"expected streams array element to be a map, got %s.",
bt_common_value_type_string(bt_value_get_type(stream_value)));
goto error;
range_ns_value = bt_value_map_borrow_entry_value_const(
stream_value, "range-ns");
if (!range_ns_value) {
- BT_CLI_LOGE_APPEND_CAUSE("Unexpected format of `babeltrace.trace-info` query result: "
+ BT_CLI_LOGE_APPEND_CAUSE("Unexpected format of `babeltrace.trace-infos` query result: "
"missing expected `range-ns` key in stream map.");
goto error;
}
if (bt_value_get_type(range_ns_value) != BT_VALUE_TYPE_MAP) {
- BT_CLI_LOGE_APPEND_CAUSE("Unexpected format of `babeltrace.trace-info` query result: "
+ BT_CLI_LOGE_APPEND_CAUSE("Unexpected format of `babeltrace.trace-infos` query result: "
"expected `range-ns` entry value of stream map to be a map, got %s.",
bt_common_value_type_string(bt_value_get_type(range_ns_value)));
goto error;
begin_value = bt_value_map_borrow_entry_value_const(range_ns_value, "begin");
if (!begin_value) {
- BT_CLI_LOGE_APPEND_CAUSE("Unexpected format of `babeltrace.trace-info` query result: "
+ BT_CLI_LOGE_APPEND_CAUSE("Unexpected format of `babeltrace.trace-infos` query result: "
"missing expected `begin` key in range-ns map.");
goto error;
}
if (bt_value_get_type(begin_value) != BT_VALUE_TYPE_SIGNED_INTEGER) {
- BT_CLI_LOGE_APPEND_CAUSE("Unexpected format of `babeltrace.trace-info` query result: "
+ BT_CLI_LOGE_APPEND_CAUSE("Unexpected format of `babeltrace.trace-infos` query result: "
"expected `begin` entry value of range-ns map to be a signed integer, got %s.",
bt_common_value_type_string(bt_value_get_type(range_ns_value)));
goto error;
end_value = bt_value_map_borrow_entry_value_const(range_ns_value, "end");
if (!end_value) {
- BT_CLI_LOGE_APPEND_CAUSE("Unexpected format of `babeltrace.trace-info` query result: "
+ BT_CLI_LOGE_APPEND_CAUSE("Unexpected format of `babeltrace.trace-infos` query result: "
"missing expected `end` key in range-ns map.");
goto error;
}
if (bt_value_get_type(end_value) != BT_VALUE_TYPE_SIGNED_INTEGER) {
- BT_CLI_LOGE_APPEND_CAUSE("Unexpected format of `babeltrace.trace-info` query result: "
+ BT_CLI_LOGE_APPEND_CAUSE("Unexpected format of `babeltrace.trace-infos` query result: "
"expected `end` entry value of range-ns map to be a signed integer, got %s.",
bt_common_value_type_string(bt_value_get_type(range_ns_value)));
goto error;
const bt_component_class *comp_cls =
bt_component_class_source_as_component_class_const(src_comp_cls);
- ret = query(ctx->cfg, comp_cls, "babeltrace.trace-info",
+ ret = query(ctx->cfg, comp_cls, "babeltrace.trace-infos",
cfg_comp->params, &query_result,
&fail_reason);
if (ret) {
- BT_CLI_LOGE_APPEND_CAUSE("Component class does not support the `babeltrace.trace-info` query: %s: "
+ BT_CLI_LOGE_APPEND_CAUSE("Component class does not support the `babeltrace.trace-infos` query: %s: "
"comp-class-name=\"%s\"", fail_reason,
bt_component_class_get_name(comp_cls));
ret = -1;
BT_ASSERT(query_result);
if (!bt_value_is_array(query_result)) {
- BT_CLI_LOGE_APPEND_CAUSE("`babeltrace.trace-info` query: expecting result to be an array: "
+ BT_CLI_LOGE_APPEND_CAUSE("`babeltrace.trace-infos` query: expecting result to be an array: "
"component-class-name=%s, actual-type=%s",
bt_component_class_get_name(comp_cls),
bt_common_value_type_string(bt_value_get_type(query_result)));
trace_count = bt_value_array_get_length(query_result);
if (trace_count < 0) {
- BT_CLI_LOGE_APPEND_CAUSE("`babeltrace.trace-info` query: result is empty: "
+ BT_CLI_LOGE_APPEND_CAUSE("`babeltrace.trace-infos` query: result is empty: "
"component-class-name=%s", bt_component_class_get_name(comp_cls));
ret = -1;
goto end;
BT_ASSERT(trace_info);
if (!bt_value_is_map(trace_info)) {
ret = -1;
- BT_CLI_LOGE_APPEND_CAUSE("`babeltrace.trace-info` query: expecting element to be a map: "
+ BT_CLI_LOGE_APPEND_CAUSE("`babeltrace.trace-infos` query: expecting element to be a map: "
"component-class-name=%s, actual-type=%s",
bt_component_class_get_name(comp_cls),
bt_common_value_type_string(bt_value_get_type(trace_info)));
}
stream_infos = bt_value_map_borrow_entry_value_const(
- trace_info, "streams");
+ trace_info, "stream-infos");
if (!stream_infos) {
ret = -1;
- BT_CLI_LOGE_APPEND_CAUSE("`babeltrace.trace-info` query: missing `streams` key in trace info map: "
+ BT_CLI_LOGE_APPEND_CAUSE("`babeltrace.trace-infos` query: missing `streams` key in trace info map: "
"component-class-name=%s",
bt_component_class_get_name(comp_cls));
goto end;
if (!bt_value_is_array(stream_infos)) {
ret = -1;
- BT_CLI_LOGE_APPEND_CAUSE("`babeltrace.trace-info` query: expecting `streams` entry of trace info map to be an array: "
+ BT_CLI_LOGE_APPEND_CAUSE("`babeltrace.trace-infos` query: expecting `streams` entry of trace info map to be an array: "
"component-class-name=%s, actual-type=%s",
bt_component_class_get_name(comp_cls),
bt_common_value_type_string(bt_value_get_type(stream_infos)));
stream_count = bt_value_array_get_length(stream_infos);
if (stream_count < 0) {
ret = -1;
- BT_CLI_LOGE_APPEND_CAUSE("`babeltrace.trace-info` query: list of streams is empty: "
+ BT_CLI_LOGE_APPEND_CAUSE("`babeltrace.trace-infos` query: list of streams is empty: "
"component-class-name=%s",
bt_component_class_get_name(comp_cls));
goto end;
BT_ASSERT(stream_info);
if (!bt_value_is_map(stream_info)) {
ret = -1;
- BT_CLI_LOGE_APPEND_CAUSE("`babeltrace.trace-info` query: "
+ BT_CLI_LOGE_APPEND_CAUSE("`babeltrace.trace-infos` query: "
"expecting element of stream list to be a map: "
"component-class-name=%s, actual-type=%s",
bt_component_class_get_name(comp_cls),
port_name = bt_value_map_borrow_entry_value_const(stream_info, "port-name");
if (!port_name) {
ret = -1;
- BT_CLI_LOGE_APPEND_CAUSE("`babeltrace.trace-info` query: "
+ BT_CLI_LOGE_APPEND_CAUSE("`babeltrace.trace-infos` query: "
"missing `port-name` key in stream info map: "
"component-class-name=%s",
bt_component_class_get_name(comp_cls));
if (!bt_value_is_string(port_name)) {
ret = -1;
- BT_CLI_LOGE_APPEND_CAUSE("`babeltrace.trace-info` query: "
+ BT_CLI_LOGE_APPEND_CAUSE("`babeltrace.trace-infos` query: "
"expecting `port-name` entry of stream info map to be a string: "
"component-class-name=%s, actual-type=%s",
bt_component_class_get_name(comp_cls),
if (strcmp(object, "metadata-info") == 0) {
status = metadata_info_query(comp_class, params, log_level,
result);
- } else if (strcmp(object, "babeltrace.trace-info") == 0) {
- status = trace_info_query(comp_class, params, log_level,
+ } else if (strcmp(object, "babeltrace.trace-infos") == 0) {
+ status = trace_infos_query(comp_class, params, log_level,
result);
} else if (!strcmp(object, "babeltrace.support-info")) {
status = support_info_query(comp_class, params, log_level, result);
}
insert_status = bt_value_map_insert_empty_array_entry(trace_info,
- "streams", &file_groups);
+ "stream-infos", &file_groups);
if (insert_status != BT_VALUE_MAP_INSERT_ENTRY_STATUS_OK) {
ret = -1;
goto end;
}
BT_HIDDEN
-bt_component_class_query_method_status trace_info_query(
+bt_component_class_query_method_status trace_infos_query(
bt_self_component_class_source *self_comp_class_src,
const bt_value *params, bt_logging_level log_level,
const bt_value **user_result)
bt_logging_level log_level, const bt_value **result);
BT_HIDDEN
-bt_component_class_query_method_status trace_info_query(
+bt_component_class_query_method_status trace_infos_query(
bt_self_component_class_source *comp_class,
const bt_value *params, bt_logging_level log_level,
const bt_value **result);
def test_iter_intersection_params(self):
# Check that all params used to create the source component are passed
- # to the `babeltrace.trace-info` query.
+ # to the `babeltrace.trace-infos` query.
specs = [
bt2.ComponentSpec.from_named_plugin_and_component_class(
'ctf',
]
def _check(self, trace, offset):
- streams = sorted(trace['streams'], key=sort_predictably)
+ streams = sorted(trace['stream-infos'], key=sort_predictably)
self.assertEqual(streams[0]['range-ns']['begin'], 13515309000000000 + offset)
self.assertEqual(streams[0]['range-ns']['end'], 13515309000000100 + offset)
self.assertEqual(streams[1]['range-ns']['begin'], 13515309000000070 + offset)
self.assertEqual(streams[1]['range-ns']['end'], 13515309000000120 + offset)
# Test various cominations of the clock-class-offset-s and
- # clock-class-offset-ns parameters to babeltrace.trace-info queries.
+ # clock-class-offset-ns parameters to babeltrace.trace-infos queries.
# Without clock class offset
def test_no_clock_class_offset(self):
res = bt2.QueryExecutor(
- self._fs, 'babeltrace.trace-info', {'inputs': self._inputs}
+ self._fs, 'babeltrace.trace-infos', {'inputs': self._inputs}
).query()
trace = res[0]
self._check(trace, 0)
def test_clock_class_offset_s(self):
res = bt2.QueryExecutor(
self._fs,
- 'babeltrace.trace-info',
+ 'babeltrace.trace-infos',
{'inputs': self._inputs, 'clock-class-offset-s': 2},
).query()
trace = res[0]
def test_clock_class_offset_ns(self):
res = bt2.QueryExecutor(
self._fs,
- 'babeltrace.trace-info',
+ 'babeltrace.trace-infos',
{'inputs': self._inputs, 'clock-class-offset-ns': 2},
).query()
trace = res[0]
def test_clock_class_offset_both(self):
res = bt2.QueryExecutor(
self._fs,
- 'babeltrace.trace-info',
+ 'babeltrace.trace-infos',
{
'inputs': self._inputs,
'clock-class-offset-s': -2,
with self.assertRaises(bt2._Error):
bt2.QueryExecutor(
self._fs,
- 'babeltrace.trace-info',
+ 'babeltrace.trace-infos',
{'inputs': self._inputs, 'clock-class-offset-s': "2"},
).query()
with self.assertRaises(bt2._Error):
bt2.QueryExecutor(
self._fs,
- 'babeltrace.trace-info',
+ 'babeltrace.trace-infos',
{'inputs': self._inputs, 'clock-class-offset-s': None},
).query()
with self.assertRaises(bt2._Error):
bt2.QueryExecutor(
self._fs,
- 'babeltrace.trace-info',
+ 'babeltrace.trace-infos',
{'inputs': self._inputs, 'clock-class-offset-ns': "2"},
).query()
with self.assertRaises(bt2._Error):
bt2.QueryExecutor(
self._fs,
- 'babeltrace.trace-info',
+ 'babeltrace.trace-infos',
{'inputs': self._inputs, 'clock-class-offset-ns': None},
).query()
def test_trace_uuid_stream_class_id_no_stream_id(self):
res = bt2.QueryExecutor(
self._fs,
- "babeltrace.trace-info",
+ "babeltrace.trace-infos",
{
"inputs": [
os.path.join(
self.assertEqual(len(res), 1)
trace = res[0]
- streams = sorted(trace["streams"], key=sort_predictably)
+ streams = sorted(trace["stream-infos"], key=sort_predictably)
self.assertEqual(len(streams), 2)
self.assertRegexpMatches(
str(streams[0]["port-name"]),
def test_trace_uuid_no_stream_class_id_no_stream_id(self):
res = bt2.QueryExecutor(
self._fs,
- "babeltrace.trace-info",
+ "babeltrace.trace-infos",
{"inputs": [os.path.join(test_ctf_traces_path, "succeed", "succeed1")]},
).query()
self.assertEqual(len(res), 1)
trace = res[0]
- streams = sorted(trace["streams"], key=sort_predictably)
+ streams = sorted(trace["stream-infos"], key=sort_predictably)
self.assertEqual(len(streams), 1)
self.assertRegexpMatches(
str(streams[0]["port-name"]),
def test_trace_no_range(self):
# This trace has no `timestamp_begin` and `timestamp_end` in its
- # packet context. The `babeltrace.trace-info` query should omit
+ # packet context. The `babeltrace.trace-infos` query should omit
# the `range-ns` fields in the `trace` and `stream` data
# structures.
res = bt2.QueryExecutor(
self._fs,
- "babeltrace.trace-info",
+ "babeltrace.trace-infos",
{"inputs": [os.path.join(test_ctf_traces_path, "succeed", "succeed1")]},
).query()
self.assertEqual(len(res), 1)
trace = res[0]
- streams = trace["streams"]
+ streams = trace["stream-infos"]
self.assertEqual(len(streams), 1)
self.assertRaises(KeyError, lambda: trace['range-ns'])
def _test_lttng_quirks(self, trace_name):
res = bt2.QueryExecutor(
self._fs,
- "babeltrace.trace-info",
+ "babeltrace.trace-infos",
{"inputs": [os.path.join(self._path, trace_name)]},
).query()
def test_event_after_packet(self):
trace = self._test_lttng_quirks("lttng-event-after-packet")
- streams = trace["streams"]
+ streams = trace["stream-infos"]
self.assertEqual(len(streams), 1)
self.assertEqual(streams[0]['range-ns']['begin'], 1565957300948091100)
def test_lttng_crash(self):
trace = self._test_lttng_quirks("lttng-crash")
- streams = trace["streams"]
+ streams = trace["stream-infos"]
self.assertEqual(len(streams), 1)
self.assertEqual(streams[0]['range-ns']['begin'], 1565891729288866738)