5e502b67d2
Remove trailing slashes from tracedir
2024-09-17 14:30:10 +02:00
6aba89a8a8
Rename trace-model.md to just trace.md
2024-09-17 13:31:46 +02:00
9e6f691325
Add examples in some trace concepts
2024-09-17 13:30:21 +02:00
7ce892a9ff
Add example program for mark API
2024-09-17 12:59:30 +02:00
4c58f4619b
Document environment variables
2024-09-17 08:47:11 +02:00
8f4aa59148
Fix unit-stream test
2024-09-17 08:27:51 +02:00
d115ecad64
Remove tracing.md
2024-09-17 08:05:27 +02:00
73ce6ed035
Update trace specification to version 3
2024-09-17 08:05:15 +02:00
bba46ac200
Explain some concepts in the documentation
2024-09-13 16:03:15 +02:00
79d17b5b0c
Change hyperlinks to point to .md files
...
Allows mkdocs to discover broken links when the pointed document has
moved.
2024-09-13 10:56:50 +02:00
7522886d3f
Emit rank information after ovni_thread_init
2024-09-13 08:58:33 +02:00
16dbc8bf5d
Store rank information in the libovni thread
...
Prevents threads from finishing while another thread is being
initializing the rank information, causing a race to read the rank and
nranks.
2024-09-13 08:52:10 +02:00
f6fc166a38
Use atomics to protect libovni process state
...
Multiple threads may attempt to initialize or finalize the process, so
we keep the state stored in an atomic integer to protect against bad
usage.
2024-09-13 08:35:33 +02:00
ceaac3bcf0
Make calling ovni_thread_require() optional
...
When only emitting ovni events, there is no need to explicitly require
the ovni model, as libovni will already pre-populate it for the user.
2024-09-12 16:27:50 +02:00
d83e8f2d68
Always require the current ovni model
2024-09-12 16:24:01 +02:00
f6d85e9af5
Make ovni.require a mandatory attribute
...
We no longer accept streams that don't have the ovni.require attribute.
2024-09-12 15:56:24 +02:00
1f30e8ef8b
Parse metadata from proc and loom directly
...
All the metadata keys are known to proc and loom only, making it
self-contained. The metadata.c module is no longer needed.
2024-09-12 15:54:29 +02:00
24805f607b
Add merge-cpus-loom test
...
Ensure we can merge the information of CPUs from multiple threads.
2024-09-12 09:09:09 +02:00
94ede68bab
Fix spawn-task-external test
...
It is mandatory to call ovni_thread_free().
2024-09-10 12:49:09 +02:00
8d59161a62
Update tmpdir-metadata test
2024-09-10 12:43:10 +02:00
4e3406d5f8
Move thread streams in ovni_thread_free()
...
The process metadata in metadata.json is no longer needed.
2024-09-10 12:42:25 +02:00
2bf739efed
Reject incomplete thread streams
2024-09-10 11:57:45 +02:00
6a595fff0b
Ensure the thread is ready before adding cpus
2024-09-10 11:45:24 +02:00
6a54f19b76
Fix unit tests
2024-09-10 11:21:44 +02:00
3f6ec86890
Store .obs and .json paths in stream struct
2024-09-10 11:20:39 +02:00
8e9cc34e5e
Store loom CPUs in thread metadata
2024-09-10 11:00:07 +02:00
1b95fa813b
Store process information in thread metadata
2024-09-10 10:30:03 +02:00
aafaf6e954
Load thread tid from metadata
2024-09-10 09:59:22 +02:00
4ec966cb67
Store loom name in metadata instead of path
2024-09-10 09:59:22 +02:00
3751f3ac64
Store ovni.part in stream metadata
...
Allows multiple types of streams for different system parts: thread,
process, cpu, node...
2024-09-10 09:59:22 +02:00
f31e73003f
Store stream metadata in stream.json
...
Place all stream files in its own stream directory.
2024-09-10 09:59:22 +02:00
add2c5638a
Add more path utility functions
2024-09-10 09:59:22 +02:00
eceec52194
Store TID and PID in thread metadata
2024-09-10 09:59:22 +02:00
492d6fa290
Increase version metadata to 3
2024-09-10 09:59:22 +02:00
36cf3121d1
Fix implicit signed conversions
CI / build:rt (push) Failing after 12s
CI / build:asan (push) Failing after 12s
CI / build:nompi (push) Successful in 59s
CI / build:debug (push) Successful in 1m50s
CI / build:local (push) Successful in 2m2s
CI / build:compilers (push) Successful in 2m27s
2024-09-09 13:44:05 +02:00
c8b95313ff
Fix unaligned access to 64 bits payload
2024-09-09 13:44:05 +02:00
e5448af6d8
Rebuild ring buffer pointers after injecting events
...
The ring buffer pointers are no longer valid as we may have displaced
events around. The pointers of the affected region are reconstructed by
reading the events again, following their size.
2024-09-09 13:43:59 +02:00
49149e452c
Check ring buffer order after injecting events
...
Ensure that we are not reading garbage.
2024-09-09 09:10:04 +02:00
b2d91391b3
Add sort-into-previous-region emu test
2024-09-09 09:10:04 +02:00
13f70be87b
Set nOS-V version required for tests to 2.3.1
...
Includes the required fixes for the kernel ring buffer tests.
2024-09-09 08:51:04 +02:00
71aa33d22f
Use string to set ovni.kernel_ringsize
2024-09-09 08:51:04 +02:00
4c3da12ea1
Fix typos in nOS-V kernel test
2024-09-09 08:51:04 +02:00
a47082730a
Ensure that nOS-V aborts on ring overflow
2024-09-09 08:51:04 +02:00
99dc3904af
Add overflow and normal kernel nOS-V tests
2024-09-09 08:51:04 +02:00
acf18c1bb4
Make nOS-V kernel overflow test configurable
2024-09-09 08:51:04 +02:00
e9788e22ad
Add test kernel ring overflow test for nOS-V
...
There is a problem in the way we are reading the buffer in nOS-V, which
fails when the ring buffer gets full. This regression test ensures it is
fixed.
Reported-by: David Álvarez <david.alvarez@bsc.es>
2024-09-09 08:51:04 +02:00
6cb983a7c4
Update nOS-V commit
2024-09-09 08:51:04 +02:00
7496a6a866
Fix easy cases of unneeded casts
2024-09-09 08:28:08 +02:00
c8750b9dfd
Enable -Wconversion and -Wsign-conversion
...
Prevents implicit conversions to go undetected, as they will have to be
explicit now.
2024-09-09 08:28:02 +02:00
d98ca97624
Fix unaligned load of 4 bytes for typeid
...
Use memcpy() to move the typeid to an aligned address.
2024-07-29 13:17:37 +02:00