Florian Lüke
76d345486e
launch: add mana_nng_client
2024-12-29 21:28:51 +01:00
Florian Lüke
1275008864
begin work on a root rntuple writer
2024-12-29 18:58:41 +01:00
Florian Lüke
1d2e4952ad
refactor things, mostly renaming
2024-12-29 18:58:19 +01:00
Florian Lüke
ee8305cd0c
factor out common code
2024-12-29 18:57:05 +01:00
Florian Lüke
8dfa2d798a
implement a working mana_nng_client
...
Speed is great: it's faster when using the root-histogram plugin. In the
case of the cpp-test plugin, which does not do anything, it's slower:
6 GB/s vs 9 GB/s when running the plugin directly.
-> As soon as a bit of work is done per event it should always be better to
buffer up parsed event data and process it in a tight loop (in a different
thread).
2024-12-29 00:17:38 +01:00
Florian Lüke
99949f08e4
NngServerSink fixes and use an absolute ipc socket url for now
2024-12-29 00:15:01 +01:00
Florian Lüke
af8ea1db47
ManaSinkPerfProxy: measure run time starting after the call to begin_run()
2024-12-29 00:14:18 +01:00
Florian Lüke
7d414c8e56
mnode_nng: add receive_message_retry()
2024-12-29 00:13:07 +01:00
Florian Lüke
92ec0eaf05
fixes and start mana_nng_client
2024-12-28 19:18:18 +01:00
Florian Lüke
cad7b29796
fix argh.h - use the one from mesytec-mvlc (same include guard)
2024-12-28 19:17:06 +01:00
Florian Lüke
f126ca307c
update readme
2024-12-28 18:51:42 +01:00
Florian Lüke
430c812a15
add readme
2024-12-28 18:43:02 +01:00
Florian Lüke
9706a19e56
formatting fixes
2024-12-28 17:54:45 +01:00
Florian Lüke
80ab196d90
update mesytec-mvlc, cmake fixes
2024-12-28 17:54:15 +01:00
Florian Lüke
ef407db7f1
remove spdlog submodule, add spdlog-1.14.0
2024-12-28 17:53:22 +01:00
Florian Lüke
40eb0f2c70
cmake: silence policy warnings
2024-12-28 16:27:29 +01:00
Florian Lüke
b40d60e015
add a NngServerSink and somehow get the plugin to link
...
Things are messy, doesn't link with clang in vscode, works in the shell.
2024-12-28 07:06:05 +01:00
c08f339c95
fixes for windows msys2 ucrt64
...
Builds with protobuf v29.2 compiled and installed locally. Set
CMAKE_PREFIX_PATH via cmake.configureArgs.
The find_package(Protobuf CONFIG REQUIRED) will likely break the debian
build.
2024-12-28 05:33:42 +01:00
d0b6089536
Merge commit 'b6a2ffe5d052d79b3e6f9be239111f0d594b41cb' as 'external/nng'
2024-12-28 04:48:21 +01:00
b6a2ffe5d0
Squashed 'external/nng/' content from commit 29b73962
...
git-subtree-dir: external/nng
git-subtree-split: 29b73962b939a6fbbf6ea8d5d7680bb06d0eeb99
2024-12-28 04:48:21 +01:00
5d6ca86ddd
remove nng submodule
2024-12-28 04:48:16 +01:00
Florian Lüke
5764d7f9c0
remove debug statement
2024-12-27 20:15:55 +01:00
Florian Lüke
06da32c728
cmake: fix misleading indentation
2024-12-27 20:15:23 +01:00
Florian Lüke
2ce5bdc0bc
mana auto replay: report nng perf after the producer thread terminated
2024-12-27 20:15:01 +01:00
Florian Lüke
a7b5d50533
remove unused ManaSinkProxy
2024-12-27 19:13:29 +01:00
Florian Lüke
48d0a3d5c0
rename mana_nng.h -> mana_nng.hpp
2024-12-27 19:13:13 +01:00
Florian Lüke
eedd95bd2f
mana auto replay: load both c and cpp plugins
2024-12-27 18:50:40 +01:00
Florian Lüke
47b8977807
cleanup the mana c plugin
2024-12-27 18:50:09 +01:00
Florian Lüke
47926ce5e1
cleanup mana python plugin
2024-12-27 18:49:49 +01:00
Florian Lüke
a9bfcf151c
mana: add cpp plugin interface and test plugin
2024-12-27 18:49:19 +01:00
Florian Lüke
aa9d21d81c
add cpp wrapper for rxi/log.c
2024-12-27 18:48:07 +01:00
Florian Lüke
c82671490a
better mana c api entry point definition
2024-12-27 17:34:02 +01:00
Florian Lüke
bbd52cbde0
mana auto replay: print sink perf stats at the end of the run
2024-12-27 17:33:33 +01:00
Florian Lüke
1698987311
mana: implement ManaSinkPerfProxy
2024-12-27 17:32:20 +01:00
Florian Lüke
00337c6af8
mana root histograms: output file name based on daq run name
2024-12-27 14:39:48 +01:00
Florian Lüke
f5fc1d49e7
add argc, argv to mana plugin init
2024-12-27 14:39:00 +01:00
Florian Lüke
81023bbde2
add split_string() utility
2024-12-27 14:37:11 +01:00
Florian Lüke
ee10c7ce70
rename mana_plugin_t -> mana_sink_plugin_t
2024-12-27 14:08:13 +01:00
Florian Lüke
714e0c4f3a
rename mana_api.h -> mana_c_api.h
2024-12-27 14:03:57 +01:00
Florian Lüke
d8eb73671d
refactor ManaPlugin -> IManaSink, ManaCPlugin -> ManaCSink
2024-12-27 13:57:03 +01:00
Florian Lüke
8c1e122e06
warn if root histo plugin is initialized multiple times
2024-12-27 13:53:09 +01:00
Florian Lüke
59b11c94a7
hide ManaPlugin constructors
2024-12-27 13:53:02 +01:00
Florian Lüke
9c76aa93bf
simplify the ManaPlugin class, decouple it from the C plugin interface
2024-12-27 12:40:49 +01:00
Florian Lüke
bfce5e76ab
mana root plugin: change logging to log.c
2024-12-26 19:21:25 +01:00
Florian Lüke
ebd823ae4e
mana root plugin: implement raw histograms, fixes
2024-12-26 18:44:24 +01:00
Florian Lüke
ead9c0ee2e
fixes and refactorings
2024-12-26 18:42:25 +01:00
Florian Lüke
9e5b79cb34
mana: implement nng pair based threaded strategy
...
It's a tiny bit faster than the single threaded strategy:
- Counting plugin, is690-9Li_3H_run094:
- direct, single threaded: 217.72411048962562 MiB/s
- nng-pair, multi threaded: 228.50186892946155 MiB/s
- root-histogram plugin (hitcount histos only), is690-9Li_3H_run094:
- direct, single threaded: 210.73162379794522 MiB/s
- nng-pair, multi threaded: 219.66463320034057 MiB/s
2024-12-26 15:37:15 +01:00
Florian Lüke
e38ada8854
.clang-format: set SortIncludes: CaseSensitive
2024-12-26 15:28:54 +01:00
Florian Lüke
76d85e5c39
mnode_nng_proto: fix warning
2024-12-26 15:28:17 +01:00
Florian Lüke
0eaa5aa942
mnode_nng: reformat
2024-12-26 15:28:00 +01:00