Skip to content

Commit

Permalink
AddClockSyncMetadataEvent on Android
Browse files Browse the repository at this point in the history
This was accidentally deleted in crrev.com/c/575716.

Bug: 797809
Change-Id: I360915247c8fc093beed2426b760ec680cd50ccb
Reviewed-on: https://chromium-review.googlesource.com/949977
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: oysteine <oysteine@chromium.org>
Reviewed-by: Charlie Andrews <charliea@chromium.org>
Commit-Queue: Ehsan Chiniforooshan <chiniforooshan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#544352}
  • Loading branch information
chiniforooshan authored and Commit Bot committed Mar 20, 2018
1 parent 70b5504 commit e3e5d6b
Show file tree
Hide file tree
Showing 5 changed files with 29 additions and 8 deletions.
4 changes: 2 additions & 2 deletions content/browser/tracing/tracing_controller_impl.cc
Original file line number Diff line number Diff line change
Expand Up @@ -146,8 +146,8 @@ void TracingControllerImpl::AddAgents() {
agents_.push_back(std::make_unique<EtwTracingAgent>(connector));
#endif

auto chrome_agent =
std::make_unique<tracing::ChromeTraceEventAgent>(connector);
auto chrome_agent = std::make_unique<tracing::ChromeTraceEventAgent>(
connector, true /* request_clock_sync_marker_on_android */);
// For adding general CPU, network, OS, and other system information to the
// metadata.
chrome_agent->AddMetadataGeneratorFunction(base::BindRepeating(
Expand Down
4 changes: 2 additions & 2 deletions content/child/child_thread_impl.cc
Original file line number Diff line number Diff line change
Expand Up @@ -603,8 +603,8 @@ void ChildThreadImpl::InitTracing() {
channel_->AddFilter(new tracing::ChildTraceMessageFilter(
ChildProcess::current()->io_task_runner()));

chrome_trace_event_agent_ =
std::make_unique<tracing::ChromeTraceEventAgent>(GetConnector());
chrome_trace_event_agent_ = std::make_unique<tracing::ChromeTraceEventAgent>(
GetConnector(), false /* request_clock_sync_marker_on_android */);
}

ChildThreadImpl::~ChildThreadImpl() {
Expand Down
21 changes: 19 additions & 2 deletions services/tracing/public/cpp/chrome_trace_event_agent.cc
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
#include "base/time/time.h"
#include "base/trace_event/trace_log.h"
#include "base/values.h"
#include "build/build_config.h"
#include "services/service_manager/public/cpp/connector.h"
#include "services/tracing/public/mojom/constants.mojom.h"

Expand All @@ -35,11 +36,16 @@ ChromeTraceEventAgent* ChromeTraceEventAgent::GetInstance() {
}

ChromeTraceEventAgent::ChromeTraceEventAgent(
service_manager::Connector* connector)
service_manager::Connector* connector,
bool request_clock_sync_marker_on_android)
: BaseAgent(connector,
kChromeTraceEventLabel,
mojom::TraceDataType::ARRAY,
false /* supports_explicit_clock_sync */),
#if defined(OS_ANDROID)
request_clock_sync_marker_on_android),
#else
false),
#endif
enabled_tracing_modes_(0) {
DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
DCHECK(!g_chrome_trace_event_agent);
Expand Down Expand Up @@ -93,6 +99,17 @@ void ChromeTraceEventAgent::StopAndFlush(mojom::RecorderPtr recorder) {
&ChromeTraceEventAgent::OnTraceLogFlush, base::Unretained(this)));
}

void ChromeTraceEventAgent::RequestClockSyncMarker(
const std::string& sync_id,
const Agent::RequestClockSyncMarkerCallback& callback) {
#if defined(OS_ANDROID)
base::trace_event::TraceLog::GetInstance()->AddClockSyncMetadataEvent();
callback.Run(base::TimeTicks(), base::TimeTicks());
#else
NOTREACHED();
#endif
}

void ChromeTraceEventAgent::RequestBufferStatus(
const RequestBufferStatusCallback& callback) {
base::trace_event::TraceLogStatus status =
Expand Down
6 changes: 5 additions & 1 deletion services/tracing/public/cpp/chrome_trace_event_agent.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,8 @@ class COMPONENT_EXPORT(TRACING_CPP) ChromeTraceEventAgent : public BaseAgent {

static ChromeTraceEventAgent* GetInstance();

explicit ChromeTraceEventAgent(service_manager::Connector* connector);
explicit ChromeTraceEventAgent(service_manager::Connector* connector,
bool request_clock_sync_marker_on_android);

void AddMetadataGeneratorFunction(MetadataGeneratorFunction generator);

Expand All @@ -49,6 +50,9 @@ class COMPONENT_EXPORT(TRACING_CPP) ChromeTraceEventAgent : public BaseAgent {
base::TimeTicks coordinator_time,
const StartTracingCallback& callback) override;
void StopAndFlush(mojom::RecorderPtr recorder) override;
void RequestClockSyncMarker(
const std::string& sync_id,
const Agent::RequestClockSyncMarkerCallback& callback) override;
void RequestBufferStatus(
const RequestBufferStatusCallback& callback) override;
void GetCategories(const GetCategoriesCallback& callback) override;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ class ChromeTraceEventAgentTest : public testing::Test {
public:
void SetUp() override {
message_loop_.reset(new base::MessageLoop());
agent_.reset(new ChromeTraceEventAgent(nullptr));
agent_.reset(new ChromeTraceEventAgent(nullptr, false));
}

void TearDown() override {
Expand Down

0 comments on commit e3e5d6b

Please sign in to comment.