Commit 4d610f94 authored by Wei Lee's avatar Wei Lee Committed by Commit Bot

camera: Hook PerfLogger to chrome://tracing

Bug: b/141518806
Test: Record for 'camera' category in chrome://tracing and launch CCA
Change-Id: I3240f8f88353ba446aaa3c70abfcda7db741337e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1928604
Commit-Queue: Wei Lee <wtlee@chromium.org>
Auto-Submit: Wei Lee <wtlee@chromium.org>
Reviewed-by: default avatarRobert Sesek <rsesek@chromium.org>
Reviewed-by: default avatarShik Chen <shik@chromium.org>
Cr-Commit-Position: refs/heads/master@{#727351}
parent 9e26712b
......@@ -34,6 +34,22 @@ export class ChromeHelper {
});
}
/**
* Triggers the begin of event tracing in Chrome.
* @param {string} event Name of the event.
*/
startTracing(event) {
this.remote_.startPerfEventTrace(event);
}
/**
* Triggers the end of event tracing in Chrome.
* @param {string} event Name of the event.
*/
stopTracing(event) {
this.remote_.stopPerfEventTrace(event);
}
/**
* Checks return value from |handleCameraResult|.
* @param {string} caller Caller identifier.
......
......@@ -96,6 +96,7 @@ cca.perf.PerfLogger = class {
return;
}
this.startTimeMap_.set(event, performance.now());
cca.mojo.ChromeHelper.getInstance().startTracing(event);
}
/**
......@@ -126,6 +127,7 @@ cca.perf.PerfLogger = class {
}
const duration = performance.now() - startTime;
cca.mojo.ChromeHelper.getInstance().stopTracing(event);
this.listeners_.forEach((listener) => listener(event, duration, perfInfo));
}
......
......@@ -5,6 +5,7 @@
#include "components/chromeos_camera/camera_app_helper_impl.h"
#include "ash/public/cpp/tablet_mode.h"
#include "base/trace_event/trace_event.h"
namespace chromeos_camera {
......@@ -26,4 +27,12 @@ void CameraAppHelperImpl::IsTabletMode(IsTabletModeCallback callback) {
std::move(callback).Run(ash::TabletMode::Get()->InTabletMode());
}
void CameraAppHelperImpl::StartPerfEventTrace(const std::string& event) {
TRACE_EVENT_BEGIN0("camera", event.c_str());
}
void CameraAppHelperImpl::StopPerfEventTrace(const std::string& event) {
TRACE_EVENT_END0("camera", event.c_str());
}
} // namespace chromeos_camera
......@@ -28,6 +28,8 @@ class CameraAppHelperImpl : public chromeos_camera::mojom::CameraAppHelper {
const std::vector<uint8_t>& data,
HandleCameraResultCallback callback) override;
void IsTabletMode(IsTabletModeCallback callback) override;
void StartPerfEventTrace(const std::string& event) override;
void StopPerfEventTrace(const std::string& event) override;
private:
CameraResultCallback camera_result_callback_;
......
......@@ -20,4 +20,10 @@ interface CameraAppHelper {
// Checks if device is under tablet mode currently.
IsTabletMode() => (bool is_tablet_mode);
// Triggers the begin of event tracing for given |event|.
StartPerfEventTrace(string event);
// Triggers the end of event tracing for given |event|.
StopPerfEventTrace(string event);
};
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