C:\xampp\phpMyAdmin\libraries\classes\Server\Status\Queries.php


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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
 * functions for displaying query statistics for the server
 *
 * @usedby  server_status_queries.php
 *
 * @package PhpMyAdmin
 */
namespace PhpMyAdmin\Server\Status;

use 
PhpMyAdmin\Server\Status\Data;
use 
PhpMyAdmin\Util;

/**
 * PhpMyAdmin\Server\Status\Queries class
 *
 * @package PhpMyAdmin
 */
class Queries
{
    
/**
     * Returns the html content for the query statistics
     *
     * @param Data $serverStatusData Server status data
     *
     * @return string
     */
    
public static function getHtmlForQueryStatistics(Data $serverStatusData)
    {
        
$retval '';

        
$hour_factor   3600 $serverStatusData->status['Uptime'];
        
$used_queries $serverStatusData->used_queries;
        
$total_queries array_sum($used_queries);

        
$retval .= '<h3 id="serverstatusqueries">';
        
/* l10n: Questions is the name of a MySQL Status variable */
        
$retval .= sprintf(
            
__('Questions since startup: %s'),
            
Util::formatNumber($total_queries0)
        );
        
$retval .= ' ';
        
$retval .= Util::showMySQLDocu(
            
'server-status-variables',
            
false,
            
'statvar_Questions'
        
);
        
$retval .= '<br />';
        
$retval .= '<span>';
        
$retval .= '&oslash; ' __('per hour:') . ' ';
        
$retval .= Util::formatNumber($total_queries $hour_factor0);
        
$retval .= '<br />';
        
$retval .= '&oslash; ' __('per minute:') . ' ';
        
$retval .= Util::formatNumber(
            
$total_queries 60 $serverStatusData->status['Uptime'],
            
0
        
);
        
$retval .= '<br />';
        if (
$total_queries $serverStatusData->status['Uptime'] >= 1) {
            
$retval .= '&oslash; ' __('per second:') . ' ';
            
$retval .= Util::formatNumber(
                
$total_queries $serverStatusData->status['Uptime'],
                
0
            
);
        }
        
$retval .= '</span>';
        
$retval .= '</h3>';

        
$retval .= self::getHtmlForDetails($serverStatusData);

        return 
$retval;
    }

    
/**
     * Returns the html content for the query details
     *
     * @param Data $serverStatusData Server status data
     *
     * @return string
     */
    
public static function getHtmlForDetails(Data $serverStatusData)
    {
        
$hour_factor   3600 $serverStatusData->status['Uptime'];
        
$used_queries $serverStatusData->used_queries;
        
$total_queries array_sum($used_queries);
        
// reverse sort by value to show most used statements first
        
arsort($used_queries);

        
//(- $serverStatusData->status['Connections']);
        
$perc_factor    100 $total_queries;

        
$retval '<table id="serverstatusqueriesdetails" '
            
'class="width100 data sortable noclick">';
        
$retval .= '<col class="namecol" />';
        
$retval .= '<col class="valuecol" span="3" />';
        
$retval .= '<thead>';
        
$retval .= '<tr><th>' __('Statements') . '</th>';
        
$retval .= '<th>';
        
/* l10n: # = Amount of queries */
        
$retval .= __('#');
        
$retval .= '</th>';
        
$retval .= '<th>&oslash; ' __('per hour')
            . 
'</th>';
        
$retval .= '<th>%</div></th>';
        
$retval .= '</tr>';
        
$retval .= '</thead>';
        
$retval .= '<tbody>';

        
$chart_json = array();
        
$query_sum array_sum($used_queries);
        
$other_sum 0;
        foreach (
$used_queries as $name => $value) {
            
// For the percentage column, use Questions - Connections, because
            // the number of connections is not an item of the Query types
            // but is included in Questions. Then the total of the percentages is 100.
            
$name str_replace(array('Com_''_'), array(''' '), $name);
            
// Group together values that make out less than 2% into "Other", but only
            // if we have more than 6 fractions already
            
if ($value $query_sum 0.02 && count($chart_json)>6) {
                
$other_sum += $value;
            } else {
                
$chart_json[$name] = $value;
            }
            
$retval .= '<tr>';
            
$retval .= '<th class="name">' htmlspecialchars($name) . '</th>';
            
$retval .= '<td class="value">';
            
$retval .= htmlspecialchars(
                
Util::formatNumber($value50true)
            );
            
$retval .= '</td>';
            
$retval .= '<td class="value">';
            
$retval .= htmlspecialchars(
                
Util::formatNumber($value $hour_factor41true)
            );
            
$retval .= '</td>';
            
$retval .= '<td class="value">';
            
$retval .= htmlspecialchars(
                
Util::formatNumber($value $perc_factor02)
            );
            
$retval .= '</td>';
            
$retval .= '</tr>';
        }
        
$retval .= '</tbody>';
        
$retval .= '</table>';

        
$retval .= '<div id="serverstatusquerieschart" class="width100" data-chart="';
        if (
$other_sum 0) {
            
$chart_json[__('Other')] = $other_sum;
        }
        
$retval .= htmlspecialchars(json_encode($chart_json), ENT_QUOTES);
        
$retval .= '"></div>';

        return 
$retval;
    }
}
x

Windows NT KPTV 6.2 build 9200 (Windows Server 2012 Datacenter Edition) i586