Commit e3e5d6ba authored by Ehsan Chiniforooshan's avatar Ehsan Chiniforooshan Committed by Commit Bot

AddClockSyncMetadataEvent on Android

This was accidentally deleted in crrev.com/c/575716.

Bug: 797809
Change-Id: I360915247c8fc093beed2426b760ec680cd50ccb
Reviewed-on: https://chromium-review.googlesource.com/949977Reviewed-by: default avatarJohn Abd-El-Malek <jam@chromium.org>
Reviewed-by: default avataroysteine <oysteine@chromium.org>
Reviewed-by: default avatarCharlie Andrews <charliea@chromium.org>
Commit-Queue: Ehsan Chiniforooshan <chiniforooshan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#544352}
parent 70b55043
......@@ -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(
......
......@@ -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() {
......
......@@ -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"
......@@ -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);
......@@ -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 =
......
......@@ -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);
......@@ -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;
......
......@@ -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 {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment