The discussion in #735 made it clear that on one hand the dev team is concerned about surprising users upgrading to a new version, and on the other hand a subset of users (myself included) desires the pre-0.15 behaviour of exactly enumerating which collectors should be enabled.
It seems like both sides could be addressed by having --enable.{collector} act additively, and using a different option to define the exact collector set. (E.g., --collectors X,Y,Z.) Arguably, users opting for the latter option are experienced enough where they understand they have to read the upgrade notes for any collector name changes.
We usually try and avoid two ways of doing the same thing.
Also, what is the behavior / presidence of using both at the same time?
One thing to note, we're approaching 1.0 here, and with that we would have stability gauruntees that would make it less of an issue to include the no-defaults flag.
The simplest way to handle using both is to exit with an error and a message that "--enable" and "--collectors" options are mutually exclusive and can't be used at the same time.
I would prefer to just have a flag which deactivates all the default collectors except for the ones that have been explicitly activated.
Agree with @pgier - maybe we should close this but fix #735?
Just for the record, I think a disable-all flag is and was fine to add. if @pgier agrees, I'll submit a PR.
Most helpful comment
I would prefer to just have a flag which deactivates all the default collectors except for the ones that have been explicitly activated.