Skip to content

Commit b60682e

Browse files
committed
Remove dependency on CuttlefishConfig from events.cc
This will make it possible to call from `cvd`. Bug: b/446266666
1 parent 8f18f81 commit b60682e

File tree

4 files changed

+34
-27
lines changed

4 files changed

+34
-27
lines changed

base/cvd/cuttlefish/host/commands/metrics/BUILD.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ cf_cc_library(
1010
hdrs = ["events.h"],
1111
deps = [
1212
"//cuttlefish/host/commands/metrics:libmetrics_utils",
13-
"//cuttlefish/host/libs/config:cuttlefish_config",
1413
"//cuttlefish/host/libs/config:vmm_mode",
1514
"//external_proto:cf_log_cc_proto",
1615
"//external_proto:cf_metrics_event_cc_proto",
@@ -35,6 +34,7 @@ cf_cc_binary(
3534
"//cuttlefish/host/commands/metrics:events",
3635
"//cuttlefish/host/commands/metrics:libmetrics_utils",
3736
"//cuttlefish/host/libs/config:cuttlefish_config",
37+
"//cuttlefish/host/libs/config:vmm_mode",
3838
"//cuttlefish/host/libs/metrics",
3939
"//cuttlefish/host/libs/metrics:metrics_headers",
4040
"//cuttlefish/host/libs/msg_queue",

base/cvd/cuttlefish/host/commands/metrics/events.cc

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
#include "google/protobuf/timestamp.pb.h"
2121

2222
#include "cuttlefish/host/commands/metrics/utils.h"
23-
#include "cuttlefish/host/libs/config/cuttlefish_config.h"
2423
#include "cuttlefish/host/libs/config/vmm_mode.h"
2524
#include "external_proto/cf_log.pb.h"
2625
#include "external_proto/cf_metrics_event.pb.h"
@@ -97,10 +96,8 @@ MetricsEvent::OsType GetOsType() {
9796
return MetricsEvent::CUTTLEFISH_OS_TYPE_UNSPECIFIED;
9897
}
9998

100-
MetricsEvent::VmmType GetVmm() {
101-
const CuttlefishConfig* config = CuttlefishConfig::Get();
102-
CHECK(config) << "Could not open cuttlefish config";
103-
switch (config->vm_manager()) {
99+
MetricsEvent::VmmType GetVmm(VmmMode vmm_mode) {
100+
switch (vmm_mode) {
104101
case VmmMode::kCrosvm:
105102
return MetricsEvent::CUTTLEFISH_VMM_TYPE_CROSVM;
106103
case VmmMode::kQemu:
@@ -111,14 +108,14 @@ MetricsEvent::VmmType GetVmm() {
111108
}
112109

113110
// Builds the 2nd level MetricsEvent.
114-
MetricsEvent BuildMetricsEvent(uint64_t now_ms,
111+
MetricsEvent BuildMetricsEvent(uint64_t now_ms, VmmMode vmm_mode,
115112
MetricsEvent::EventType event_type) {
116113
// "metrics_event" is the 2nd level MetricsEvent
117114
MetricsEvent metrics_event;
118115
metrics_event.set_event_type(event_type);
119116
metrics_event.set_os_type(GetOsType());
120117
metrics_event.set_os_version(GetOsVersion());
121-
metrics_event.set_vmm_type(GetVmm());
118+
metrics_event.set_vmm_type(GetVmm(vmm_mode));
122119

123120
if (!GetVmmVersion().empty()) {
124121
metrics_event.set_vmm_version(GetVmmVersion());
@@ -150,11 +147,12 @@ LogRequest BuildLogRequest(uint64_t now_ms,
150147
return log_request;
151148
}
152149

153-
int SendEvent(MetricsEvent::EventType event_type) {
150+
int SendEvent(MetricsEvent::EventType event_type, VmmMode vmm_mode) {
154151
uint64_t now_ms = GetEpochTimeMs();
155152

156153
CuttlefishLogEvent cf_event = BuildCfLogEvent(now_ms);
157-
*cf_event.mutable_metrics_event() = BuildMetricsEvent(now_ms, event_type);
154+
*cf_event.mutable_metrics_event() =
155+
BuildMetricsEvent(now_ms, vmm_mode, event_type);
158156

159157
LogRequest log_request = BuildLogRequest(now_ms, cf_event);
160158
std::string log_request_str = log_request.SerializeAsString();
@@ -164,20 +162,22 @@ int SendEvent(MetricsEvent::EventType event_type) {
164162

165163
} // namespace
166164

167-
int SendVMStart() {
168-
return SendEvent(MetricsEvent::CUTTLEFISH_EVENT_TYPE_VM_INSTANTIATION);
165+
int SendVMStart(VmmMode vmm_mode) {
166+
return SendEvent(MetricsEvent::CUTTLEFISH_EVENT_TYPE_VM_INSTANTIATION,
167+
vmm_mode);
169168
}
170169

171-
int SendVMStop() {
172-
return SendEvent(MetricsEvent::CUTTLEFISH_EVENT_TYPE_VM_STOP);
170+
int SendVMStop(VmmMode vmm_mode) {
171+
return SendEvent(MetricsEvent::CUTTLEFISH_EVENT_TYPE_VM_STOP, vmm_mode);
173172
}
174173

175-
int SendDeviceBoot() {
176-
return SendEvent(MetricsEvent::CUTTLEFISH_EVENT_TYPE_DEVICE_BOOT);
174+
int SendDeviceBoot(VmmMode vmm_mode) {
175+
return SendEvent(MetricsEvent::CUTTLEFISH_EVENT_TYPE_DEVICE_BOOT, vmm_mode);
177176
}
178177

179-
int SendLockScreen() {
180-
return SendEvent(MetricsEvent::CUTTLEFISH_EVENT_TYPE_LOCK_SCREEN_AVAILABLE);
178+
int SendLockScreen(VmmMode vmm_mode) {
179+
return SendEvent(MetricsEvent::CUTTLEFISH_EVENT_TYPE_LOCK_SCREEN_AVAILABLE,
180+
vmm_mode);
181181
}
182182

183183
} // namespace cuttlefish::metrics

base/cvd/cuttlefish/host/commands/metrics/events.h

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,13 @@
1515
*/
1616
#pragma once
1717

18+
#include "cuttlefish/host/libs/config/vmm_mode.h"
19+
1820
namespace cuttlefish::metrics {
1921

20-
int SendVMStart();
21-
int SendVMStop();
22-
int SendDeviceBoot();
23-
int SendLockScreen();
22+
int SendVMStart(VmmMode);
23+
int SendVMStop(VmmMode);
24+
int SendDeviceBoot(VmmMode);
25+
int SendLockScreen(VmmMode);
2426

2527
} // namespace cuttlefish

base/cvd/cuttlefish/host/commands/metrics/host_receiver.cc

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,10 @@
2020
#include <android-base/logging.h>
2121

2222
#include "cuttlefish/host/commands/metrics/events.h"
23+
#include "cuttlefish/host/libs/config/cuttlefish_config.h"
24+
#include "cuttlefish/host/libs/config/vmm_mode.h"
2325
#include "cuttlefish/host/libs/metrics/metrics_configs.h"
2426
#include "cuttlefish/host/libs/metrics/metrics_defs.h"
25-
#include "cuttlefish/host/libs/metrics/metrics_receiver.h"
2627
#include "cuttlefish/host/libs/msg_queue/msg_queue.h"
2728
#include "external_proto/cf_log.pb.h"
2829

@@ -75,14 +76,18 @@ bool MetricsHostReceiver::Initialize(const std::string& metrics_queue_name) {
7576
void MetricsHostReceiver::ProcessMessage(const std::string& text) {
7677
int rc = MetricsExitCodes::kSuccess;
7778

79+
const CuttlefishConfig* config = CuttlefishConfig::Get();
80+
CHECK(config) << "Could not open cuttlefish config";
81+
VmmMode vmm_mode = config->vm_manager();
82+
7883
if (text == "VMStart") {
79-
rc = metrics::SendVMStart();
84+
rc = metrics::SendVMStart(vmm_mode);
8085
} else if (text == "VMStop") {
81-
rc = metrics::SendVMStop();
86+
rc = metrics::SendVMStop(vmm_mode);
8287
} else if (text == "DeviceBoot") {
83-
rc = metrics::SendDeviceBoot();
88+
rc = metrics::SendDeviceBoot(vmm_mode);
8489
} else if (text == "LockScreen") {
85-
rc = metrics::SendLockScreen();
90+
rc = metrics::SendLockScreen(vmm_mode);
8691
} else {
8792
LOG(ERROR) << "Message not recognized: " << text;
8893
rc = MetricsExitCodes::kMetricsError;

0 commit comments

Comments
 (0)