histogram_util.cc 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. // Copyright 2022 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #include "ash/components/fwupd/histogram_util.h"
  5. #include <string>
  6. #include "base/metrics/histogram_functions.h"
  7. namespace {
  8. const char kHistogramName[] = "ChromeOS.FirmwareUpdateUi.";
  9. } // namespace
  10. namespace ash {
  11. namespace firmware_update {
  12. namespace metrics {
  13. void EmitDeviceCount(int num_devices, bool is_startup) {
  14. base::UmaHistogramCounts100(
  15. GetSourceStr(is_startup) + std::string(".DeviceCount"), num_devices);
  16. }
  17. void EmitUpdateCount(int num_updates,
  18. int num_critical_updates,
  19. bool is_startup) {
  20. const auto source_str = GetSourceStr(is_startup);
  21. base::UmaHistogramCounts100(source_str + std::string(".CriticalUpdateCount"),
  22. num_critical_updates);
  23. base::UmaHistogramCounts100(source_str + std::string(".UpdateCount"),
  24. num_updates);
  25. }
  26. void EmitInstallResult(FirmwareUpdateInstallResult result) {
  27. base::UmaHistogramEnumeration("ChromeOS.FirmwareUpdateUi.InstallResult",
  28. result);
  29. }
  30. std::string GetSourceStr(bool is_startup) {
  31. return std::string(kHistogramName) +
  32. std::string(is_startup ? "OnStartup" : "OnRefresh");
  33. }
  34. } // namespace metrics
  35. } // namespace firmware_update
  36. } // namespace ash