ASR_BASE

Change-Id: Icf3719cc0afe3eeb3edc7fa80a2eb5199ca9dda1
diff --git a/external/subpack/utils/prometheus-node-exporter-ucode/files/extra/netstat.uc b/external/subpack/utils/prometheus-node-exporter-ucode/files/extra/netstat.uc
new file mode 100644
index 0000000..7449305
--- /dev/null
+++ b/external/subpack/utils/prometheus-node-exporter-ucode/files/extra/netstat.uc
@@ -0,0 +1,30 @@
+function parse(fn) {
+	let f = fs.open(fn);
+
+	if (!f)
+		return false;
+
+	let names, values;
+	while (names = nextline(f), values = nextline(f)) {
+		const name = wsplit(names);
+		const value = wsplit(values);
+
+		if (name[0] != value[0])
+			continue;
+
+		if (length(name) != length(value))
+			continue;
+
+		let prefix = substr(name[0], 0, -1);
+		for (let i = 1; i < length(name); i++)
+			gauge(`node_netstat_${prefix}_${name[i]}`)(null, value[i]);
+	}
+
+	return true;
+}
+
+let n = parse("/proc/net/netstat");
+let s = parse("/proc/net/snmp");
+
+if (!n && !s)
+	return false;