1 // Copyright (c) 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef BASE_TEST_TRACE_TO_FILE_H_
6 #define BASE_TEST_TRACE_TO_FILE_H_
7 
8 #include "base/files/file_path.h"
9 
10 namespace base {
11 namespace test {
12 
13 class TraceToFile {
14  public:
15   TraceToFile();
16   ~TraceToFile();
17 
18   void BeginTracingFromCommandLineOptions();
19   void BeginTracing(const base::FilePath& path, const std::string& categories);
20   void EndTracingIfNeeded();
21 
22  private:
23   void WriteFileHeader();
24   void AppendFileFooter();
25 
26   void TraceOutputCallback(const std::string& data);
27 
28   base::FilePath path_;
29   bool started_;
30 };
31 
32 }  // namespace test
33 }  // namespace base
34 
35 #endif  // BASE_TEST_TRACE_TO_FILE_H_
36