MySQL 5.6.14 Source Code Document
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
pfs_timer.h
Go to the documentation of this file.
1
/* Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
2
3
This program is free software; you can redistribute it and/or modify
4
it under the terms of the GNU General Public License as published by
5
the Free Software Foundation; version 2 of the License.
6
7
This program is distributed in the hope that it will be useful,
8
but WITHOUT ANY WARRANTY; without even the implied warranty of
9
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10
GNU General Public License for more details.
11
12
You should have received a copy of the GNU General Public License
13
along with this program; if not, write to the Free Software Foundation,
14
51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
15
16
#ifndef PFS_TIMER_H
17
#define PFS_TIMER_H
18
23
#include <my_rdtsc.h>
24
#include "
pfs_column_types.h
"
25
27
#define MICROSEC_TO_PICOSEC 1000000
28
35
struct
time_normalizer
36
{
42
static
time_normalizer
*
get
(
enum_timer_name
timer_name);
43
45
ulonglong
m_v0
;
47
ulonglong
m_factor
;
48
54
inline
ulonglong
wait_to_pico
(ulonglong wait)
55
{
56
return
wait *
m_factor
;
57
}
58
64
inline
ulonglong
time_to_pico
(ulonglong t)
65
{
66
return
(t == 0 ? 0 : (t -
m_v0
) *
m_factor
);
67
}
68
77
void
to_pico
(ulonglong start, ulonglong end,
78
ulonglong *pico_start, ulonglong *pico_end, ulonglong *pico_wait);
79
};
80
85
extern
enum_timer_name
idle_timer
;
90
extern
enum_timer_name
wait_timer
;
95
extern
enum_timer_name
stage_timer
;
100
extern
enum_timer_name
statement_timer
;
105
extern
MY_TIMER_INFO
pfs_timer_info
;
106
108
void
init_timers
();
109
110
extern
"C"
111
{
113
typedef
ulonglong (*
timer_fct_t
)(void);
114
}
115
121
ulonglong
get_timer_pico_value
(
enum_timer_name
timer_name);
127
ulonglong
get_timer_raw_value
(
enum_timer_name
timer_name);
137
ulonglong
get_timer_raw_value_and_function
(
enum_timer_name
timer_name,
timer_fct_t
*fct);
138
139
#endif
140
storage
perfschema
pfs_timer.h
Generated on Sat Nov 9 2013 01:28:40 for MySQL 5.6.14 Source Code Document by
1.8.1.2