blob: f92a59aa5fc9d6d21a56c23826f288a1076f7410 [file] [log] [blame]
// Copyright 2019 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "src/cobalt/bin/testing/fake_logger.h"
#include <vector>
using fuchsia::cobalt::CobaltEvent;
using fuchsia::cobalt::CustomEventValue;
using fuchsia::cobalt::HistogramBucket;
using fuchsia::cobalt::Status;
namespace cobalt {
zx_status_t FakeLogger_Sync::LogEvent(uint32_t metric_id, uint32_t event_code, Status* out_status) {
call_count_++;
last_log_method_invoked_ = kLogEvent;
last_metric_id_ = metric_id;
last_event_code_ = event_code;
*out_status = Status::OK;
return ZX_OK;
}
zx_status_t FakeLogger_Sync::LogEventCount(uint32_t metric_id, uint32_t event_code,
::std::string component, int64_t period_duration_micros,
int64_t count, Status* out_status) {
call_count_++;
last_log_method_invoked_ = kLogEventCount;
last_metric_id_ = metric_id;
last_event_code_ = event_code;
event_count_ = count;
*out_status = Status::OK;
return ZX_OK;
}
zx_status_t FakeLogger_Sync::LogElapsedTime(uint32_t metric_id, uint32_t event_code,
::std::string component, int64_t elapsed_micros,
Status* out_status) {
call_count_++;
last_log_method_invoked_ = kLogElapsedTime;
last_metric_id_ = metric_id;
last_event_code_ = event_code;
last_elapsed_time_ = elapsed_micros;
*out_status = Status::OK;
return ZX_OK;
}
zx_status_t FakeLogger_Sync::LogFrameRate(uint32_t metric_id, uint32_t event_code,
::std::string component, float fps, Status* out_status) {
call_count_++;
last_log_method_invoked_ = kLogFrameRate;
last_metric_id_ = metric_id;
last_event_code_ = event_code;
*out_status = Status::OK;
return ZX_OK;
}
zx_status_t FakeLogger_Sync::LogMemoryUsage(uint32_t metric_id, uint32_t event_code,
::std::string component, int64_t bytes,
Status* out_status) {
call_count_++;
last_log_method_invoked_ = kLogMemoryUsage;
last_metric_id_ = metric_id;
last_event_code_ = event_code;
*out_status = Status::OK;
return ZX_OK;
}
zx_status_t FakeLogger_Sync::StartTimer(uint32_t metric_id, uint32_t event_code,
::std::string component, ::std::string timer_id,
uint64_t timestamp, uint32_t timeout_s,
Status* out_status) {
call_count_++;
last_metric_id_ = metric_id;
*out_status = Status::OK;
return ZX_OK;
}
zx_status_t FakeLogger_Sync::EndTimer(::std::string timer_id, uint64_t timestamp,
uint32_t timeout_s, Status* out_status) {
call_count_++;
*out_status = Status::OK;
return ZX_OK;
}
zx_status_t FakeLogger_Sync::LogIntHistogram(uint32_t metric_id, uint32_t event_code,
::std::string component,
::std::vector<HistogramBucket> histogram,
Status* out_status) {
call_count_++;
last_log_method_invoked_ = kLogIntHistogram;
last_metric_id_ = metric_id;
last_event_code_ = event_code;
*out_status = Status::OK;
return ZX_OK;
}
zx_status_t FakeLogger_Sync::LogCustomEvent(uint32_t metric_id,
::std::vector<CustomEventValue> event_values,
Status* out_status) {
last_metric_id_ = metric_id;
*out_status = Status::OK;
return ZX_OK;
}
zx_status_t FakeLogger_Sync::LogCobaltEvent(CobaltEvent event, Status* out_status) {
call_count_++;
*out_status = Status::OK;
last_metric_id_ = event.metric_id;
last_event_code_ = event.event_codes.size() > 0 ? event.event_codes[0] : -1; // first position
last_event_code_second_position_ = event.event_codes.size() > 1 ? event.event_codes[1] : -1;
last_log_method_invoked_ = kLogCobaltEvent;
return ZX_OK;
}
zx_status_t FakeLogger_Sync::LogCobaltEvents(::std::vector<CobaltEvent> events,
Status* out_status) {
call_count_++;
last_log_method_invoked_ = kLogCobaltEvents;
last_event_code_ =
events.back().event_codes.size() > 0 ? events.back().event_codes[0] : -1; // first position
last_event_code_second_position_ =
events.back().event_codes.size() > 1 ? events.back().event_codes[1] : -1;
last_metric_id_ = events.back().metric_id;
*out_status = Status::OK;
event_count_ = events.size();
logged_events_ = std::move(events);
return ZX_OK;
}
} // namespace cobalt