eis/eqpalg/algs/trend_slope3.h

52 lines
1.2 KiB
C
Raw Normal View History

/**
* @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 TrendSlope3 : public AlgBase {
public:
TrendSlope3(const string name, const mix_cc::json &rule_json,
const string ruleId);
~TrendSlope3() 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;
/**
* @brief --
* @return true
* @return false
*/
bool get_prr2();
private:
TimeDur limit_time_interval_; ///<查询ihd 均值数据的时间间隔
TimeDur deltaX_;
double limit_slope_; ///<斜率阈值
std::string error_content_; ///<报警内容
int CS_AVG_SIZE_; ///<连续出现的次数
int need_tag_seq_ = 0; ///<监控变量的位置
};