local uname_fd = io.popen("uname -m")

local labels = {
  domainname = "",
  nodename = "",
  release = string.sub(get_contents("/proc/sys/kernel/osrelease"), 1, -2),
  sysname = string.sub(get_contents("/proc/sys/kernel/ostype"), 1, -2),
  version = string.sub(get_contents("/proc/sys/kernel/version"), 1, -2),
  machine = string.sub(uname_fd:read("*a"), 1, -2)
}

uname_fd:close()

local function scrape()
  labels["domainname"] = string.sub(get_contents("/proc/sys/kernel/domainname"), 1, -2)
  labels["nodename"] = string.sub(get_contents("/proc/sys/kernel/hostname"), 1, -2)
  metric("node_uname_info", "gauge", labels, 1)
end

return { scrape = scrape }