eis/eqpalg/algs/trend_slope.h

44 lines
999 B
C++

/**
* @file trend_slope.h
* @brief 趋势检测(斜率)
* @author Cat (null.null.null@qq.com)
* @version 0.1
* @date 2021-09-13
*
* Copyright: Baosight Co. Ltd.
* DO NOT COPY/USE WITHOUT PERMISSION
*
*/
#pragma once
#include <eqpalg/alg_base.h>
#include <eqpalg/define/public.h>
#include <string>
#include <vector>
class TrendSlope : public AlgBase {
public:
TrendSlope(const string name, const mix_cc::json& rule_json,
const string ruleId);
~TrendSlope() override;
public:
int init() override;
/**
* @brief 执行函数
* @return AlarmInfo
*/
AlarmInfo exec_mon() override;
/**
* @brief 单次执行
* @param time_range My Param doc
* @return std::vector<AlarmInfo>
*/
std::vector<AlarmInfo> exec_task(mix_cc::time_range_t time_range) override;
private:
TimeDur limit_time_interval_; ///<查询ihd 均值数据的时间间隔
double limit_slope_; ///<斜率
std::string error_content_; ///<报警内容
};