The event attributes (symbol name, address, and offset) where not printed under the good element. Furthermore the xsd semantic was invalid on attributes validation
Signed-off-by: Jonathan Rajotte Julien <[email protected]> --- src/common/mi-lttng.c | 23 ++++++++++++++++++++++- src/common/mi_lttng.xsd | 23 ++++------------------- 2 files changed, 26 insertions(+), 20 deletions(-) diff --git a/src/common/mi-lttng.c b/src/common/mi-lttng.c index 83df149..1f8c4ee 100644 --- a/src/common/mi-lttng.c +++ b/src/common/mi-lttng.c @@ -914,6 +914,11 @@ int mi_lttng_event_function_probe(struct mi_writer *writer, { int ret; + ret = mi_lttng_writer_open_element(writer, config_element_attributes); + if (ret) { + goto end; + } + if (event->attr.probe.addr != 0) { /* event probe address */ ret = mi_lttng_writer_write_element_unsigned_int(writer, @@ -936,6 +941,8 @@ int mi_lttng_event_function_probe(struct mi_writer *writer, goto end; } } + + ret = mi_lttng_writer_close_element(writer); end: return ret; } @@ -944,9 +951,23 @@ LTTNG_HIDDEN int mi_lttng_event_function_entry(struct mi_writer *writer, struct lttng_event *event) { + int ret; + + ret = mi_lttng_writer_open_element(writer, config_element_attributes); + if (ret) { + goto end; + } + /* event probe symbol_name */ - return mi_lttng_writer_write_element_string(writer, + ret = mi_lttng_writer_write_element_string(writer, config_element_symbol_name, event->attr.ftrace.symbol_name); + if (ret) { + goto end; + } + + ret = mi_lttng_writer_close_element(writer); +end: + return ret; } LTTNG_HIDDEN diff --git a/src/common/mi_lttng.xsd b/src/common/mi_lttng.xsd index d2cc5d4..3ffcfb9 100644 --- a/src/common/mi_lttng.xsd +++ b/src/common/mi_lttng.xsd @@ -143,30 +143,15 @@ THE SOFTWARE. </xs:restriction> </xs:simpleType> - <!-- Maps to the lttng_event_probe_attr struct --> - <xs:complexType name="event_probe_attributes_type"> - <xs:all> - <xs:element name="address" type="uint64_type" /> - <xs:element name="offset" type="uint64_type" /> - <xs:element name="symbol_name" type="name_type" /> - </xs:all> - </xs:complexType> - - <!-- Maps to the lttng_event_function_attr struct --> - <xs:complexType name="event_ftrace_attributes_type"> + <!-- Maps to per event type configuration --> + <xs:complexType name="event_attributes_type"> <xs:all> <xs:element name="symbol_name" type="name_type" /> + <xs:element name="address" type="uint64_type" minOccurs="0" /> + <xs:element name="offset" type="uint64_type" minOccurs="0" /> </xs:all> </xs:complexType> - <!-- Maps to per event type configuration --> - <xs:complexType name="event_attributes_type"> - <xs:choice> - <xs:element name="probe_attributes" type="event_probe_attributes_type" /> - <xs:element name="function_attributes" type="event_ftrace_attributes_type" /> - </xs:choice> - </xs:complexType> - <!-- Maps to exclusion type --> <xs:complexType name="event_exclusion_list_type"> <xs:sequence> -- 2.0.4 _______________________________________________ lttng-dev mailing list [email protected] http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
