Repo created
This commit is contained in:
parent
4af19165ec
commit
68073add76
12458 changed files with 12350765 additions and 2 deletions
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
|
||||
Loading…
Add table
Add a link
Reference in a new issue