Closed bs-github closed 7 years ago
What happens if you remove -collector.wifi="collector/fixtures/wifi" \
from the end-to-end-tests.sh file? Do they pass?
removing wifi leads to
time="2017-02-28T14:50:42+01:00" level=fatal msg="Couldn't load collectors: collector 'conntrack' not available" source="node_exporter.go:153"
removing conntrack leads to
time="2017-02-28T14:52:25+01:00" level=fatal msg="Couldn't load collectors: collector 'diskstats' not available" source="node_exporter.go:153"
removing diskstats leads to
time="2017-02-28T14:54:51+01:00" level=fatal msg="Couldn't load collectors: collector 'drbd' not available" source="node_exporter.go:153"
removing drbd leads to
time="2017-02-28T14:56:06+01:00" level=fatal msg="Couldn't load collectors: collector 'edac' not available" source="node_exporter.go:153"
removing edac leads to
time="2017-02-28T14:57:20+01:00" level=fatal msg="Couldn't load collectors: collector 'entropy' not available" source="node_exporter.go:153"
removing entropy leads to
time="2017-02-28T14:58:57+01:00" level=fatal msg="Couldn't load collectors: collector 'filefd' not available" source="node_exporter.go:153"
removing filefd leads to
time="2017-02-28T15:01:16+01:00" level=fatal msg="Couldn't load collectors: collector 'hwmon' not available" source="node_exporter.go:153"
removing hwmon leads to
time="2017-02-28T15:01:52+01:00" level=fatal msg="Couldn't load collectors: collector 'infiniband' not available" source="node_exporter.go:153"
and so it goes on...
do you think we should disable every single collector for the end to end test?
This is what works out of the box:
INFO[0000] Enabled collectors: source="node_exporter.go:156"
INFO[0000] - cpu source="node_exporter.go:158"
INFO[0000] - filesystem source="node_exporter.go:158"
INFO[0000] - loadavg source="node_exporter.go:158"
INFO[0000] - meminfo source="node_exporter.go:158"
INFO[0000] - netdev source="node_exporter.go:158"
INFO[0000] - textfile source="node_exporter.go:158"
INFO[0000] - time source="node_exporter.go:158"
INFO[0000] Listening on :9100 source="node_exporter.go:176"
Well, that's not worth it I guess. We execute the end-to-end tests in CI / Travis under linux anyway, so probably not a big deal to just completely disable them on non-linux systems for now.
And with all the not working collectors removed:
collectors=$(cat << COLLECTORS
buddyinfo
loadavg
meminfo
netdev
textfile
megacli
COLLECTORS
)
there comes the diff https://github.com/prometheus/node_exporter/blob/master/end-to-end-test.sh#L126-L128 that won't work with all those disabled.
We need to improve our end-to-end test framework. See #478.
The end to end tests are executed regardless of the system the node_exporter is compiled on.
I think they are only going to succeed on Linux the way they are designed yet. I don't think that's a problem, but a simple make call should succeed on other OSes as well.