feat add profiling
This commit is contained in:
41
3party/cppuprofile/lib/util/timer.h
Normal file
41
3party/cppuprofile/lib/util/timer.h
Normal file
@@ -0,0 +1,41 @@
|
||||
// Software Name : cppuprofile
|
||||
// SPDX-FileCopyrightText: Copyright (c) 2022 Orange
|
||||
// SPDX-License-Identifier: BSD-3-Clause
|
||||
//
|
||||
// This software is distributed under the BSD License;
|
||||
// see the LICENSE file for more details.
|
||||
//
|
||||
// Author: Cédric CHEDALEUX <cedric.chedaleux@orange.com> et al.
|
||||
|
||||
#ifndef TIMER_H_
|
||||
#define TIMER_H_
|
||||
|
||||
#include <chrono>
|
||||
#include <functional>
|
||||
#include <iostream>
|
||||
#include <mutex>
|
||||
#include <thread>
|
||||
|
||||
using namespace std;
|
||||
|
||||
class Timer
|
||||
{
|
||||
public:
|
||||
explicit Timer(int interval /* ms */ = 0);
|
||||
virtual ~Timer();
|
||||
|
||||
void setTimeout(const function<void(void)>& timeout);
|
||||
void setInterval(int interval);
|
||||
void start();
|
||||
void stop();
|
||||
bool isRunning();
|
||||
|
||||
private:
|
||||
thread* m_th;
|
||||
bool m_running;
|
||||
int m_interval;
|
||||
std::mutex m_mutex;
|
||||
std::function<void(void)> m_timeout;
|
||||
};
|
||||
|
||||
#endif // TIMER_H_
|
Reference in New Issue
Block a user