36inline int runProbes(
int argc,
const char *argv[],
const char *name,
37 const char *description,
38 const std::vector<ProbeEntry> &probes) {
40 cli.description(description);
41 std::string probeName;
42 cli.add_option(
"--probe", probeName,
43 "Run only the named probe. Without this flag, every probe "
45 if (
int rc = cli.
esiParse(argc, argv))
47 if (!cli.get_help_ptr()->empty())
56 conn->getServiceThread()->addPoll(*accel);
59 if (probeName.empty()) {
60 for (
const auto &[pname, fn] : probes) {
67 for (
const auto &[pname, candidate] : probes) {
68 if (pname == probeName) {
74 std::cerr << name <<
": unknown probe '" << probeName <<
"'\n";
83 }
catch (std::exception &e) {
AcceleratorConnections, Accelerators, and Manifests must all share a context.
int runProbes(int argc, const char *argv[], const char *name, const char *description, const std::vector< ProbeEntry > &probes)
Run the probe-runner main loop. Returns 0 on success, nonzero on failure.