setValue(value);
}
-Observation::Observation(const std::string& name, const StatsDuration value)
+Observation::Observation(const std::string& name, const StatsDuration& value)
:name_(name), type_(STAT_DURATION) {
setValue(value);
}
///
/// @param name observation name
/// @param value duration observed.
- Observation(const std::string& name, const StatsDuration value);
+ Observation(const std::string& name, const StatsDuration& value);
/// @brief Constructor for string observations
///
///
/// @param value integer value observed
/// @throw InvalidStatType if statistic is not integer
- void addValue(const uint64_t value = 1);
+ void addValue(const uint64_t value);
/// @brief Records incremental floating point observation
///
/// @param value floating point value observed
/// @throw InvalidStatType if statistic is not fp
- void addValue(const double value = 1.0f);
+ void addValue(const double value);
/// @brief Records incremental duration observation
///
/// @param value duration value observed
/// @throw InvalidStatType if statistic is not time duration
- void addValue(const StatsDuration& value = StatsDuration(0,0,1,0));
+ void addValue(const StatsDuration& value);
/// @brief Records incremental string observation.
///
/// @param value string value observed
/// @throw InvalidStatType if statistic is not a string
- void addValue(const std::string& value = "");
+ void addValue(const std::string& value);
/// @brief Resets statistic.
///
// PERFORMANCE OF THIS SOFTWARE.
#include <util/boost_time_utils.h>
+#include <sstream>
+#include <iomanip>
std::string
isc::util::ptimeToText(boost::posix_time::ptime t) {
#define KEA_BOOST_TIME_UTILS_H
#include <boost/date_time/posix_time/posix_time.hpp>
+#include <string>
namespace isc {
namespace util {
/// @brief Converts ptime structure to text
+///
+/// This is Kea implementation for converting ptime to strings.
+/// It's a functional equivalent of boost::posix_time::to_simple_string. We do
+/// not use it, though, because it would introduce unclear dependency on
+/// boost_time_date library. First, we try to avoid depending on boost libraries
+/// (we tend to use only the headers). Second, this dependency is system
+/// specific, i.e. it is required on Ubuntu and FreeBSD, but doesn't seem to
+/// be needed on OS X. Since the functionality needed is minor, we decided to
+/// reimplement it on our own, rather than introduce extra dependencies.
+/// This explanation also applies to @ref durationToText.
+///
/// @return a string representing time
std::string ptimeToText(boost::posix_time::ptime t);
/// @brief Converts StatsDuration to text
+///
+/// This is Kea equivalent of boost::posix_time::to_simple_string(time_duration).
+/// See @ref ptimeToText for explanation why we chose our own implementation.
+///
/// @return a string representing time
std::string durationToText(boost::posix_time::time_duration dur);