Config.h 996 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. // SPDX-License-Identifier: GPL-3.0-or-later
  2. #ifndef ML_CONFIG_H
  3. #define ML_CONFIG_H
  4. #include "ml-private.h"
  5. namespace ml {
  6. class Config {
  7. public:
  8. bool EnableAnomalyDetection;
  9. unsigned MaxTrainSamples;
  10. unsigned MinTrainSamples;
  11. unsigned TrainEvery;
  12. unsigned DBEngineAnomalyRateEvery;
  13. unsigned DiffN;
  14. unsigned SmoothN;
  15. unsigned LagN;
  16. double RandomSamplingRatio;
  17. unsigned MaxKMeansIters;
  18. double DimensionAnomalyScoreThreshold;
  19. double HostAnomalyRateThreshold;
  20. double ADMinWindowSize;
  21. double ADMaxWindowSize;
  22. double ADIdleWindowSize;
  23. double ADWindowRateThreshold;
  24. double ADDimensionRateThreshold;
  25. bool StreamADCharts;
  26. std::string HostsToSkip;
  27. SIMPLE_PATTERN *SP_HostsToSkip;
  28. std::string ChartsToSkip;
  29. SIMPLE_PATTERN *SP_ChartsToSkip;
  30. std::string AnomalyDBPath;
  31. std::vector<uint32_t> RandomNums;
  32. void readMLConfig();
  33. };
  34. extern Config Cfg;
  35. } // namespace ml
  36. #endif /* ML_CONFIG_H */