Let me step back a bit...
I really think that for the embedded Wildfly agent, it makes total sense and is preferable to use standalone.xml for the reasons mentioned above. The user is primarily a Wildfly user and he "just" wants to monitor it.
Now, even though I see the benefits in some agent that can support many things (with or without plugins), I am not fully convinced that it's the right approach.
- For the docker/kubernetes/cAdvisor/heapster world, it would be more natural to run a Go-lang client with a yaml descriptor, this is kinda the "standard" there. That agent could be in charge of reading metrics for the kubernetes infrastructure + application metrics (through JMX/Jolokia and Prometheus) (admittedly, the language itself may somehow be hidden if it can run in a small container)
- At the OS/linux level, python seems to be a preferred solution (To be verified).
- ...
(In that case, I would trim down the Wildfly agent for DMR and embedded + domain scenarios.)
To some extend it would simplify some aspects ("no write-back" issue for instance), I understand it adds some duplication + requires a team to become polyglot.
Would we ever need to support 2 same protocoles for 2 different agents, very likely. Even though we seem to have some preferences according to the environment, WF is exposing its DMR interface in "standard" deployments, while it's exposing Jolokia in OpenShift environment.
In nothing else, I think it would help adoption + contributions.
Thomas