So, "Phone Home" or "MySQL feedback daemon" or "better name wanted" feature.
Maybe call it "Butler" ??? Just a thought... Not unlike the Uptimes Project or Debian Popularity Contest.
Opt-in only with an easy disable option after opting in... correct?
The complete specs will be here: http://askmonty.org/worklog/Server-Sprint/?tid=12
I imagine the following ... (optionally by user) geographic location (optionally by user) user information / company name (optionally by user) Monty Program Ab customer support contract id won't be shown to everyone, correct? So maybe a filtered public versus unfiltered private view?
1. Should that be a MariaDB plugin or a separate executable ?
A separate executable would probably be the best for the reasons you highlight in your first paragraph. The drawbacks are probably covered by the fact that 1) if a user is having that awful of a time, they are probably able to step through the executing code or 2) the user probably has a support contract with a company that can step through the code and debug the problem. Granted more in depth statistics would be useful, but maybe it would make sense to have a separate project to create a loadable module that would be "more invasive." This tool seems to be oriented towards usage and "usage related" data, not necessarily troubleshooting/fixing.
2. How to send the data.
I imagine if the code is generated with this in mind it should be easy to switch out the "transport" (read transmission method) layer at a later time. Unless the person coding it really ties the data formatting and submission process to the protocol. 3. Auditing.
I think the proxy idea, as well as the "wget mode" are great ideas. If the user isn't paranoid and doesn't want to "sniff traffic" one could also provide a log of all activities and a separate log for all messages.
4. What to report.
hardware: CPU, RAM
maybe disk speeds? and type? (SATA vs SAS vs IDE)
OS (linux distribution, kernel)
any libraries?
number of databases, max/avg number of tables in a database,
the slightly insane might also run multiple instances on a single machine, so what about checking for other installations? Just a few thoughts, hopefully they're not distracting or useless. -Adam