diff --git a/base/cvd/cuttlefish/host/commands/assemble_cvd/BUILD.bazel b/base/cvd/cuttlefish/host/commands/assemble_cvd/BUILD.bazel index 9bc3656d75c..19e08b05878 100644 --- a/base/cvd/cuttlefish/host/commands/assemble_cvd/BUILD.bazel +++ b/base/cvd/cuttlefish/host/commands/assemble_cvd/BUILD.bazel @@ -387,6 +387,7 @@ cf_cc_library( "//cuttlefish/host/libs/config/defaults", "//cuttlefish/host/libs/vhal_proxy_server", "//cuttlefish/host/libs/vm_manager", + "//cuttlefish/metrics/host:invoker", "//cuttlefish/result", "@abseil-cpp//absl/log", "@abseil-cpp//absl/strings", diff --git a/base/cvd/cuttlefish/host/commands/assemble_cvd/flags.cc b/base/cvd/cuttlefish/host/commands/assemble_cvd/flags.cc index 09fb9f74b56..83217c9d9b2 100644 --- a/base/cvd/cuttlefish/host/commands/assemble_cvd/flags.cc +++ b/base/cvd/cuttlefish/host/commands/assemble_cvd/flags.cc @@ -48,7 +48,6 @@ #include "cuttlefish/common/libs/utils/base64.h" #include "cuttlefish/common/libs/utils/container.h" #include "cuttlefish/common/libs/utils/contains.h" -#include "cuttlefish/common/libs/utils/environment.h" #include "cuttlefish/common/libs/utils/files.h" #include "cuttlefish/common/libs/utils/host_info.h" #include "cuttlefish/common/libs/utils/known_paths.h" @@ -109,6 +108,7 @@ #include "cuttlefish/host/libs/vm_manager/gem5_manager.h" #include "cuttlefish/host/libs/vm_manager/qemu_manager.h" #include "cuttlefish/host/libs/vm_manager/vm_manager.h" +#include "cuttlefish/metrics/host/invoker.h" #include "cuttlefish/result/result.h" #define GET_FLAG_STR_VALUE(name) \ @@ -915,7 +915,7 @@ Result InitializeCuttlefishConfiguration( (default_on_arch.find( guest_configs[instance_index].target_arch) != default_on_arch.end() || - StringFromEnv("CVD_INVOKER").value_or("") == "podcvd")) { + GetInvoker() == Invoker::Podcvd)) { instance.set_vhost_user_vsock(true); } else { instance.set_vhost_user_vsock(false); diff --git a/base/cvd/cuttlefish/host/commands/run_cvd/launch/BUILD.bazel b/base/cvd/cuttlefish/host/commands/run_cvd/launch/BUILD.bazel index bf16e1b0f89..6dad647f911 100644 --- a/base/cvd/cuttlefish/host/commands/run_cvd/launch/BUILD.bazel +++ b/base/cvd/cuttlefish/host/commands/run_cvd/launch/BUILD.bazel @@ -461,7 +461,6 @@ cf_cc_library( hdrs = ["streamer.h"], deps = [ "//cuttlefish/common/libs/fs", - "//cuttlefish/common/libs/utils:environment", "//cuttlefish/common/libs/utils:files", "//cuttlefish/host/commands/run_cvd:reporting", "//cuttlefish/host/commands/run_cvd/launch:enable_multitouch", @@ -475,6 +474,7 @@ cf_cc_library( "//cuttlefish/host/libs/config:gpu_mode", "//cuttlefish/host/libs/config:known_paths", "//cuttlefish/host/libs/feature", + "//cuttlefish/metrics/host:invoker", "//cuttlefish/posix:strerror", "//cuttlefish/process:command", "//cuttlefish/process:subprocess", diff --git a/base/cvd/cuttlefish/host/commands/run_cvd/launch/streamer.cpp b/base/cvd/cuttlefish/host/commands/run_cvd/launch/streamer.cpp index f5154486eb0..3273e0a92f8 100644 --- a/base/cvd/cuttlefish/host/commands/run_cvd/launch/streamer.cpp +++ b/base/cvd/cuttlefish/host/commands/run_cvd/launch/streamer.cpp @@ -17,7 +17,6 @@ #include -#include #include #include #include @@ -31,7 +30,6 @@ #include "fruit/macro.h" #include "cuttlefish/common/libs/fs/shared_fd.h" -#include "cuttlefish/common/libs/utils/environment.h" #include "cuttlefish/common/libs/utils/files.h" #include "cuttlefish/host/commands/run_cvd/launch/enable_multitouch.h" #include "cuttlefish/host/commands/run_cvd/launch/input_paths_provider.h" @@ -47,6 +45,7 @@ #include "cuttlefish/host/libs/feature/command_source.h" #include "cuttlefish/host/libs/feature/feature.h" #include "cuttlefish/host/libs/feature/kernel_log_pipe_provider.h" +#include "cuttlefish/metrics/host/invoker.h" #include "cuttlefish/posix/strerror.h" #include "cuttlefish/process/command.h" #include "cuttlefish/process/subprocess.h" @@ -225,7 +224,7 @@ class WebRtcServer : public virtual CommandSource, return {}; } std::string url; - if (StringFromEnv("CVD_INVOKER").value_or("") == "podcvd") { + if (GetInvoker() == Invoker::Podcvd) { // Container image used by podcvd always contains `cuttlefish-user` debian // package. URL starting with `https://localhost:1443` is required as port // 1443 in the container is exposed via port forwarding. When printing diff --git a/base/cvd/cuttlefish/metrics/BUILD.bazel b/base/cvd/cuttlefish/metrics/BUILD.bazel index be80b12d456..69d70f654ab 100644 --- a/base/cvd/cuttlefish/metrics/BUILD.bazel +++ b/base/cvd/cuttlefish/metrics/BUILD.bazel @@ -70,12 +70,12 @@ cf_cc_library( "//cuttlefish/metrics/conversion:metrics_data", "//cuttlefish/metrics/external_proto:cf_log_cc_proto", "//cuttlefish/metrics/host:host_metrics", - "//cuttlefish/metrics/host:invoker", "//cuttlefish/metrics/io:enabled", "//cuttlefish/metrics/io:metrics_transmitter", "//cuttlefish/metrics/io:metrics_writer", "//cuttlefish/metrics/io:unique_id_file", "//cuttlefish/result", + "@abseil-cpp//absl/log", "@fmt", ], ) diff --git a/base/cvd/cuttlefish/metrics/host/host_metrics.cc b/base/cvd/cuttlefish/metrics/host/host_metrics.cc index ee6640fba85..6236ce62219 100644 --- a/base/cvd/cuttlefish/metrics/host/host_metrics.cc +++ b/base/cvd/cuttlefish/metrics/host/host_metrics.cc @@ -17,7 +17,6 @@ #include "cuttlefish/metrics/host/host_metrics.h" #include -#include #include "cuttlefish/common/libs/utils/host_info.h" #include "cuttlefish/metrics/host/gce_environment.h" @@ -47,15 +46,10 @@ Result GetEnvironment() { } // namespace Result GetHostMetrics() { - Invoker invoker = GetInvoker(); - std::string user_id; - if (invoker != Invoker::Podcvd) { - user_id = CF_EXPECT(ReadUserIdFile()); - } return HostMetrics{.os = GetHostInfo(), - .invoker = invoker, + .invoker = GetInvoker(), .environment = CF_EXPECT(GetEnvironment()), - .user_id = user_id}; + .user_id = ReadUserIdFile().value_or("")}; } } // namespace cuttlefish diff --git a/base/cvd/cuttlefish/metrics/io/unique_id_file.cc b/base/cvd/cuttlefish/metrics/io/unique_id_file.cc index d09d1724e94..239e90fc058 100644 --- a/base/cvd/cuttlefish/metrics/io/unique_id_file.cc +++ b/base/cvd/cuttlefish/metrics/io/unique_id_file.cc @@ -46,6 +46,7 @@ Result GenerateUniqueIdFile(const std::string& directory, return {}; } const std::string unique_id = GenerateUuid(); + CF_EXPECT(EnsureDirectoryExists(directory)); CF_EXPECT(WriteNewFile(filepath, unique_id)); return {}; } diff --git a/base/cvd/cuttlefish/metrics/metrics_orchestration.cc b/base/cvd/cuttlefish/metrics/metrics_orchestration.cc index f941a19db2f..677f54c9574 100644 --- a/base/cvd/cuttlefish/metrics/metrics_orchestration.cc +++ b/base/cvd/cuttlefish/metrics/metrics_orchestration.cc @@ -22,6 +22,7 @@ #include #include +#include "absl/log/log.h" #include "fmt/format.h" #include "cuttlefish/common/libs/utils/files.h" @@ -31,7 +32,6 @@ #include "cuttlefish/metrics/conversion/metrics_data.h" #include "cuttlefish/metrics/external_proto/cf_log.pb.h" #include "cuttlefish/metrics/host/host_metrics.h" -#include "cuttlefish/metrics/host/invoker.h" #include "cuttlefish/metrics/io/enabled.h" #include "cuttlefish/metrics/io/metrics_transmitter.h" #include "cuttlefish/metrics/io/metrics_writer.h" @@ -53,9 +53,9 @@ std::chrono::milliseconds GetEpochTime() { Result SetUpMetrics(const std::string& metrics_directory) { CF_EXPECT(EnsureDirectoryExists(metrics_directory)); CF_EXPECT(GenerateSessionIdFile(metrics_directory)); - // TODO: b/578071683 - remove restriction once user id filepath is writable - if (GetInvoker() != Invoker::Podcvd) { - CF_EXPECT(GenerateUserIdFile()); + Result user_id_result = GenerateUserIdFile(); + if (!user_id_result) { + VLOG(0) << "Failed to generate user ID file: " << user_id_result.error(); } return {}; }