Jérémie Galarneau [Wed, 27 Apr 2016 21:11:08 +0000 (17:11 -0400)]
Typo: succesful* -> successful*
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Jérémie Galarneau [Wed, 27 Apr 2016 19:21:00 +0000 (15:21 -0400)]
Fix: return -1 on bin_info_lookup_dwarf_function_name failure
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Jérémie Galarneau [Wed, 27 Apr 2016 19:01:15 +0000 (15:01 -0400)]
Harmonize spelling of debug-info
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Jérémie Galarneau [Wed, 27 Apr 2016 16:09:18 +0000 (12:09 -0400)]
Warning fix: pointer may be uninitialized if assertions are disabled
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Jérémie Galarneau [Wed, 27 Apr 2016 16:01:59 +0000 (12:01 -0400)]
Indicate default debug-info build settings in configure help
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Michael Jeanson [Sat, 23 Apr 2016 13:59:14 +0000 (09:59 -0400)]
Disable debuginfo by default on Solaris and OSX
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Jérémie Galarneau [Fri, 22 Apr 2016 21:31:17 +0000 (17:31 -0400)]
Docs: Add --debug-info-target-prefix to man page
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Antoine Busque [Fri, 22 Apr 2016 15:34:21 +0000 (11:34 -0400)]
Add source and information to regenerate debuginfo-data
Signed-off-by: Antoine Busque <abusque@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Antoine Busque [Thu, 21 Apr 2016 06:26:04 +0000 (02:26 -0400)]
Use bool where possible in dwarf and bin-info
Signed-off-by: Antoine Busque <abusque@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Antoine Busque [Thu, 21 Apr 2016 05:55:10 +0000 (01:55 -0400)]
Rename so-info to bin-info
Signed-off-by: Antoine Busque <abusque@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Antoine Busque [Thu, 21 Apr 2016 05:02:27 +0000 (01:02 -0400)]
Use printf_debug/verbose in so-info
Signed-off-by: Antoine Busque <abusque@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Antoine Busque [Wed, 20 Apr 2016 21:38:43 +0000 (17:38 -0400)]
Fix: update tests for new dwarf func name output
Signed-off-by: Antoine Busque <abusque@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Antoine Busque [Wed, 20 Apr 2016 21:35:40 +0000 (17:35 -0400)]
Update debuginfo to match UST event rename
Signed-off-by: Antoine Busque <abusque@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Antoine Busque [Wed, 20 Apr 2016 21:25:59 +0000 (17:25 -0400)]
Use g_build_path for DWARF build_id lookup
Signed-off-by: Antoine Busque <abusque@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Antoine Busque [Tue, 19 Apr 2016 23:57:57 +0000 (19:57 -0400)]
Add --debug-info-target-prefix
Signed-off-by: Antoine Busque <abusque@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Antoine Busque [Tue, 19 Apr 2016 19:24:45 +0000 (15:24 -0400)]
Refactor offset string printing out of ELF and DWARF lookups
Signed-off-by: Antoine Busque <abusque@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Antoine Busque [Tue, 19 Apr 2016 17:43:10 +0000 (13:43 -0400)]
Print offset relative to function when using DWARF
Signed-off-by: Antoine Busque <abusque@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Antoine Busque [Mon, 18 Apr 2016 22:34:11 +0000 (18:34 -0400)]
Print bin location first
Signed-off-by: Antoine Busque <abusque@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Antoine Busque [Mon, 18 Apr 2016 22:31:53 +0000 (18:31 -0400)]
Add binary location information
Signed-off-by: Antoine Busque <abusque@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Antoine Busque [Mon, 18 Apr 2016 22:30:43 +0000 (18:30 -0400)]
Fix: prevent uninitialized use of elf_file
Signed-off-by: Antoine Busque <abusque@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Antoine Busque [Fri, 15 Apr 2016 21:39:24 +0000 (17:39 -0400)]
Only set so info ELF file when needed
Signed-off-by: Antoine Busque <abusque@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Antoine Busque [Fri, 15 Apr 2016 20:54:18 +0000 (16:54 -0400)]
Use is_pic field instead of reading ELF header
Signed-off-by: Antoine Busque <abusque@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Antoine Busque [Mon, 18 Apr 2016 20:24:29 +0000 (16:24 -0400)]
Fix: make short_src_path from src_path
Signed-off-by: Antoine Busque <abusque@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Jérémie Galarneau [Wed, 20 Apr 2016 21:15:20 +0000 (17:15 -0400)]
Tests: clean generated tests scripts
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Michael Jeanson [Thu, 14 Apr 2016 11:56:27 +0000 (07:56 -0400)]
Tests: Add missing test scripts to gitignore
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Michael Jeanson [Thu, 14 Apr 2016 11:55:06 +0000 (07:55 -0400)]
Tests: Use AC_CONFIG_FILES to generate test scripts
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Jérémie Galarneau [Mon, 18 Apr 2016 20:54:15 +0000 (16:54 -0400)]
Docs: Add debug-info option to BABELTRACE(1)
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Jérémie Galarneau [Mon, 18 Apr 2016 13:33:14 +0000 (09:33 -0400)]
Print "binary+offset" when function name can't be resolved
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Jérémie Galarneau [Fri, 15 Apr 2016 21:30:32 +0000 (17:30 -0400)]
Fix: Don't skip binary path print-out in ELF-only case
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Jérémie Galarneau [Fri, 15 Apr 2016 19:39:33 +0000 (15:39 -0400)]
Show binary path as part of debug info
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Jérémie Galarneau [Fri, 15 Apr 2016 17:37:38 +0000 (13:37 -0400)]
Add --debug-info-full-path option and shorten source name
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Jérémie Galarneau [Fri, 15 Apr 2016 17:18:37 +0000 (13:18 -0400)]
Rename opt_debug_dir to opt_debug_info_dir
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Jérémie Galarneau [Thu, 14 Apr 2016 22:43:07 +0000 (18:43 -0400)]
Clean-up: mark test symbols as static
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Jérémie Galarneau [Thu, 14 Apr 2016 22:41:19 +0000 (18:41 -0400)]
Fix: Remove traces left over from ctf-writer tests
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Jérémie Galarneau [Thu, 14 Apr 2016 21:58:13 +0000 (17:58 -0400)]
Fix: cast of 64 bit addresses from trace to 32-bit pointer
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Jérémie Galarneau [Thu, 14 Apr 2016 16:19:09 +0000 (12:19 -0400)]
Tests: dynamically create test list based on enabled features
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Antoine Busque [Wed, 6 Apr 2016 21:21:16 +0000 (17:21 -0400)]
Add intersect mode to python bindings
Signed-off-by: Antoine Busque <abusque@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Antoine Busque [Wed, 6 Apr 2016 19:19:02 +0000 (15:19 -0400)]
Add bt_ctf_iter_create_intersect to CTF iterator API
This new method allows direct creation of a `bt_ctf_iter`
corresponding to the intersection of streams in a given trace
collection. Adding it to the CTF iterator API allows reuse by both the
converter and (eventually) bindings.
Signed-off-by: Antoine Busque <abusque@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Jérémie Galarneau [Mon, 11 Apr 2016 22:52:00 +0000 (18:52 -0400)]
Clean-up: remove dead assignment
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Jérémie Galarneau [Mon, 11 Apr 2016 22:50:49 +0000 (18:50 -0400)]
Tests: erroneous check after bt_ctf_clock_set_offset_s
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Antoine Busque [Fri, 20 Nov 2015 21:29:13 +0000 (16:29 -0500)]
Docs: add high-level debug info doc
Signed-off-by: Antoine Busque <abusque@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Antoine Busque [Wed, 30 Sep 2015 08:54:46 +0000 (04:54 -0400)]
Tests: add unit tests for so_info
Signed-off-by: Antoine Busque <abusque@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Antoine Busque [Mon, 28 Sep 2015 10:01:52 +0000 (06:01 -0400)]
Tests: add unit tests for bt_dwarf
Signed-off-by: Antoine Busque <abusque@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Antoine Busque [Wed, 9 Sep 2015 09:05:27 +0000 (05:05 -0400)]
Initial implementation of the debuginfo API
This patchset adds so_info and durin, which are used in debug info or
callsite analysis. The developer is expected to use the SO info API
documented in `include/babeltrace/so-info.h`. Durin is only used
internally by so_info as a wrapper around `libdw`.
The analysis itself is implemented in the new `lib/debuginfo.c`.
This introduces a dependency on `libelf` and `libdw` from
elfutils. The feature can be disabled at configure time with the
`--disable-debuginfo` flag.
Signed-off-by: Antoine Busque <abusque@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Mathieu Desnoyers [Tue, 19 Apr 2016 22:42:06 +0000 (18:42 -0400)]
Fix: lttng-live flush when output to file
When the standard output is redirected to a file, we need to flush the
output between each packet, otherwise the stream buffering may keep us
from seeing events for a while in a low-throughput trace.
While we are there, document that lttng-live does now support the
--output option in babeltrace 1.x.
Fixes #1010
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Mathieu Desnoyers [Tue, 19 Apr 2016 02:26:40 +0000 (22:26 -0400)]
Fix: lttng-live use g_free rather than free
g_new0 should be paired with g_free.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Philippe Proulx [Sat, 12 Sep 2015 03:24:54 +0000 (23:24 -0400)]
Store "tracer_name" from the trace's environment
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Jérémie Galarneau [Wed, 6 Apr 2016 18:32:40 +0000 (14:32 -0400)]
Fix: Missing pointer dereference in NULL check
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Jérémie Galarneau [Tue, 5 Apr 2016 21:44:42 +0000 (17:44 -0400)]
Fix: leak of stream intersection positions
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Jérémie Galarneau [Tue, 5 Apr 2016 21:24:15 +0000 (17:24 -0400)]
Remove useless bt_iter when creating intersection
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Jérémie Galarneau [Tue, 5 Apr 2016 18:41:34 +0000 (14:41 -0400)]
Add new test artifacts to .gitignore
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Jérémie Galarneau [Tue, 5 Apr 2016 17:08:59 +0000 (13:08 -0400)]
Tests: use templates for stream intersection and packet_seq_num
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Jérémie Galarneau [Tue, 5 Apr 2016 15:15:07 +0000 (11:15 -0400)]
Tests: fix OOT build by adding test scripts to noinst_SCRIPTS
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Jérémie Galarneau [Mon, 4 Apr 2016 22:42:14 +0000 (18:42 -0400)]
Docs: Add --stream-intersection to the BABELTRACE(1) man page
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Jérémie Galarneau [Mon, 4 Apr 2016 20:47:44 +0000 (16:47 -0400)]
Rephrase error message
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Julien Desfossez [Mon, 21 Sep 2015 15:23:05 +0000 (11:23 -0400)]
Test the stream intersection feature
5 traces are provided:
- 3 packets intersecting between two streams slightly offsetted
- Same trace with 3 packets intersecting but with swapped trace file names
- No intersection between packets
- Only one stream
- No streams at all
These traces were generated with the CTF writer API from the master
branch, the binary traces will be replaced by the test program when the
feature arrives in master.
Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Julien Desfossez [Mon, 14 Sep 2015 17:05:59 +0000 (13:05 -0400)]
Option to only show streams' intersection
The --stream-intersection option allows showing only the events that
fit in the intersection of all streams, thus filtering out the events
for which only some streams have the time range info. This is achieved
by using the packet header timestamp begin/end information available
within each stream.
Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Julien Desfossez [Mon, 21 Sep 2015 20:28:34 +0000 (16:28 -0400)]
Tests for packet_seq_num handling
5 traces are provided:
- no packets lost
- no packets lost with packet_seq_num not starting at 0
- 2 events lost before the last packet
- 2 streams with events lost in 1
- 2 stream with events lost in both
Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Julien Desfossez [Tue, 8 Mar 2016 05:32:27 +0000 (00:32 -0500)]
Fix: lttng-live data_size and version endianness
The data_size and cmd_version fields need to be sent in network byte
order to the relay. These fields are currently ignored by the relay
because the commands have a fix-sized payload so it does not cause any
problem for now, but they may be used in the future, so we should avoid
any confusion.
Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Philippe Proulx [Wed, 24 Feb 2016 00:47:49 +0000 (19:47 -0500)]
test_ctf_ir_ref.c: fix coding style
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Philippe Proulx [Wed, 24 Feb 2016 00:46:07 +0000 (19:46 -0500)]
test_ctf_writer.c: test packet functions
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Philippe Proulx [Wed, 24 Feb 2016 00:43:47 +0000 (19:43 -0500)]
Fix: do not set event's parent to a non-writer stream
Since a non-writer stream does not know the events that are
associated to it, an event with a non-writer stream parent can
never be destroyed.
Fix this by setting a stream parent if the stream is a writer
stream, and otherwise by using the event's packet's stream.
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Philippe Proulx [Wed, 24 Feb 2016 00:24:59 +0000 (19:24 -0500)]
ir: bt_ctf_stream_append_event(): do not always reset parent
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Philippe Proulx [Wed, 24 Feb 2016 00:24:23 +0000 (19:24 -0500)]
ir: bt_ctf_event_set_packet(): check for common stream class
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Philippe Proulx [Tue, 23 Feb 2016 00:16:03 +0000 (19:16 -0500)]
test_ctf_ir_ref.c: fix indentation
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Philippe Proulx [Tue, 23 Feb 2016 00:12:23 +0000 (19:12 -0500)]
test_ctf_ir_ref.c: test all permutations of put
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Jérémie Galarneau [Mon, 22 Feb 2016 21:05:44 +0000 (16:05 -0500)]
Solaris build fix: missing inclusion of endian.h
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Philippe Proulx [Sun, 21 Feb 2016 08:23:46 +0000 (03:23 -0500)]
ref.h: add C++ guards
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Philippe Proulx [Fri, 19 Feb 2016 02:42:29 +0000 (21:42 -0500)]
test_ctf_writer.c: test bt_ctf_clock_ns_from_value()
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Jérémie Galarneau [Mon, 22 Feb 2016 20:18:02 +0000 (15:18 -0500)]
Cleanup: lift function call outside of condition
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Philippe Proulx [Fri, 19 Feb 2016 02:34:12 +0000 (21:34 -0500)]
ir: add bt_ctf_clock_ns_from_value() utility
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Philippe Proulx [Fri, 19 Feb 2016 02:16:59 +0000 (21:16 -0500)]
ir: move clock value accessors to writer header
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Philippe Proulx [Fri, 19 Feb 2016 02:15:39 +0000 (21:15 -0500)]
test_ctf_writer.c: test writer/non-writer clock value accessors
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Philippe Proulx [Fri, 19 Feb 2016 02:15:05 +0000 (21:15 -0500)]
ir: move bt_ctf_stream_class_set_clock() to writer header
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Philippe Proulx [Fri, 19 Feb 2016 02:00:31 +0000 (21:00 -0500)]
ir: disable clock value accessors in non-writer mode
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Philippe Proulx [Tue, 16 Feb 2016 07:23:26 +0000 (02:23 -0500)]
ir: add bt_ctf_event_get_clock_value()
This patch adds a hash table of clocks to their current values (in
cycles) to the stream object. bt_ctf_stream_update_clock_value() can
be called to update the registered clock value of a given stream
from the current value of a given integer field, of which the type
is mapped to a clock. The function handles the case where the size of
the field is less than 64 bits and can make the current clock value
wrap once per call.
This patch also adds a similar hash table to the event object.
bt_ctf_event_register_stream_clock_values() is to be called by
internal code to take a snapshot of all the registered clock values
of the event's stream. The copied clock values can be retrieved by
the user later using bt_ctf_event_get_clock_value(), which should
return the value that a given clock had when the event was emitted.
This is intended to be used by sink components since the value
of a clock changes as events are created, whereas it is common
situation to hold an event and later need the clock values when
this event was emitted.
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Philippe Proulx [Thu, 18 Feb 2016 00:21:26 +0000 (19:21 -0500)]
ir: bt_ctf_stream_append_event(): do not append event with parent
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Philippe Proulx [Thu, 18 Feb 2016 00:12:23 +0000 (19:12 -0500)]
ir: remove unused event header/context fields from stream
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Philippe Proulx [Wed, 17 Feb 2016 23:57:04 +0000 (18:57 -0500)]
ir: add optional name property to stream
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Philippe Proulx [Wed, 17 Feb 2016 21:55:22 +0000 (16:55 -0500)]
test_ctf_writer.c: test bt_ctf_stream_create()
This new test function tests the creation of both a writer
(when the stream class's trace was itself created by a writer)
and a non-writer stream.
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Philippe Proulx [Wed, 17 Feb 2016 21:52:05 +0000 (16:52 -0500)]
ir: make bt_ctf_stream_create() public
This patch also removes bt_ctf_trace_create_stream(), so that the
only way to create a stream in non-writer mode is using
bt_ctf_stream_create(). Only the stream class is needed, and since
it needs to be part of a trace before calling the function, the
created stream gets associated to this trace on creation.
The function also knows if the stream class's trace was created by
a CTF writer thanks to a new flag. With this, it's able to create
a stream file and set the stream's FD if it's a writer stream.
Otherwise the FD is set to -1 and this stream cannot be passed to
stream writer functions like bt_ctf_stream_append_event() and
bt_ctf_stream_append_discarded_events(), for example.
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Philippe Proulx [Tue, 16 Feb 2016 22:20:54 +0000 (17:20 -0500)]
test_ctf_writer.c: test stream class clock -> trace clock
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Philippe Proulx [Tue, 16 Feb 2016 19:50:21 +0000 (14:50 -0500)]
ir: bt_ctf_trace_add_stream_class(): add stream class's clock
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Philippe Proulx [Tue, 16 Feb 2016 21:48:08 +0000 (16:48 -0500)]
ir: remove unused bt_ctf_event_copy()
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Philippe Proulx [Mon, 15 Feb 2016 21:24:01 +0000 (16:24 -0500)]
ir: verify stream mode in stream functions
Some functions are disabled in CTF writer mode and vice versa.
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Philippe Proulx [Sat, 13 Feb 2016 02:15:16 +0000 (21:15 -0500)]
ir: freeze event on bt_ctf_stream_append_event()
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Philippe Proulx [Sat, 13 Feb 2016 02:12:03 +0000 (21:12 -0500)]
ir: add bt_ctf_event_freeze()
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Philippe Proulx [Sat, 13 Feb 2016 01:50:40 +0000 (20:50 -0500)]
ir: add bt_ctf_field_freeze()
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Philippe Proulx [Sat, 13 Feb 2016 01:01:15 +0000 (20:01 -0500)]
ir: remove bt_ctf_trace_get() and bt_ctf_trace_put()
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Philippe Proulx [Fri, 19 Feb 2016 23:07:25 +0000 (18:07 -0500)]
ir: move writer-specific declarations to writer header
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Philippe Proulx [Sat, 13 Feb 2016 00:45:05 +0000 (19:45 -0500)]
ir: remove event header accessors from stream
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Philippe Proulx [Fri, 12 Feb 2016 23:55:50 +0000 (18:55 -0500)]
ir: add bt_ctf_event_set_packet()
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Philippe Proulx [Wed, 17 Feb 2016 22:07:29 +0000 (17:07 -0500)]
ir: add public bt_ctf_packet object
The purpose of a bt_ctf_packet object is to hold the packet
header and packet context fields.
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Philippe Proulx [Fri, 12 Feb 2016 00:27:42 +0000 (19:27 -0500)]
ir: move the stream event ctx field to the event
Just like the event header, the stream event context field has
its type defined in the stream class, but its data can be different
in each event. The current strategy to sample and copy the current
stream's stream event context and append the copies to an array
is fine as far as CTF writer goes, but this array would not be
populated strictly using the event in the context of Babeltrace
components.
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Philippe Proulx [Thu, 11 Feb 2016 23:40:18 +0000 (18:40 -0500)]
ir: remove unused event_headers member from struct bt_ctf_stream
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Philippe Proulx [Thu, 11 Feb 2016 23:38:10 +0000 (18:38 -0500)]
ir: validate integer FT's mapped clock against signedness
It is invalid for a signed integer field type to be mapped to a clock.
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Philippe Proulx [Tue, 16 Feb 2016 01:13:02 +0000 (20:13 -0500)]
ir: clock: use value in cycles instead of ns
The value of a clock in CTF is in cycles, not in nanoseconds.
Here, bt_ctf_clock_get_time() and bt_ctf_clock_set_time() are left
as utilities to converter from/to the clock value in cycles.
Note that this conversion, unless the frequency is exactly 1 GHz,
implies casting 64-bit integers to doubles so it is possible to
lose accuracy.
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Philippe Proulx [Thu, 11 Feb 2016 23:23:26 +0000 (18:23 -0500)]
ir: freeze mapped clock when freezing integer FT
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Philippe Proulx [Thu, 11 Feb 2016 23:15:25 +0000 (18:15 -0500)]
ir: freeze clocks when freezing a trace
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Philippe Proulx [Tue, 9 Feb 2016 01:05:55 +0000 (20:05 -0500)]
ir: split event files into event and event-class files
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
This page took 0.040082 seconds and 4 git commands to generate.