Commit Graph

1029 Commits

Author SHA1 Message Date
fe860b2e38 Add partial-cpus test 2024-11-05 10:56:29 +01:00
60b575c8f8 Add python3 dependency for openmp 2024-10-29 09:42:03 +01:00
3a20cb717c Update runtimes, clang and ovni commits for CI 2024-10-29 09:41:58 +01:00
3bbfe0f0ec Update changelog 2024-10-25 14:39:41 +02:00
04d984d4fc Make cpu index check more strict 2024-10-25 14:22:37 +02:00
05c4ed4963 Remove info() call leftover in libovni 2024-10-25 14:22:37 +02:00
7cf69d055a Remove ovni as explictly required model
It is already added as a requirement in ovni_thead_init().
2024-10-25 14:22:37 +02:00
4c80cb3ed1 Fix typos in docs and extend CPU index usage 2024-10-25 14:22:32 +02:00
4c5e3ae151 Make all atomic operations explicit 2024-10-25 13:41:15 +02:00
86d0d11869 Add trace diagram and organize concepts 2024-10-25 13:41:15 +02:00
bf8c609dbd Remove trailing slashes from tracedir 2024-10-25 13:41:15 +02:00
706aa4a787 Rename trace-model.md to just trace.md 2024-10-25 13:41:15 +02:00
dd5b85d2c8 Add examples in some trace concepts 2024-10-25 13:41:15 +02:00
53aa3b3679 Add example program for mark API 2024-10-25 13:41:15 +02:00
6c33a2f4c0 Document environment variables 2024-10-25 13:41:15 +02:00
ea77f3d72e Fix unit-stream test 2024-10-25 13:41:15 +02:00
c190d27467 Remove tracing.md 2024-10-25 13:41:15 +02:00
ecf4c5da8c Update trace specification to version 3 2024-10-25 13:41:15 +02:00
6285a47f72 Explain some concepts in the documentation 2024-10-25 13:41:15 +02:00
5d4fa15eb9 Change hyperlinks to point to .md files
Allows mkdocs to discover broken links when the pointed document has
moved.
2024-10-25 13:41:15 +02:00
bb4e4d7e56 Emit rank information after ovni_thread_init 2024-10-25 13:41:15 +02:00
c9bbd542c5 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-10-25 13:41:15 +02:00
6e99d91dae 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-10-25 13:41:15 +02:00
4c2071e906 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-10-25 13:41:15 +02:00
b49671d530 Always require the current ovni model 2024-10-25 13:41:15 +02:00
5c11c469f2 Make ovni.require a mandatory attribute
We no longer accept streams that don't have the ovni.require attribute.
2024-10-25 13:41:15 +02:00
361290e24f 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-10-25 13:41:15 +02:00
65d1a5ecec Add merge-cpus-loom test
Ensure we can merge the information of CPUs from multiple threads.
2024-10-25 13:41:15 +02:00
6af367ba76 Fix spawn-task-external test
It is mandatory to call ovni_thread_free().
2024-10-25 13:41:15 +02:00
65907a96f4 Update tmpdir-metadata test 2024-10-25 13:41:15 +02:00
05c1724234 Move thread streams in ovni_thread_free()
The process metadata in metadata.json is no longer needed.
2024-10-25 13:41:15 +02:00
4180300e87 Reject incomplete thread streams 2024-10-25 13:41:15 +02:00
c61f5a8772 Ensure the thread is ready before adding cpus 2024-10-25 13:41:15 +02:00
fdcff58318 Fix unit tests 2024-10-25 13:41:15 +02:00
72e60e97ea Store .obs and .json paths in stream struct 2024-10-25 13:41:15 +02:00
132b2fd536 Store loom CPUs in thread metadata 2024-10-25 13:41:15 +02:00
12835ad23a Store process information in thread metadata 2024-10-25 13:41:15 +02:00
06a2262db9 Load thread tid from metadata 2024-10-25 13:41:15 +02:00
cc5578e306 Store loom name in metadata instead of path 2024-10-25 13:41:15 +02:00
8765588667 Store ovni.part in stream metadata
Allows multiple types of streams for different system parts: thread,
process, cpu, node...
2024-10-25 13:41:15 +02:00
9a8dc382a2 Store stream metadata in stream.json
Place all stream files in its own stream directory.
2024-10-25 13:41:15 +02:00
85859a488d Add more path utility functions 2024-10-25 13:41:15 +02:00
e54e3e684e Store TID and PID in thread metadata 2024-10-25 13:41:15 +02:00
17c74d2e32 Increase version metadata to 3 2024-10-25 13:41:15 +02:00
c60f22f7f7 Update mkdocs to 1.6.0 2024-09-13 09:38:40 +02:00
36cf3121d1 Fix implicit signed conversions
Some checks failed
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