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