maria-developers team mailing list archive
-
maria-developers team
-
Mailing list archive
-
Message #02477
Updated (by Monty): Phone home (12)
-----------------------------------------------------------------------
WORKLOG TASK
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
TASK...........: Phone home
CREATION DATE..: Wed, 01 Apr 2009, 15:30
SUPERVISOR.....: Knielsen
IMPLEMENTOR....: Bothorsen
COPIES TO......:
CATEGORY.......: Server-RawIdeaBin
TASK ID........: 12 (http://askmonty.org/worklog/?tid=12)
VERSION........: Connector/.NET-1.6
STATUS.........: Un-Assigned
PRIORITY.......: 60
WORKED HOURS...: 0
ESTIMATE.......: 120 (hours remain)
ORIG. ESTIMATE.: 120
PROGRESS NOTES:
-=-=(Monty - Tue, 09 Mar 2010, 19:25)=-=-
High Level Description modified.
--- /tmp/wklog.12.old.27502 2010-03-09 19:25:56.000000000 +0000
+++ /tmp/wklog.12.new.27502 2010-03-09 19:25:56.000000000 +0000
@@ -1,6 +1,6 @@
-This project is to develop a plugin for the MySQL server that provides
+This project is to develop a plugin for the MariaDB server that provides
a "phone home" feature. When this plugin is installed, the database
-server will regularly contact a web service operated by MySQL AB, and
+server will regularly contact a web service operated by Monty Program Ab, and
upload a bundle of non-sensitive information. The collection and
analysis of this information will give MySQL AB useful insight into
the user base
@@ -32,10 +32,10 @@
Data Not Sent
Contents or names of any user database
- Anything that allows MySQL to track down the user
+ Anything that allows MariaDB to track down the user
if the user doesn't explicitly permit it
-What will run at MySQL's datacenter
+What will run at Monty Program's or/and the users datacenter
simple CGI on Apache
takes a HTTP REST PUT
insert received information into a database
DESCRIPTION:
This project is to develop a plugin for the MariaDB server that provides
a "phone home" feature. When this plugin is installed, the database
server will regularly contact a web service operated by Monty Program Ab, and
upload a bundle of non-sensitive information. The collection and
analysis of this information will give MySQL AB useful insight into
the user base
Summary of collected information
how many servers are running the plugin
- can help estimate total number of running servers worldwide
what platform & hardware they are running on
what version and build they are running
what features are being used
Information sent from each instance
A unique server identifier
secure hash of MAC address + listening port
unique, but doesn't leak customer data
Processor type, speed, processor count / core count, bitwidth (32/64)
OS / Distro / Kernel id and version
Which storage engines are in use
Number and size of databases (disk space, probably can't for cluster)
Counts / Rates of I/O activity
List of loaded plugins
SHOW STATUS
SHOW VARIABLES (but not anything that can give away user identity)
will be a explicit list of what variables will be shown
gives among other things, the MySQL server version & Server uptime
(optionally by user) geographic location
(optionally by user) user information / company name
(optionally by user) MySQL customer support contract id
Data Not Sent
Contents or names of any user database
Anything that allows MariaDB to track down the user
if the user doesn't explicitly permit it
What will run at Monty Program's or/and the users datacenter
simple CGI on Apache
takes a HTTP REST PUT
insert received information into a database
database schema is TBD, but not complicated
Analysis/Reporting/Business Process are TBD
What will run on the users' machines
Daemon Plugin module
can be dynamically loaded, or statically compiled
runs as part of the mysqld process
daemon plugins have full access to server internals
Start and use it's own thread
will not block normal operation
will yield often
will hold read mutexs as short as possible
Loop and delay on an interval (specified by option)
probably default to be on server restart and about once a week
randomly spread time to avoid too many calling in at the same moment
Gather data from internal mysqld data structures
Convert data into simple text format (human readable)
Transmit data via HTTP REST POST to one or more given URLs
ESTIMATED WORK TIME
ESTIMATED COMPLETION DATE
-----------------------------------------------------------------------
WorkLog (v3.5.9)