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

Unified Diff: content/browser/tracing/tracing_controller_impl_data_sinks.cc

Issue 1181213002: Slow Reports - Embed Metadata in Traces (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Comments addressed. Created 5 years, 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/browser/tracing/background_tracing_manager_impl.cc ('k') | content/browser/tracing/tracing_ui.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/tracing/tracing_controller_impl_data_sinks.cc
diff --git a/content/browser/tracing/tracing_controller_impl_data_sinks.cc b/content/browser/tracing/tracing_controller_impl_data_sinks.cc
index a6d6e37ad1398a4df0772058d9f76cbd2bfa6eef..6bdcafb0bdfdcf636ac0f6fd39e49e855cc60295 100644
--- a/content/browser/tracing/tracing_controller_impl_data_sinks.cc
+++ b/content/browser/tracing/tracing_controller_impl_data_sinks.cc
@@ -128,11 +128,17 @@ class StringTraceDataSink : public TracingController::TraceDataSink {
system_trace_ = data;
}
+ void SetMetadata(const std::string& data) override {
+ metadata_ = data;
+ }
+
void Close() override {
AddTraceChunkAndPassToEndpoint("]");
if (!system_trace_.empty())
AddTraceChunkAndPassToEndpoint(",\"systemTraceEvents\": " +
system_trace_);
+ if (!metadata_.empty())
+ AddTraceChunkAndPassToEndpoint(",\"metadata\": " + metadata_);
AddTraceChunkAndPassToEndpoint("}");
endpoint_->ReceiveTraceFinalContents(trace_);
@@ -144,6 +150,7 @@ class StringTraceDataSink : public TracingController::TraceDataSink {
scoped_refptr<TracingController::TraceDataEndpoint> endpoint_;
std::string trace_;
std::string system_trace_;
+ std::string metadata_;
DISALLOW_COPY_AND_ASSIGN(StringTraceDataSink);
};
@@ -168,6 +175,10 @@ class CompressedStringTraceDataSink : public TracingController::TraceDataSink {
system_trace_ = data;
}
+ void SetMetadata(const std::string& data) override {
+ metadata_ = data;
+ }
+
void Close() override {
BrowserThread::PostTask(
BrowserThread::FILE, FROM_HERE,
@@ -255,6 +266,10 @@ class CompressedStringTraceDataSink : public TracingController::TraceDataSink {
AddTraceChunkAndCompressOnFileThread(
",\"systemTraceEvents\": " + system_trace_, false);
}
+ if (!metadata_.empty()) {
+ AddTraceChunkAndCompressOnFileThread(",\"metadata\": " + metadata_,
+ false);
+ }
AddTraceChunkAndCompressOnFileThread("}", true);
deflateEnd(stream_.get());
@@ -268,6 +283,7 @@ class CompressedStringTraceDataSink : public TracingController::TraceDataSink {
bool already_tried_open_;
std::string compressed_trace_data_;
std::string system_trace_;
+ std::string metadata_;
DISALLOW_COPY_AND_ASSIGN(CompressedStringTraceDataSink);
};
« no previous file with comments | « content/browser/tracing/background_tracing_manager_impl.cc ('k') | content/browser/tracing/tracing_ui.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698