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

Side by Side Diff: content/browser/tracing/tracing_controller_impl.cc

Issue 2400163003: arc: enable Android tracing in verified-boot mode (Closed)
Patch Set: Rebase to crrev.com/2699833003 as it is merged Created 3 years, 9 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
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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 #include "content/browser/tracing/tracing_controller_impl.h" 4 #include "content/browser/tracing/tracing_controller_impl.h"
5 5
6 #include <algorithm> 6 #include <algorithm>
7 #include <memory> 7 #include <memory>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 666 matching lines...) Expand 10 before | Expand all | Expand 10 after
677 } 677 }
678 678
679 void TracingControllerImpl::OnEndAgentTracingAcked( 679 void TracingControllerImpl::OnEndAgentTracingAcked(
680 const std::string& agent_name, 680 const std::string& agent_name,
681 const std::string& events_label, 681 const std::string& events_label,
682 const scoped_refptr<base::RefCountedString>& events_str_ptr) { 682 const scoped_refptr<base::RefCountedString>& events_str_ptr) {
683 DCHECK_CURRENTLY_ON(BrowserThread::UI); 683 DCHECK_CURRENTLY_ON(BrowserThread::UI);
684 684
685 if (trace_data_sink_.get() && events_str_ptr && 685 if (trace_data_sink_.get() && events_str_ptr &&
686 !events_str_ptr->data().empty()) { 686 !events_str_ptr->data().empty()) {
687 if (agent_name == kETWTracingAgentName) { 687 std::string json_string;
688 // The Windows kernel events are kept into a JSON format stored as string 688 if (agent_name == kETWTracingAgentName ||
689 // and must not be escaped. 689 agent_name == kArcTracingAgentName) {
690 trace_data_sink_->AddAgentTrace(events_label, events_str_ptr->data()); 690 // The Windows kernel events and ARC Android tracing event are kept
691 } else if (agent_name != kArcTracingAgentName) { 691 // into a JSON format stored as string and must not be escaped.
692 // ARC trace data is obtained via systrace. Ignore the empty data. 692 json_string = events_str_ptr->data();
693 // Quote other trace data as JSON strings and merge them into 693 } else {
694 // |trace_data_sink_|. 694 json_string = base::GetQuotedJSONString(events_str_ptr->data());
695 trace_data_sink_->AddAgentTrace( 695 }
696 events_label, base::GetQuotedJSONString(events_str_ptr->data())); 696
697 if (agent_name == kArcTracingAgentName) {
698 trace_data_sink_->AddTraceChunk(json_string);
699 } else {
700 trace_data_sink_->AddAgentTrace(events_label, json_string);
697 } 701 }
698 } 702 }
699 std::vector<std::string> category_groups; 703 std::vector<std::string> category_groups;
700 OnStopTracingAcked(NULL, category_groups); 704 OnStopTracingAcked(NULL, category_groups);
701 } 705 }
702 706
703 void TracingControllerImpl::OnTraceDataCollected( 707 void TracingControllerImpl::OnTraceDataCollected(
704 const scoped_refptr<base::RefCountedString>& events_str_ptr) { 708 const scoped_refptr<base::RefCountedString>& events_str_ptr) {
705 // OnTraceDataCollected may be called from any browser thread, either by the 709 // OnTraceDataCollected may be called from any browser thread, either by the
706 // local event trace system or from child processes via TraceMessageFilter. 710 // local event trace system or from child processes via TraceMessageFilter.
(...skipping 373 matching lines...) Expand 10 before | Expand all | Expand 10 after
1080 // Schedule the next queued dump (if applicable). 1084 // Schedule the next queued dump (if applicable).
1081 if (!queued_memory_dump_requests_.empty()) { 1085 if (!queued_memory_dump_requests_.empty()) {
1082 BrowserThread::PostTask( 1086 BrowserThread::PostTask(
1083 BrowserThread::UI, FROM_HERE, 1087 BrowserThread::UI, FROM_HERE,
1084 base::Bind(&TracingControllerImpl::PerformNextQueuedGlobalMemoryDump, 1088 base::Bind(&TracingControllerImpl::PerformNextQueuedGlobalMemoryDump,
1085 base::Unretained(this))); 1089 base::Unretained(this)));
1086 } 1090 }
1087 } 1091 }
1088 1092
1089 } // namespace content 1093 } // namespace content
OLDNEW
« content/browser/tracing/arc_tracing_agent.cc ('K') | « content/browser/tracing/arc_tracing_agent.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698