123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- #include <iostream>
- #include <map>
- #include <string>
- #include <vector>
- #include "tsdb_hf.h"
- // 演示如何与 map 结合使用
- void test_map() {
- tsdb_hf_cpp::tsdb_entry db;
- std::map<std::string, tsdb_hf_cpp::tsdb_entry_stream> streams;
- // 注意:此语法不可用!
- // streams["test_pts_1"] = db.new_stream("test_pts_1", 1000000000, 1000);
- // auto stm2 = db.new_stream("test_pts_2", 1000000000, 1000);
- // streams["test_pts_2"] = std::move(stm2);
- streams.emplace("test_pts_1", db.new_stream("test_pts_1", 1000000000, 1000));
- auto stm2 = db.new_stream("test_pts_2", 1000000000, 1000);
- streams.insert({"test_pts_2", std::move(stm2)});
- streams.at("test_pts_1").insert_point(1.1);
- }
- int main() {
- // 初始化高频时序数据入口类
- tsdb_hf_cpp::tsdb_entry db;
- // 设置高频采集数据本地暂存路径
- db.set_data_dir("/var/lib/tsdb_data/");
- // 1'000'000 个采集数据形成一个本地暂存压缩文件,实际应用需要调整
- db.set_part_size(1'000'000);
- // 设置采集数据的metric_name
- db.set_metric_name("test_metric1");
- // 新建传感器名为test_pts_1的stream对象,从UTC时间1000000000毫秒开始,两点间的时间间隔为1000纳秒
- auto stream = db.new_stream("test_pts_1", 1000000000, 1000);
- // 采集的传感器数据
- std::vector<double> pts{1.1, 2.2, 3.3, 4.4, 8.8, 7.7, 6.6, 5.5};
- for (int i = 0; i < 10000; i++) {
- pts.push_back(4.2);
- }
- // 插入采集数据
- stream.insert_points(pts.data(), size(pts));
- // 关闭stream
- stream.close();
- std::cout << "All success!" << std::endl;
- }
|