Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(133)

Side by Side Diff: chrome/browser/feedback/tracing_manager.cc

Issue 24998007: Modify ZipString to allow the filename to be passed as an argument (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/feedback/feedback_util.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/feedback/tracing_manager.h" 5 #include "chrome/browser/feedback/tracing_manager.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/prefs/pref_service.h" 8 #include "base/prefs/pref_service.h"
9 #include "chrome/browser/browser_process.h" 9 #include "chrome/browser/browser_process.h"
10 #include "chrome/browser/feedback/feedback_util.h" 10 #include "chrome/browser/feedback/feedback_util.h"
11 #include "chrome/common/pref_names.h" 11 #include "chrome/common/pref_names.h"
12 #include "content/public/browser/trace_controller.h" 12 #include "content/public/browser/trace_controller.h"
13 13
14 namespace { 14 namespace {
15 // Only once trace manager can exist at a time. 15 // Only once trace manager can exist at a time.
16 TracingManager* g_tracing_manager = NULL; 16 TracingManager* g_tracing_manager = NULL;
17 // Trace IDs start at 1 and increase. 17 // Trace IDs start at 1 and increase.
18 int g_next_trace_id = 1; 18 int g_next_trace_id = 1;
19 // Name of the file to store the tracing data as.
20 const base::FilePath::CharType kTracingFilename[] =
21 FILE_PATH_LITERAL("tracing.json");
19 } 22 }
20 23
21 TracingManager::TracingManager() 24 TracingManager::TracingManager()
22 : current_trace_id_(0), 25 : current_trace_id_(0),
23 weak_ptr_factory_(this) { 26 weak_ptr_factory_(this) {
24 DCHECK(!g_tracing_manager); 27 DCHECK(!g_tracing_manager);
25 g_tracing_manager = this; 28 g_tracing_manager = this;
26 StartTracing(); 29 StartTracing();
27 } 30 }
28 31
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 base::debug::TraceLog::RECORD_CONTINUOUSLY); 92 base::debug::TraceLog::RECORD_CONTINUOUSLY);
90 } 93 }
91 94
92 void TracingManager::OnEndTracingComplete() { 95 void TracingManager::OnEndTracingComplete() {
93 if (!current_trace_id_) 96 if (!current_trace_id_)
94 return; 97 return;
95 98
96 data_ = std::string("[") + data_ + "]"; 99 data_ = std::string("[") + data_ + "]";
97 100
98 std::string output_val; 101 std::string output_val;
99 feedback_util::ZipString(data_, &output_val); 102 feedback_util::ZipString(kTracingFilename, data_, &output_val);
100 103
101 scoped_refptr<base::RefCountedString> output( 104 scoped_refptr<base::RefCountedString> output(
102 base::RefCountedString::TakeString(&output_val)); 105 base::RefCountedString::TakeString(&output_val));
103 106
104 trace_data_[current_trace_id_] = output; 107 trace_data_[current_trace_id_] = output;
105 108
106 if (!trace_callback_.is_null()) { 109 if (!trace_callback_.is_null()) {
107 trace_callback_.Run(output); 110 trace_callback_.Run(output);
108 trace_callback_.Reset(); 111 trace_callback_.Reset();
109 } 112 }
(...skipping 21 matching lines...) Expand all
131 // static 134 // static
132 scoped_ptr<TracingManager> TracingManager::Create() { 135 scoped_ptr<TracingManager> TracingManager::Create() {
133 if (g_tracing_manager) 136 if (g_tracing_manager)
134 return scoped_ptr<TracingManager>(); 137 return scoped_ptr<TracingManager>();
135 return scoped_ptr<TracingManager>(new TracingManager()); 138 return scoped_ptr<TracingManager>(new TracingManager());
136 } 139 }
137 140
138 TracingManager* TracingManager::Get() { 141 TracingManager* TracingManager::Get() {
139 return g_tracing_manager; 142 return g_tracing_manager;
140 } 143 }
OLDNEW
« no previous file with comments | « chrome/browser/feedback/feedback_util.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698