blob: 8846342363864d96d0e1066059240182fc6f577a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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
|