// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CHROME_BROWSER_TASK_PROFILER_AUTO_TRACKING_H_ #define CHROME_BROWSER_TASK_PROFILER_AUTO_TRACKING_H_ #include "base/files/file_path.h" #include "base/tracked_objects.h" //------------------------------------------------------------------------------ // Provide simple way to to start global tracking, and to tear down tracking // when done. The design has evolved to *not* do any teardown (and just leak // all allocated data structures). This class is currently used to ensure // that the profiler data is output during shutdown, if this feature has been // requested. namespace task_profiler { class AutoTracking { public: AutoTracking() { tracked_objects::ThreadData::Initialize(); } ~AutoTracking(); void set_output_file_path(const base::FilePath &path); private: base::FilePath output_file_path_; DISALLOW_COPY_AND_ASSIGN(AutoTracking); }; } // namespace task_profiler #endif // CHROME_BROWSER_TASK_PROFILER_AUTO_TRACKING_H_