Drizzled Public API Documentation
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
logging_stats.h
1
/*
2
* Copyright (C) 2010 Joseph Daly <skinny.moey@gmail.com>
3
* All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions are met:
7
*
8
* * Redistributions of source code must retain the above copyright notice,
9
* this list of conditions and the following disclaimer.
10
* * Redistributions in binary form must reproduce the above copyright notice,
11
* this list of conditions and the following disclaimer in the documentation
12
* and/or other materials provided with the distribution.
13
* * Neither the name of Joseph Daly nor the names of its contributors
14
* may be used to endorse or promote products derived from this software
15
* without specific prior written permission.
16
*
17
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
21
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
27
* THE POSSIBILITY OF SUCH DAMAGE.
28
*/
29
30
#pragma once
31
32
#include "scoreboard_slot.h"
33
#include "cumulative_stats.h"
34
#include "scoreboard.h"
35
36
#include <drizzled/atomics.h>
37
#include <drizzled/enum.h>
38
#include <drizzled/plugin/logging.h>
39
40
#include <string>
41
#include <vector>
42
43
class
LoggingStats
:
public
drizzled::plugin::Logging
44
{
45
public
:
46
47
LoggingStats
(std::string name_arg);
48
49
~
LoggingStats
();
50
51
virtual
bool
post(
drizzled::Session
*session);
52
53
virtual
bool
postEnd(
drizzled::Session
*session);
54
55
virtual
bool
resetGlobalScoreboard();
56
57
bool
isEnabled()
const
58
{
59
return
is_enabled;
60
}
61
62
void
enable()
63
{
64
is_enabled=
true
;
65
}
66
67
void
disable()
68
{
69
is_enabled=
false
;
70
}
71
72
Scoreboard
*getCurrentScoreboard()
73
{
74
return
current_scoreboard;
75
}
76
77
CumulativeStats
*getCumulativeStats()
78
{
79
return
cumulative_stats;
80
}
81
82
private
:
83
Scoreboard
*current_scoreboard;
84
85
CumulativeStats
*cumulative_stats;
86
87
drizzled::atomic<bool>
is_enabled;
88
89
void
updateCurrentScoreboard(
ScoreboardSlot
*scoreboard_slot,
drizzled::Session
*session);
90
91
typedef
std::vector<std::vector<ScoreboardSlot* >* > ScoreBoardVectors;
92
};
plugin
logging_stats
logging_stats.h
Generated on Tue Jun 19 2012 18:56:56 for drizzle by
1.8.1