65 return (global_->get(name));
71 return (global_->add(stat));
74 bool StatsMgr::deleteObservation(
const std::string& name) {
77 return (global_->del(name));
100 return (global_->del(name));
104 global_->stats_.clear();
111 response->set(name, obs->getJSON());
120 for (std::map<std::string, ObservationPtr>::iterator s = global_->stats_.begin();
121 s != global_->stats_.end(); ++s) {
124 map->set(s->first, s->second->getJSON());
131 for (std::map<std::string, ObservationPtr>::iterator s = global_->stats_.begin();
132 s != global_->stats_.end(); ++s) {
140 return (global_->stats_.size());
146 std::string name, error;
147 if (!getStatName(params, name, error)) {
157 std::string name, error;
158 if (!getStatName(params, name, error)) {
164 "Statistic '" + name +
"' reset."));
167 "No '" + name +
"' statistic found"));
174 std::string name, error;
175 if (!getStatName(params, name, error)) {
180 "Statistic '" + name +
"' removed."));
183 "No '" + name +
"' statistic found"));
193 "All statistics removed."));
208 "All statistics reset to neutral values."));
214 std::string& reason) {
216 reason =
"Missing mandatory 'name' parameter.";
221 reason =
"Missing mandatory 'name' parameter.";
224 if (stat_name->getType() != Element::string) {
225 reason =
"'name' parameter expected to be a string.";
229 name = stat_name->stringValue();
ObservationPtr getObservation(const std::string &name) const
Returns an observation.
A generic exception that is thrown when a function is not implemented.
static isc::data::ConstElementPtr statisticResetAllHandler(const std::string &name, const isc::data::ConstElementPtr ¶ms)
Handles statistic-reset-all command.
void addObservation(const ObservationPtr &stat)
Adds a new observation.
ConstElementPtr createAnswer(const int status_code, const std::string &text, const ConstElementPtr &arg)
const int CONTROL_RESULT_SUCCESS
Status code indicating a successful operation.
static isc::data::ConstElementPtr statisticRemoveAllHandler(const std::string &name, const isc::data::ConstElementPtr ¶ms)
Handles statistic-remove-all command.
void setMaxSampleCount(const std::string &name, uint32_t max_samples)
Determines how many samples of a given statistic should be kept.
void addValueInternal(const std::string &name, DataType value)
Adds specified value to a given statistic (internal version).
size_t count() const
Returns number of available statistics.
const int CONTROL_RESULT_ERROR
Status code indicating a general failure.
boost::shared_ptr< Element > ElementPtr
static ElementPtr createMap(const Position &pos=ZERO_POSITION())
Creates an empty MapElement type ElementPtr.
static StatsMgr & instance()
Statistics Manager accessor method.
Statistics Manager class.
void removeAll()
Removes all collected statistics.
#define isc_throw(type, stream)
A shortcut macro to insert known values into exception arguments.
void setMaxSampleAge(const std::string &name, const StatsDuration &duration)
Determines maximum age of samples.
bool del(const std::string &name)
Removes specified statistic.
isc::data::ConstElementPtr getAll() const
Returns all statistics as a JSON structure.
static isc::data::ConstElementPtr statisticGetHandler(const std::string &name, const isc::data::ConstElementPtr ¶ms)
Handles statistic-get command.
boost::shared_ptr< const Element > ConstElementPtr
void addValue(const std::string &name, const int64_t value)
Records incremental integer observation.
void resetAll()
Resets all collected statistics back to zero.
Defines the logger used by the top-level component of kea-dhcp-ddns.
void setValueInternal(const std::string &name, DataType value)
Sets a given statistic to specified value (internal version).
This file contains several functions and constants that are used for handling commands and responses ...
boost::posix_time::time_duration StatsDuration
Defines duration resolution.
bool reset(const std::string &name)
Resets specified statistic.
static isc::data::ConstElementPtr statisticResetHandler(const std::string &name, const isc::data::ConstElementPtr ¶ms)
Handles statistic-reset command.
static isc::data::ConstElementPtr statisticRemoveHandler(const std::string &name, const isc::data::ConstElementPtr ¶ms)
Handles statistic-remove command.
static isc::data::ConstElementPtr statisticGetAllHandler(const std::string &name, const isc::data::ConstElementPtr ¶ms)
Handles statistic-get-all command.
boost::shared_ptr< Observation > ObservationPtr
Observation pointer.
void setValue(const std::string &name, const int64_t value)
Records absolute integer observation.
isc::data::ConstElementPtr get(const std::string &name) const
Returns a single statistic as a JSON structure.