#pragma once #include #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