Add support for selecting collectors at buildtime

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.
This commit is contained in:
Johannes 'fish' Ziemke 2014-02-07 17:09:39 +01:00
commit 04380ae60a
7 changed files with 76 additions and 41 deletions

View file

@ -2,8 +2,9 @@ package main
import (
"flag"
"github.com/prometheus/node_exporter/exporter"
"log"
"github.com/prometheus/node_exporter/exporter"
)
var (
@ -18,5 +19,9 @@ func main() {
if err != nil {
log.Fatalf("Couldn't instantiate exporter: %s", err)
}
log.Printf("Registered collectors:")
for _, c := range exporter.Collectors {
log.Print(" - ", c.Name())
}
exporter.Loop()
}