feat: Remove init functions from collectors

Behaviour of init functions has been centralised in `collector/init.go`,
and can be called during exporter startup. This allows the exporter to
control the timing of collector initialisation, rather than relying on
the import & `init()` method.

This should reduce unexpected behaviour arising from the use of
`init()`, such as #551.

Signed-off-by: Ben Reedy <breed808@breed808.com>
This commit is contained in:
Ben Reedy
2022-12-21 15:37:14 +10:00
parent 8132083892
commit 9214a87d0d
52 changed files with 312 additions and 223 deletions

View File

@@ -55,10 +55,6 @@ type textFileCollector struct {
mtime *float64
}
func init() {
registerCollector("textfile", NewTextFileCollector)
}
// NewTextFileCollector returns a new Collector exposing metrics read from files
// in the given textfile directory.
func NewTextFileCollector() (Collector, error) {