job_profiler.h 635 B

123456789101112131415161718192021222324252627
  1. #pragma once
  2. #include <memory>
  3. namespace NYT {
  4. ////////////////////////////////////////////////////////////////////////////////
  5. struct IJobProfiler
  6. {
  7. virtual ~IJobProfiler() = default;
  8. //! Starts job profiling if corresponding options are set
  9. //! in environment.
  10. virtual void Start() = 0;
  11. //! Stops profiling and sends profile to job proxy.
  12. virtual void Stop() = 0;
  13. };
  14. ////////////////////////////////////////////////////////////////////////////////
  15. std::unique_ptr<IJobProfiler> CreateJobProfiler();
  16. ////////////////////////////////////////////////////////////////////////////////
  17. } // namespace NYT