mirror of
https://codeberg.org/comaps/comaps
synced 2025-12-21 22:03:37 +00:00
committed by
Konstantin Pastbin
parent
c9cbb64f12
commit
76ffc99abd
29
libs/base/pprof.hpp
Normal file
29
libs/base/pprof.hpp
Normal file
@@ -0,0 +1,29 @@
|
||||
#pragma once
|
||||
|
||||
#include <string>
|
||||
|
||||
#include "base/macros.hpp"
|
||||
#include "base/thread_checker.hpp"
|
||||
|
||||
namespace base
|
||||
{
|
||||
// This class is a simple RAII wrapper around gperftools profiler. It
|
||||
// is NOT thread-safe, moreover, before using it you must be sure that
|
||||
// there are no interfering instantiations of PProf during the
|
||||
// execution of the code you are interested in.
|
||||
class PProf final
|
||||
{
|
||||
public:
|
||||
// Starts profiling and writes profile info into |path|, discarding
|
||||
// any existing profiling data in that file.
|
||||
PProf(std::string const & path);
|
||||
|
||||
// Stops profiling.
|
||||
~PProf();
|
||||
|
||||
private:
|
||||
ThreadChecker m_checker;
|
||||
|
||||
DISALLOW_COPY_AND_MOVE(PProf);
|
||||
};
|
||||
} // namespace base
|
||||
Reference in New Issue
Block a user