lp:~sergei.glushchenko/percona-server/scalability-metrics

Created by Sergei Glushchenko on 2013-06-05 and last modified on 2013-06-11
Get this branch:
bzr branch lp:~sergei.glushchenko/percona-server/scalability-metrics
Only Sergei Glushchenko can upload to this branch. If you are Sergei Glushchenko please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Recent revisions

461. By Sergei Glushchenko on 2013-06-11

Plugin for scalability metrics.
This is an audit plugin which provides following status variables
once loaded and enabled:
- scalability_metrics_elapsedtime - total time elapsed since starting point
- scalability_metrics_queries - number of completed queries since starting point
- scalability_metrics_concurrency - number of queries currently executed
- scalability_metrics_totaltime - total execution time of all queries
- scalability_metrics_busytime - server's total busy time
time is counted in microseconds.
There is also the global control variable named scalability_metrics_ctl
with possible values ON, OFF, RESET.
Setting the value to ON enables counting of metrics. Setting it to OFF disables
counting. By setting the value to RESET one can reset counters (status
variables) while continuing to count metrics.

Notes on implementation.
Three types of notifications are used to count these metrics (all three are of
MYSQL_AUDIT_GENERAL_CLASS class).
MYSQL_AUDIT_GENERAL_LOG with command 'Query' and 'Execute' is considered a
query start event
MYSQL_AUDIT_GENERAL_RESULT and MYSQL_AUDIT_GENERAL_ERROR are considered a
query end event
Time intervals are calculated with mutex held. Pressure on this mutex
however is nearly not as much as pressure on LOCK_plugin used by MySQL.
Timestamps are gathered on Linux by using clock_gettime(CLOCK_MONOTONIC, )
which should use TSC CPU register to receive time and also should be
fully executed in user-space via VDSO. Since OS X lacks clock_gettime,
mach_absolute_time was used on this platform. QueryPerformanceCounter
can be used on Windows, but it is not implemented since author donesn't
have access to Windows machine.

460. By <email address hidden> on 2013-02-28

Merge lp:~percona-core/percona-server/release-5.5.29-30.0

459. By <email address hidden> on 2013-02-27

Merge lp:~akopytov/percona-server/bug1123921

458. By <email address hidden> on 2013-02-27

Merge lp:~akopytov/percona-server/bug1132350

457. By <email address hidden> on 2013-02-27

Merge lp:~akopytov/percona-server/bug1132351

456. By <email address hidden> on 2013-02-27

Empty merge from Percona Server 5.1

455. By <email address hidden> on 2013-02-27

Empty merge from Percona Server 5.1

454. By <email address hidden> on 2013-02-26

Merge lp:~hrvojem/percona-server/rn-5.5.29-30.0-fix

453. By <email address hidden> on 2013-02-26

Merge lp:~akopytov/percona-server/bug1123915

452. By <email address hidden> on 2013-02-26

Merge lp:~akopytov/percona-server/bug1130655

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp:percona-server/5.6
This branch contains Public information 
Everyone can see this information.