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

Unified Diff: chrome/browser/feedback/tracing_manager.cc

Issue 67683003: Remove TraceController (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 1 month 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/feedback/tracing_manager.cc
diff --git a/chrome/browser/feedback/tracing_manager.cc b/chrome/browser/feedback/tracing_manager.cc
index 92dba45bd8716cc3574222205ed1f84b728f5c54..a78c292c8c63ef30fc27c653a9dc5966336110b8 100644
--- a/chrome/browser/feedback/tracing_manager.cc
+++ b/chrome/browser/feedback/tracing_manager.cc
@@ -5,20 +5,21 @@
#include "chrome/browser/feedback/tracing_manager.h"
#include "base/bind.h"
+#include "base/file_util.h"
+#include "base/location.h"
+#include "base/memory/ref_counted_memory.h"
+#include "base/message_loop/message_loop_proxy.h"
#include "base/prefs/pref_service.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/feedback/feedback_util.h"
#include "chrome/common/pref_names.h"
-#include "content/public/browser/trace_controller.h"
+#include "content/public/browser/tracing_controller.h"
namespace {
// Only once trace manager can exist at a time.
TracingManager* g_tracing_manager = NULL;
// Trace IDs start at 1 and increase.
int g_next_trace_id = 1;
-// Name of the file to store the tracing data as.
-const base::FilePath::CharType kTracingFilename[] =
- FILE_PATH_LITERAL("tracing.json");
}
TracingManager::TracingManager()
@@ -41,7 +42,10 @@ int TracingManager::RequestTrace() {
current_trace_id_ = g_next_trace_id;
++g_next_trace_id;
- content::TraceController::GetInstance()->EndTracingAsync(this);
+ content::TracingController::GetInstance()->DisableRecording(
+ base::FilePath(),
+ base::Bind(&TracingManager::OnTraceDataCollected,
+ weak_ptr_factory_.GetWeakPtr()));
return current_trace_id_;
}
@@ -76,7 +80,6 @@ void TracingManager::DiscardTraceData(int id) {
// If the trace is discarded before it is complete, clean up the accumulators.
if (id == current_trace_id_) {
current_trace_id_ = 0;
- data_ = "";
// If the trace has already been requested, provide an empty string.
if (!trace_callback_.is_null()) {
@@ -87,20 +90,18 @@ void TracingManager::DiscardTraceData(int id) {
}
void TracingManager::StartTracing() {
- content::TraceController::GetInstance()->BeginTracing(
- this, "-test_*",
- base::debug::TraceLog::RECORD_CONTINUOUSLY);
+ content::TracingController::GetInstance()->EnableRecording(
+ "", content::TracingController::DEFAULT_OPTIONS,
+ content::TracingController::EnableRecordingDoneCallback());
}
-void TracingManager::OnEndTracingComplete() {
+void TracingManager::OnTraceDataCollected(const base::FilePath& path) {
if (!current_trace_id_)
return;
- data_ = std::string("[") + data_ + "]";
-
std::string output_val;
- feedback_util::ZipString(
- base::FilePath(kTracingFilename), data_, &output_val);
+ feedback_util::ZipFile(path, &output_val);
+ base::DeleteFile(path, false);
scoped_refptr<base::RefCountedString> output(
base::RefCountedString::TakeString(&output_val));
@@ -113,7 +114,6 @@ void TracingManager::OnEndTracingComplete() {
}
current_trace_id_ = 0;
- data_ = "";
// Tracing has to be restarted asynchronous, so the TracingController can
// clean up.
@@ -123,15 +123,6 @@ void TracingManager::OnEndTracingComplete() {
weak_ptr_factory_.GetWeakPtr()));
}
-void TracingManager::OnTraceDataCollected(
- const scoped_refptr<base::RefCountedString>& trace_fragment) {
- if (current_trace_id_) {
- if (!data_.empty())
- data_ += ",";
- data_ += trace_fragment->data();
- }
-}
-
// static
scoped_ptr<TracingManager> TracingManager::Create() {
if (g_tracing_manager)

Powered by Google App Engine
This is Rietveld 408576698