Commit Graph

40 Commits

Author SHA1 Message Date
544c67330c Allow a temporal directory to flush the buffers
The directory can be specified using the OVNI_TMPDIR environment
variable.
2022-01-12 16:57:52 +01:00
86fb8b4717 Fix copyright years 2022-01-12 10:47:47 +01:00
39b65b1e67 Define gettid for old glibc versions 2022-01-12 10:29:13 +01:00
1b1ca7e232 Add rank support in metadata 2021-12-10 18:37:14 +01:00
19c535ef02 Poison assert() 2021-12-09 16:56:24 +01:00
6b9e083225 Fix typo 2021-12-09 16:43:07 +01:00
75c32f3a99 Transform all aserts into unconditional checks 2021-12-09 16:08:36 +01:00
2046833700 Improve error handling in libovni
- Transform asserts into unconditional checks
- Abort as soon as an error is encountered
- Remove return errors
2021-12-09 14:18:33 +01:00
d79b887182 Remove ovni_clock_update()
The clock is now managed by the user, using the ovni_clock_now()
function to sample the current value and ovni_ev_set_clock() to set the
event clock timestamp. This change allows events with custom clock
values.
2021-12-02 10:36:47 +01:00
5eadcb404e Use const qualifier in public ovni.h functions 2021-11-19 17:09:39 +01:00
d54c287ec8 Split ovni trace funtions to another source file 2021-11-19 16:48:53 +01:00
4fcef1c5b6 Fix some warnings for clang and intel compilers 2021-11-16 19:20:50 +01:00
29ea26e871 Emit flush events in order, after the user event
Fixes the backwards jump in time warnings each 2 MB of buffer, caused by
the flush events being written out of order.
2021-11-03 11:33:16 +01:00
fe3b408157 Add _emit sufffix in ovni_ev and ovni_ev_jumbo
The new names avoid problems in C++ as the struct ovni_ev collided with
the ovni_ev function.
2021-11-03 11:32:17 +01:00
d3e87c2272 Add GPLv3 and MIT licenses 2021-11-03 11:32:17 +01:00
749c755b5d Remove debug messages from libovni 2021-10-21 16:53:01 +02:00
5a940540d3 Use priority queue for streams and fast channels
A priority queue (in heap.h) is used to keep the next event ready in the
emulator loop. Additionally, a list of dirty channels is keept to
limit the complexity of the propagation and emit phases.
2021-10-21 16:53:00 +02:00
151f5a2b77 Set the loom in the process 2021-10-21 16:53:00 +02:00
Kevin Sala
162245e955 Reorder trace looms by hostname (workaround) 2021-10-21 16:53:00 +02:00
ac6013419b Replace class by category to avoid C++ problems 2021-10-21 16:53:00 +02:00
d4246c1c24 Check snprintf return value 2021-10-21 16:05:31 +02:00
6a3ea0907a Enable pedantic and use C11 std 2021-09-28 19:30:31 +02:00
755f2e84f3 Use 64 bit clock to prevent overflows
Large offsets between nodes may overflow the previous 48 bit clock
leading to an incorrect reconstructed clock value after the correction
with the 64 bit offset.
2021-08-11 11:50:07 +02:00
60d6bbb337 Avoid printing the metadata to stdout 2021-08-10 14:00:04 +02:00
Kevin Sala
543dd51d8f Fixing compilation errors 2021-08-10 10:16:41 +02:00
e6e976023d Implement the clock offset correction 2021-08-03 19:56:31 +02:00
4e971bceff Write multiple prv files and add app id view 2021-08-03 18:42:56 +02:00
60862db890 Store CPU list in a metadata.json file
This allows early access to the CPU list in order to emit the PRV header
before consuming events from the streams.
2021-08-03 17:48:37 +02:00
43950a13f1 Load arbitrary loom names 2021-08-02 20:23:57 +02:00
b6af567b23 Use a string to identify the loom
Allows the use of the hostname by now
2021-08-02 20:03:20 +02:00
c42711908b Fix empty streams 2021-08-02 12:34:11 +02:00
Rodrigo
4e23d7d435 WIP 2021-08-02 10:08:58 +02:00
dc2df90cc4 Load process directories using the pid 2021-07-30 21:37:25 +02:00
d7c81b3048 Add jumbo events 2021-07-30 20:08:40 +02:00
d25bbed350 Distribute emulator into modules 2021-07-28 11:56:35 +02:00
cfc4eb7527 Single header and move lib functions to libovni 2021-07-24 10:53:41 +02:00
17d977aad0 Use write() and mark flushes 2021-07-22 12:35:02 +02:00
025378a843 Split event data into two shorts: a and b 2021-07-21 18:27:58 +02:00
fe5d223190 Store traces per thread 2021-07-19 19:05:26 +02:00
1092faebf3 Initial commit 2021-07-19 15:11:41 +02:00