Welcome to mirror list, hosted at ThFree Co, Russian Federation.

pprof.hpp « base - github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
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