This works by using a global array with references to NewXCollector
functions. Each collector appends to that array in it's init() function.
Which file gets build depends on the build tags:
To build only the ganglia exporter, you can do:
go build -tags nonative,ganglia
By default it will build only the native collector.
The exporter was never fully working and it turns out the protocol is
much harder to support than thought. Since we're not depending on munin
anyway, I've dropped it.
Because: "We are using a period to separate between the job name and the metric
name in shorthand; thusly, a metric ought not have a period in it." - Matt
A collector is a type matching 'Collector' interface.
The following collectors where added:
- NativeCollector wrapping the original functionality (attributes, load)
- GmondCollector scraping ganglia's gmond (based on gmond_exporter)
- MuninCollector scraping munin (based on munin_exporter)