12 #include <boost/noncopyable.hpp> 78 void setValue(
const std::string& name,
const int64_t value);
85 void setValue(
const std::string& name,
const double value);
99 void setValue(
const std::string& name,
const std::string& value);
106 void addValue(
const std::string& name,
const int64_t value);
113 void addValue(
const std::string& name,
const double value);
127 void addValue(
const std::string& name,
const std::string& value);
172 bool reset(
const std::string& name);
178 bool del(
const std::string& name);
189 size_t count()
const;
224 template<
typename Type>
225 static std::string
generateName(
const std::string& context, Type index,
226 const std::string& stat_name) {
227 std::stringstream name;
228 name << context <<
"[" << index <<
"]." << stat_name;
349 template<
typename DataType>
355 stat->setValue(value);
374 template<
typename DataType>
388 existing->addValue(value);
407 bool deleteObservation(
const std::string& name);
423 std::string& reason);
boost::shared_ptr< StatContext > StatContextPtr
Pointer to the statistics context.
ObservationPtr getObservation(const std::string &name) const
Returns an observation.
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.
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.
static StatsMgr & instance()
Statistics Manager accessor method.
Statistics Manager class.
void removeAll()
Removes all collected statistics.
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
static std::string generateName(const std::string &context, Type index, const std::string &stat_name)
Generates statistic name in a given context.
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).
boost::posix_time::time_duration StatsDuration
Defines duration resolution.
bool reset(const std::string &name)
Resets specified statistic.
Represents a single observable characteristic (a '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.