#include "DataSources/DnsmasqSource.h" #include #include #include #include #include #include int main() { prometheus::Exposer exposer{"0.0.0.0:9000"}; auto registry = std::make_shared(); DnsmasqSource dnsmasq; auto& gouge = prometheus::BuildGauge() .Name("aliencat_dnsmasq_leases") .Help("Dnsmasq leases detail info") .Register(*registry); exposer.RegisterCollectable(registry); for (;;) { std::this_thread::sleep_for(std::chrono::seconds(1)); for(const auto& leaseLabels: dnsmasq.readLeases()) { gouge.Add(leaseLabels).Set(1); } } return 0; }