Commit graph

138 commits

Author SHA1 Message Date
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
Florian Lüke
9bdd79e910 mana: strategy 2024-12-26 03:17:33 +01:00
Florian Lüke
76b22c1434 mana: don't need to pass analysisContext to process_one_buffer() 2024-12-26 03:09:08 +01:00
Florian Lüke
13c73cfdfc mana: add a python plugin 2024-12-26 03:08:26 +01:00
Florian Lüke
6f7102549e mana: add a root-histogram plugin and improve ManaCountingSink
Currently only histograms the hit counts per input array element, not
the actual data.

The counting plugin now also tracks and prints 'eventArrayIndexHits'.
2024-12-26 01:46:58 +01:00
Florian Lüke
edf0d291a9 mana: add c test plugin and make plugin loading work 2024-12-26 00:32:56 +01:00
Florian Lüke
da8f52730f add rxi/logc from https://github.com/rxi/log.c 2024-12-26 00:31:58 +01:00
Florian Lüke
587bf0e6cb first working mana_auto_replay
ManaCountingSink counts match the mvme analysis counts for the single event
is690-9Li_3H_run094 run. ~280 MB/s in release mode.
2024-12-25 23:37:37 +01:00
Florian Lüke
ce00821bbb mana_arena: add missing include 2024-12-25 18:30:10 +01:00
Florian Lüke
d5f9b87896 nng_proto: add comments. fix return statement in serialize_proto_to_nng() 2024-12-25 18:29:49 +01:00
Florian Lüke
ba54b5ff19 add .vscode/ 2024-12-25 18:29:02 +01:00
Florian Lüke
f2c36fec77 Merge branch 'dev' of fl:~/var/git/mesytec-mnode into dev 2024-12-25 06:27:20 +01:00
Florian Lüke
c8be12c1b6 more work on mana, commiting state 2024-12-25 05:47:38 +01:00
Florian Lüke
dfe5d7eb3b mana: unfinished offset ptr stuff 2024-12-25 03:19:29 +01:00