Exemple #1
0
 virtual void add(std::string ts, std::string id, double value) {
     aku_Status status = AKU_EBUSY;
     while(status == AKU_EBUSY) {
         aku_Sample sample;
         if (aku_parse_timestamp(ts.c_str(), &sample) != AKU_SUCCESS) {
             std::runtime_error err("invalid timestamp");
             BOOST_THROW_EXCEPTION(err);
         }
         if (aku_series_to_param_id(db_, id.data(), id.data() + id.size(), &sample) != AKU_SUCCESS) {
             std::runtime_error err("invalid series name");
             BOOST_THROW_EXCEPTION(err);
         }
         sample.payload.type = AKU_PAYLOAD_FLOAT;
         sample.payload.float64 = value;
         status = aku_write(db_, &sample);
     }
     throw_on_error(status);
 }
aku_Status AkumuliConnection::series_to_param_id(const char *name, size_t size, aku_Sample *sample) {
    return aku_series_to_param_id(db_, name, name + size, sample);
}