| /* |
| * Copyright 2019 The Chromium OS Authors. All rights reserved. |
| * Use of this source code is governed by a BSD-style license that can be |
| * found in the LICENSE file. |
| */ |
| |
| #ifndef CAMERA_COMMON_CAMERA_METRICS_IMPL_H_ |
| #define CAMERA_COMMON_CAMERA_METRICS_IMPL_H_ |
| |
| #include <memory> |
| |
| #include <base/time/time.h> |
| #include <base/process/process_metrics.h> |
| #include <cros-camera/camera_metrics.h> |
| #include <metrics/metrics_library.h> |
| |
| namespace cros { |
| |
| // Implementation of Camera Metrics. |
| class CameraMetricsImpl : public CameraMetrics { |
| public: |
| CameraMetricsImpl(); |
| ~CameraMetricsImpl() override; |
| |
| void SetMetricsLibraryForTesting( |
| std::unique_ptr<MetricsLibraryInterface> metrics_lib); |
| |
| void SendJpegProcessLatency(JpegProcessType process_type, |
| JpegProcessMethod process_layer, |
| base::TimeDelta latency) override; |
| void SendJpegResolution(JpegProcessType process_type, |
| JpegProcessMethod process_layer, |
| int width, |
| int height) override; |
| void SendConfigureStreamResolution(int width, |
| int height, |
| int format) override; |
| void SendConfigureStreamsLatency(base::TimeDelta latency) override; |
| void SendOpenDeviceLatency(base::TimeDelta latency) override; |
| void SendError(int error_code) override; |
| void SendCameraFacing(int facing) override; |
| void SendSessionDuration(base::TimeDelta duration) override; |
| |
| private: |
| std::unique_ptr<MetricsLibraryInterface> metrics_lib_; |
| }; |
| |
| } // namespace cros |
| |
| #endif // CAMERA_COMMON_CAMERA_METRICS_IMPL_H_ |