44 lines
999 B
C
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_; ///<报警内容
|
||
|
|
};
|