aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/plugin/mysql.php
blob: 607e22357b8e85e4ef79207fd78df493a1c152b2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
<?php

# Collectd MySQL plugin

require_once 'conf/common.inc.php';
require_once 'type/GenericStacked.class.php';
require_once 'inc/collectd.inc.php';

$obj = new Type_GenericStacked($CONFIG);
$obj->width = $width;
$obj->heigth = $heigth;

switch($obj->args['type'])
{
	case 'mysql_commands':
		$obj->generate_colors();
		$obj->rrd_title = sprintf('MySQL commands (%s)', $obj->args['pinstance']);
		$obj->rrd_vertical = 'Issues/s';
		$obj->rrd_format = '%5.1lf%s';
	break;
	case 'mysql_handler':
		$obj->colors = array(
			'commit' => 'ff0000',
			'delete' => 'ff00e7',
			'read_first' => 'cc00ff',
			'read_key' => '3200ff',
			'read_next' => '0065ff',
			'read_prev' => '00fff3',
			'read_rnd' => '00ff65',
			'read_rnd_next' => '33ff00',
			'update' => 'cbff00',
			'write' => 'ff9800',
			'rollback' => '000000',
		);
		$obj->rrd_title = sprintf('MySQL handler (%s)', $obj->args['pinstance']);
		$obj->rrd_vertical = 'Invocations';
		$obj->rrd_format = '%5.1lf%s';
	break;
	case 'mysql_locks':
		$obj->colors = array(
			'immediate' => 'ff0000',
			'waited' => '00ff00',
		);
		$obj->rrd_title = sprintf('MySQL locks (%s)', $obj->args['pinstance']);
		$obj->rrd_vertical = 'locks';
		$obj->rrd_format = '%5.1lf%s';
	break;
	case 'mysql_octets':
		$obj->data_sources = array('rx', 'tx');
		$obj->ds_names = array(
			'rx' => 'Receive',
			'tx' => 'Transmit',
		);
		$obj->colors = array(
			'rx' => '0000ff',
			'tx' => '00b000',
		);
		$obj->rrd_title = sprintf('MySQL traffic (%s)', $obj->args['pinstance']);
		$obj->rrd_vertical = 'Bits per second';
		$obj->rrd_format = '%5.1lf%s';
	break;
	case 'mysql_qcache':
		$obj->data_sources = array('not_cached', 'inserts', 'hits', 'lowmem_prunes', 'queries_in_cache');
		$obj->ds_names = array(
			'not_cached' => 'Not Cached',
			'inserts' => 'Inserts',
			'hits' => 'Hits',
			'lowmem_prunes' => 'Lowmem Prunes',
			'queries_in_cache' => 'Queries in Cache',
		);
		$obj->colors = array(
			'not_cached' => 'f0a000',
			'inserts' => '0000ff',
			'hits' => '00e000',
			'lowmem_prunes' => 'ff0000',
			'queries_in_cache' => 'cccccc',
		);
		$obj->rrd_title = sprintf('MySQL query cache (%s)', $obj->args['pinstance']);
		$obj->rrd_vertical = 'Queries/s';
		$obj->rrd_format = '%5.1lf%s';
	break;
	case 'mysql_threads':
		$obj->data_sources = array('cached', 'connected', 'running', 'created');
		$obj->ds_names = array(
			'cached' => 'Cached',
			'connected' => 'Connected',
			'running' => 'Running',
			'created' => 'Created',
		);
		$obj->colors = array(
			'cached' => '00e000',
			'connected' => '0000ff',
			'running' => 'ff0000',
			'created' => 'cccccc',
		);
		$obj->rrd_title = sprintf('MySQL threads (%s)', $obj->args['pinstance']);
		$obj->rrd_vertical = 'Threads';
		$obj->rrd_format = '%5.1lf%s';
	break;
}

collectd_flush($obj->identifiers);
$obj->rrd_graph();