// // Created by Мустафаев Селим Мустафаевич on 01.01.2024. // #include "DnsmasqSource.h" #include #include DnsmasqSource::DnsmasqSource() { } std::vector DnsmasqSource::readLeases() { std::ifstream leases("/var/lib/misc/dnsmasq.leases"); std::string line; std::vector result; auto labels = std::array{ "time", "mac", "ip", "host", "id" }; while(std::getline(leases, line)) { prometheus::Labels lineMap; for(const auto [index, item]: std::views::split(line, ' ') | std::views::enumerate) { lineMap[labels[index]] = std::string_view(item); } result.push_back(lineMap); } return result; }