Initial setup for CLion
This commit is contained in:
44
engines/OpenVINOEngine/include/monitors/presenter.h
Normal file
44
engines/OpenVINOEngine/include/monitors/presenter.h
Normal file
@@ -0,0 +1,44 @@
|
||||
// Copyright (C) 2019-2024 Intel Corporation
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <chrono>
|
||||
#include <map>
|
||||
#include <ostream>
|
||||
#include <set>
|
||||
|
||||
#include <opencv2/imgproc.hpp>
|
||||
|
||||
#include "cpu_monitor.h"
|
||||
#include "memory_monitor.h"
|
||||
|
||||
enum class MonitorType{CpuAverage, DistributionCpu, Memory};
|
||||
|
||||
class Presenter {
|
||||
public:
|
||||
explicit Presenter(std::set<MonitorType> enabledMonitors = {},
|
||||
int yPos = 20,
|
||||
cv::Size graphSize = {150, 60},
|
||||
std::size_t historySize = 20);
|
||||
explicit Presenter(const std::string& keys,
|
||||
int yPos = 20,
|
||||
cv::Size graphSize = {150, 60},
|
||||
std::size_t historySize = 20);
|
||||
void addRemoveMonitor(MonitorType monitor);
|
||||
void handleKey(int key); // handles C, D, M, H keys
|
||||
void drawGraphs(cv::Mat& frame);
|
||||
std::vector<std::string> reportMeans() const;
|
||||
|
||||
const int yPos;
|
||||
const cv::Size graphSize;
|
||||
const int graphPadding;
|
||||
private:
|
||||
std::chrono::steady_clock::time_point prevTimeStamp;
|
||||
std::size_t historySize;
|
||||
CpuMonitor cpuMonitor;
|
||||
bool distributionCpuEnabled;
|
||||
MemoryMonitor memoryMonitor;
|
||||
std::ostringstream strStream;
|
||||
};
|
||||
Reference in New Issue
Block a user