Log Cobalt 1.1 internal metrics
Switch all internal metrics to log to their Cobalt 1.1 metrics.
Bug: 64989
Test: Removed all 1.0 internal metric definitions, build and
tests pass
Test: Ran lint and formatter
Change-Id: I79e7fab88e34cd144ffea106af69c9d30be6c4b9
Reviewed-on: https://fuchsia-review.googlesource.com/c/cobalt/+/655928
Reviewed-by: Zach Bush <zmbush@google.com>
Fuchsia-Auto-Submit: Steve Fung <stevefung@google.com>
Commit-Queue: Auto-Submit <auto-submit@fuchsia-infra.iam.gserviceaccount.com>
diff --git a/src/lib/clearcut/uploader.cc b/src/lib/clearcut/uploader.cc
index 184e7db..af02c9d 100644
--- a/src/lib/clearcut/uploader.cc
+++ b/src/lib/clearcut/uploader.cc
@@ -104,7 +104,7 @@
escaped_request_body = absl::CEscape(request.body);
request_body_size = request.body.size();
- internal_metrics_->BytesUploaded(logger::PerDeviceBytesUploadedMetricDimensionStatus::Attempted,
+ internal_metrics_->BytesUploaded(logger::BytesUploadedMetricDimensionStatus::Attempted,
request_body_size);
VLOG(5) << "ClearcutUploader: Sending POST request to " << url_ << ".";
@@ -165,7 +165,7 @@
}
}
- internal_metrics_->BytesUploaded(logger::PerDeviceBytesUploadedMetricDimensionStatus::Succeeded,
+ internal_metrics_->BytesUploaded(logger::BytesUploadedMetricDimensionStatus::Succeeded,
request_body_size);
LogResponse log_response;
diff --git a/src/logger/BUILD.gn b/src/logger/BUILD.gn
index 830ad56..87b3b05 100644
--- a/src/logger/BUILD.gn
+++ b/src/logger/BUILD.gn
@@ -163,6 +163,7 @@
"$cobalt_root/src:logging",
"$cobalt_root/src/lib/util:protected_fields",
"$cobalt_root/src/public:diagnostics_interface",
+ "$cobalt_root/src/public/lib:registry_identifiers",
"//third_party/abseil-cpp",
]
}
@@ -440,6 +441,7 @@
":internal_metrics",
":logger_test_utils",
"$cobalt_root/src/local_aggregation:cobalt_local_aggregation_proto",
+ "$cobalt_root/src/public/lib:registry_identifiers",
"//third_party/abseil-cpp",
"//third_party/googletest:gtest",
"//third_party/tink/cc/util:status",
diff --git a/src/logger/fake_logger.h b/src/logger/fake_logger.h
index 53e3517..9b3fb87 100644
--- a/src/logger/fake_logger.h
+++ b/src/logger/fake_logger.h
@@ -65,7 +65,8 @@
Status LogSerializedCustomEvent(uint32_t metric_id,
std::unique_ptr<std::string> serialized_proto) override;
- void RecordLoggerCall(PerProjectLoggerCallsMadeMetricDimensionLoggerMethod method) override {
+ void RecordLoggerCall(
+ PerProjectLoggerCallsMadeMigratedMetricDimensionLoggerMethod method) override {
if (!internal_logging_paused_) {
internal_logger_calls_[method]++;
}
@@ -82,7 +83,8 @@
uint32_t call_count() const { return call_count_; }
Event last_event_logged() const { return last_event_logged_; }
Event nth_event_logged(int64_t n) const { return events_logged_[n]; }
- std::map<PerProjectLoggerCallsMadeMetricDimensionLoggerMethod, uint32_t> internal_logger_calls() {
+ std::map<PerProjectLoggerCallsMadeMigratedMetricDimensionLoggerMethod, uint32_t>
+ internal_logger_calls() {
return internal_logger_calls_;
}
@@ -90,7 +92,8 @@
Event last_event_logged_;
std::vector<Event> events_logged_;
uint32_t call_count_ = 0;
- std::map<PerProjectLoggerCallsMadeMetricDimensionLoggerMethod, uint32_t> internal_logger_calls_;
+ std::map<PerProjectLoggerCallsMadeMigratedMetricDimensionLoggerMethod, uint32_t>
+ internal_logger_calls_;
bool internal_logging_paused_ = false;
};
diff --git a/src/logger/internal_metrics.cc b/src/logger/internal_metrics.cc
index 254e3de..008a34c 100644
--- a/src/logger/internal_metrics.cc
+++ b/src/logger/internal_metrics.cc
@@ -4,14 +4,59 @@
#include "src/logger/internal_metrics.h"
+#include <cstdint>
#include <memory>
#include <sstream>
#include <utility>
#include "src/logger/internal_metrics_config.cb.h"
#include "src/logging.h"
+#include "src/public/lib/registry_identifiers.h"
namespace cobalt::logger {
+namespace {
+const std::map<std::string, uint32_t> project_map = {
+ {"2147483647/205836624", 1},
+ {"1/929352809", 2},
+ {"1/657579885", 3},
+ {"1/7", 4},
+ {"1/2322225253", 5},
+ {"1/4", 6},
+ {"1/5", 7},
+ {"1/3708719327", 8},
+ {"1/4228153068", 9},
+ {"1/2", 10},
+ {"1/2820332838", 11},
+ {"1/1334068210", 12},
+ {"1/3676913920", 13},
+ {"1/285903809", 14},
+ {"1/3142410971", 15},
+ {"1/3509424520", 16},
+ {"1/2165403525", 17},
+ {"1/1", 18},
+ {"1/3", 19},
+ {"1/2550112954", 20},
+ {"1/4247972873", 21},
+ {"1/6", 22},
+ {"1/8", 23},
+ {"1/9", 24},
+ {"1/10", 25},
+ {"1/11", 26},
+ {"1/12", 27},
+ {"1/13", 28},
+ {"1/14", 29},
+ {"1/15", 30},
+ {"1/16", 31},
+};
+
+uint32_t GetProjectEventCode(const std::string& project_identifier) {
+ auto event_code = project_map.find(project_identifier);
+ if (event_code != project_map.end()) {
+ return event_code->second;
+ }
+ return 0;
+}
+} // namespace
std::unique_ptr<InternalMetrics> InternalMetrics::NewWithLogger(LoggerInterface* logger,
DiagnosticsInterface* diagnostics) {
@@ -26,22 +71,22 @@
CHECK(logger_);
}
-void InternalMetricsImpl::LoggerCalled(PerProjectLoggerCallsMadeMetricDimensionLoggerMethod method,
- const Project& project) {
+void InternalMetricsImpl::LoggerCalled(
+ PerProjectLoggerCallsMadeMigratedMetricDimensionLoggerMethod method, const Project& project) {
fields_.lock()->queued_lambdas.emplace_back([this, method, project] {
- auto status = logger_->LogEventCount(kLoggerCallsMadeMetricId, {method}, "", 0, 1);
+ auto status = logger_->LogOccurrence(kLoggerCallsMadeMigratedMetricId, 1, {method});
if (!status.ok()) {
- VLOG(1) << "InternalMetricsImpl::LoggerCalled: LogEventCount() returned status=" << status;
+ VLOG(1) << "InternalMetricsImpl::LoggerCalled: LogOccurrence() returned status=" << status;
}
std::ostringstream component;
- component << project.customer_name() << '/' << project.project_name();
- status =
- logger_->LogEventCount(kPerProjectLoggerCallsMadeMetricId, {method}, component.str(), 0, 1);
+ component << project.customer_id() << '/' << project.project_id();
+ status = logger_->LogOccurrence(kPerProjectLoggerCallsMadeMigratedMetricId, 1,
+ {GetProjectEventCode(component.str()), method});
if (!status.ok()) {
- VLOG(1) << "InternalMetricsImpl::LoggerCalled: LogEventCount() returned status=" << status;
+ VLOG(1) << "InternalMetricsImpl::LoggerCalled: LogOccurrence() returned status=" << status;
}
if (diagnostics_ != nullptr) {
@@ -50,19 +95,11 @@
});
}
-void InternalMetricsImpl::BytesUploaded(PerDeviceBytesUploadedMetricDimensionStatus upload_status,
+void InternalMetricsImpl::BytesUploaded(BytesUploadedMetricDimensionStatus upload_status,
size_t byte_count) {
fields_.lock()->queued_lambdas.emplace_back([this, upload_status, byte_count] {
- Status status = logger_->LogEventCount(kPerDeviceBytesUploadedMetricId, {upload_status}, "", 0,
- static_cast<uint32_t>(byte_count));
-
- if (!status.ok()) {
- VLOG(1) << "InternalMetricsImpl::BytesUploaded: LogEventCount() returned "
- << "status=" << status;
- }
-
- status = logger_->LogOccurrence(kBytesUploadedMetricId, static_cast<uint64_t>(byte_count),
- {upload_status});
+ Status status = logger_->LogOccurrence(kBytesUploadedMetricId,
+ static_cast<uint64_t>(byte_count), {upload_status});
if (!status.ok()) {
VLOG(1) << "InternalMetricsImpl::BytesUploaded: LogOccurrence() returned "
@@ -71,94 +108,88 @@
});
}
-void InternalMetricsImpl::BytesUploaded(PerProjectBytesUploadedMetricDimensionStatus upload_status,
- size_t byte_count, uint32_t customer_id,
- uint32_t project_id) {
+void InternalMetricsImpl::BytesUploaded(
+ PerProjectBytesUploadedMigratedMetricDimensionStatus upload_status, size_t byte_count,
+ const lib::ProjectIdentifier& project_identifier) {
fields_.lock()->queued_lambdas.emplace_back(
- [this, upload_status, byte_count, customer_id, project_id] {
+ [this, upload_status, byte_count, project_identifier] {
std::ostringstream component;
- component << customer_id << '/' << project_id;
+ component << project_identifier.customer_id() << '/' << project_identifier.project_id();
- auto status = logger_->LogEventCount(kPerProjectBytesUploadedMetricId, {upload_status},
- component.str(), 0, static_cast<int64_t>(byte_count));
+ auto status = logger_->LogInteger(kPerProjectBytesUploadedMigratedMetricId,
+ static_cast<int64_t>(byte_count),
+ {GetProjectEventCode(component.str()), upload_status});
if (!status.ok()) {
- VLOG(1) << "InternalMetricsImpl::BytesUploaded: LogEventCount() returned "
+ VLOG(1) << "InternalMetricsImpl::BytesUploaded: LogInteger() returned "
<< "status=" << status;
}
});
}
-void InternalMetricsImpl::BytesStored(PerProjectBytesStoredMetricDimensionStatus upload_status,
- size_t byte_count, uint32_t customer_id,
- uint32_t project_id) {
- fields_.lock()->queued_lambdas.emplace_back([this, upload_status, byte_count, customer_id,
- project_id] {
- std::ostringstream component;
- component << customer_id << '/' << project_id;
+void InternalMetricsImpl::BytesStored(
+ PerProjectBytesStoredMigratedMetricDimensionStatus upload_status, size_t byte_count,
+ const lib::ProjectIdentifier& project_identifier) {
+ fields_.lock()->queued_lambdas.emplace_back(
+ [this, upload_status, byte_count, project_identifier] {
+ std::ostringstream component;
+ component << project_identifier.customer_id() << '/' << project_identifier.project_id();
- auto status = logger_->LogMemoryUsage(kPerProjectBytesStoredMetricId, {upload_status},
- component.str(), static_cast<int64_t>(byte_count));
+ auto status = logger_->LogInteger(kPerProjectBytesStoredMigratedMetricId,
+ static_cast<int64_t>(byte_count),
+ {GetProjectEventCode(component.str()), upload_status});
- if (!status.ok()) {
- VLOG(1) << "InternalMetricsImpl::BytesStored: LogMemoryUsage() returned status=" << status;
- }
- });
+ if (!status.ok()) {
+ VLOG(1) << "InternalMetricsImpl::BytesStored: LogInteger() returned status=" << status;
+ }
+ });
}
void InternalMetricsImpl::IdleObservationUpload(
- IdleObservationUploadMetricDimensionDeviceState state) {
+ IdleObservationUploadMigratedMetricDimensionDeviceState state) {
fields_.lock()->queued_lambdas.emplace_back([this, state] {
- auto status = logger_->LogEventCount(kIdleObservationUploadMetricId, {state}, "", 0, 1);
+ auto status = logger_->LogOccurrence(kIdleObservationUploadMigratedMetricId, 1, {state});
if (!status.ok()) {
- VLOG(1) << "InternalMetricsImpl::IdleObservationUpload: LogEventCount() returned status="
+ VLOG(1) << "InternalMetricsImpl::IdleObservationUpload: LogOccurrence() returned status="
<< status;
}
});
}
-void InternalMetricsImpl::InaccurateClockEventsCached(int64_t event_count, uint32_t customer_id,
- uint32_t project_id) {
- fields_.lock()->queued_lambdas.emplace_back([this, event_count, customer_id, project_id] {
- std::ostringstream component;
- component << customer_id << '/' << project_id;
-
- auto status = logger_->LogEventCount(kInaccurateClockEventsCachedMetricId, {}, component.str(),
- 0, event_count);
+void InternalMetricsImpl::InaccurateClockEventsCached(int64_t event_count) {
+ fields_.lock()->queued_lambdas.emplace_back([this, event_count] {
+ auto status =
+ logger_->LogOccurrence(kInaccurateClockEventsCachedMigratedMetricId, event_count, {});
if (!status.ok()) {
VLOG(1)
- << "InternalMetricsImpl::InaccurateClockEventsCached: LogEventCount() returned status="
+ << "InternalMetricsImpl::InaccurateClockEventsCached: LogOccurrence() returned status="
<< status;
}
});
}
-void InternalMetricsImpl::InaccurateClockEventsDropped(int64_t event_count, uint32_t customer_id,
- uint32_t project_id) {
- fields_.lock()->queued_lambdas.emplace_back([this, event_count, customer_id, project_id] {
- std::ostringstream component;
- component << customer_id << '/' << project_id;
-
- auto status = logger_->LogEventCount(kInaccurateClockEventsDroppedMetricId, {}, component.str(),
- 0, event_count);
+void InternalMetricsImpl::InaccurateClockEventsDropped(int64_t event_count) {
+ fields_.lock()->queued_lambdas.emplace_back([this, event_count] {
+ auto status =
+ logger_->LogOccurrence(kInaccurateClockEventsDroppedMigratedMetricId, event_count, {});
if (!status.ok()) {
VLOG(1)
- << "InternalMetricsImpl::InaccurateClockEventsDropped: LogEventCount() returned status="
+ << "InternalMetricsImpl::InaccurateClockEventsDropped: LogOccurrence() returned status="
<< status;
}
});
}
void InternalMetricsImpl::SetSoftwareDistributionInfoCalled(
- SetSoftwareDistributionInfoCalledEventCodes event_codes) {
+ SetSoftwareDistributionInfoCalledMigratedEventCodes event_codes) {
fields_.lock()->queued_lambdas.emplace_back([this, event_codes] {
- auto status = logger_->LogEventCount(kSetSoftwareDistributionInfoCalledMetricId,
- event_codes.ToVector(), "", 0, 1);
+ auto status = logger_->LogOccurrence(kSetSoftwareDistributionInfoCalledMigratedMetricId, 1,
+ event_codes.ToVector());
if (!status.ok()) {
- VLOG(1) << "InternalMetricsImpl::SetSoftwareDistributionInfoCalled: LogEventCount() returned "
+ VLOG(1) << "InternalMetricsImpl::SetSoftwareDistributionInfoCalled: LogOccurrence() returned "
"status="
<< status;
}
diff --git a/src/logger/internal_metrics.h b/src/logger/internal_metrics.h
index 4dfda4c..36b9434 100644
--- a/src/logger/internal_metrics.h
+++ b/src/logger/internal_metrics.h
@@ -13,6 +13,7 @@
#include "src/logger/internal_metrics_config.cb.h"
#include "src/logger/logger_interface.h"
#include "src/public/diagnostics_interface.h"
+#include "src/public/lib/registry_identifiers.h"
#include "src/registry/project.pb.h"
namespace cobalt::logger {
@@ -33,47 +34,47 @@
static std::unique_ptr<InternalMetrics> NewWithLogger(LoggerInterface* logger,
DiagnosticsInterface* diagnostics);
- // LoggerCalled (cobalt_internal::metrics::logger_calls_made) and
- // (cobalt_internal::metrics::per_project_logger_calls_made) are logged for
- // every call to Logger along with which method was called and the project
- // that called it.
- virtual void LoggerCalled(PerProjectLoggerCallsMadeMetricDimensionLoggerMethod method,
+ // LoggerCalled (cobalt_internal::metrics::logger_calls_made_migrated) and
+ // (cobalt_internal::metrics::per_project_logger_calls_made_migrated) are
+ // logged for every call to Logger along with which method was called and
+ // the project that called it.
+ virtual void LoggerCalled(PerProjectLoggerCallsMadeMigratedMetricDimensionLoggerMethod method,
const Project& project) = 0;
- // cobalt_internal::metrics::per_device_bytes_uploaded is logged when the
- // Clearcut Uploader attempts or succeeds to upload observations from the
- // device.
- virtual void BytesUploaded(PerDeviceBytesUploadedMetricDimensionStatus upload_status,
+ // cobalt_internal::metrics::bytes_uploaded is logged when the Clearcut
+ // Uploader attempts or succeeds to upload observations from the device.
+ virtual void BytesUploaded(BytesUploadedMetricDimensionStatus upload_status,
size_t byte_count) = 0;
- // cobalt_internal::metrics::per_project_bytes_uploaded is logged when the
- // Shipping Manager attempts or succeeds to store observations on the device.
- virtual void BytesUploaded(PerProjectBytesUploadedMetricDimensionStatus upload_status,
- size_t byte_count, uint32_t customer_id, uint32_t project_id) = 0;
+ // cobalt_internal::metrics::per_project_bytes_uploaded_migrated is logged when
+ // the Shipping Manager attempts or succeeds to store observations on the device.
+ virtual void BytesUploaded(PerProjectBytesUploadedMigratedMetricDimensionStatus upload_status,
+ size_t byte_count,
+ const lib::ProjectIdentifier& project_identifier) = 0;
- // cobalt_internal::metrics::per_project_bytes_stored is logged when the
+ // cobalt_internal::metrics::per_project_bytes_stored_migrated is logged when the
// Observation Store attempts or succeeds to store observations on the device.
- virtual void BytesStored(PerProjectBytesStoredMetricDimensionStatus upload_status,
- size_t byte_count, uint32_t customer_id, uint32_t project_id) = 0;
+ virtual void BytesStored(PerProjectBytesStoredMigratedMetricDimensionStatus upload_status,
+ size_t byte_count, const lib::ProjectIdentifier& project_identifier) = 0;
- // cobalt_internal::metrics::idle_observation_upload is logged when the
+ // cobalt_internal::metrics::idle_observation_upload_migrated is logged when the
// Shipping Manager encrypts and uploads observations.
- virtual void IdleObservationUpload(IdleObservationUploadMetricDimensionDeviceState state) = 0;
+ virtual void IdleObservationUpload(
+ IdleObservationUploadMigratedMetricDimensionDeviceState state) = 0;
- // cobalt_internal::metrics::inaccurate_clock_events_cached is logged when the
- // UndatedEventManager saves an event while the clock is inaccurate.
- virtual void InaccurateClockEventsCached(int64_t event_count, uint32_t customer_id,
- uint32_t project_id) = 0;
+ // cobalt_internal::metrics::inaccurate_clock_events_cached_migrated is logged when
+ // the UndatedEventManager saves an event while the clock is inaccurate.
+ virtual void InaccurateClockEventsCached(int64_t event_count) = 0;
- // cobalt_internal::metrics::inaccurate_clock_events_dropped is logged when the
- // UndatedEventManager drops a saved event while the clock is inaccurate and it runs out of space.
- virtual void InaccurateClockEventsDropped(int64_t event_count, uint32_t customer_id,
- uint32_t project_id) = 0;
+ // cobalt_internal::metrics::inaccurate_clock_events_dropped_migrated is logged when
+ // the UndatedEventManager drops a saved event while the clock is inaccurate and it
+ // runs out of space.
+ virtual void InaccurateClockEventsDropped(int64_t event_count) = 0;
- // cobalt_internal::metrics::set_software_distribution_info_called is logged
+ // cobalt_internal::metrics::set_software_distribution_info_called_migrated is logged
// when the SystemData receives SoftwareDistributionInfo.
virtual void SetSoftwareDistributionInfoCalled(
- SetSoftwareDistributionInfoCalledEventCodes event_codes) = 0;
+ SetSoftwareDistributionInfoCalledMigratedEventCodes event_codes) = 0;
// Used to mark which class this disk usage is coming from. Can be:
// - ObservationStore
@@ -82,7 +83,7 @@
// - ObservationHistory
using StorageClass = MetricsMetricDimensionStorageClass;
- // cobalt_internal::metrics::storage_usage is used to track how much data is stored per-class on
+ // cobalt_internal::metrics::store_usage is used to track how much data is stored per-class on
// disk.
virtual void TrackDiskUsage(StorageClass storage_class, size_t bytes, int64_t max_bytes) = 0;
void TrackDiskUsage(StorageClass storage_class, size_t bytes) {
@@ -106,32 +107,28 @@
// no LoggerInterface* was provided.
class NoOpInternalMetrics : public InternalMetrics {
public:
- void LoggerCalled(PerProjectLoggerCallsMadeMetricDimensionLoggerMethod method,
+ void LoggerCalled(PerProjectLoggerCallsMadeMigratedMetricDimensionLoggerMethod method,
const Project& project) override {}
- void BytesUploaded(PerDeviceBytesUploadedMetricDimensionStatus upload_status,
- size_t byte_count) override {}
+ void BytesUploaded(BytesUploadedMetricDimensionStatus upload_status, size_t byte_count) override {
+ }
- // TODO(fxbug.dev/85571): NOLINTNEXTLINE(bugprone-easily-swappable-parameters)
- void BytesUploaded(PerProjectBytesUploadedMetricDimensionStatus upload_status, size_t byte_count,
- uint32_t customer_id, uint32_t project_id) override {}
+ void BytesUploaded(PerProjectBytesUploadedMigratedMetricDimensionStatus upload_status,
+ size_t byte_count, const lib::ProjectIdentifier& project_identifier) override {
+ }
- // TODO(fxbug.dev/85571): NOLINTNEXTLINE(bugprone-easily-swappable-parameters)
- void BytesStored(PerProjectBytesStoredMetricDimensionStatus upload_status, size_t byte_count,
- uint32_t customer_id, uint32_t project_id) override {}
+ void BytesStored(PerProjectBytesStoredMigratedMetricDimensionStatus upload_status,
+ size_t byte_count, const lib::ProjectIdentifier& project_identifier) override {}
- void IdleObservationUpload(IdleObservationUploadMetricDimensionDeviceState state) override {}
+ void IdleObservationUpload(
+ IdleObservationUploadMigratedMetricDimensionDeviceState state) override {}
- // TODO(fxbug.dev/85571): NOLINTNEXTLINE(bugprone-easily-swappable-parameters)
- void InaccurateClockEventsCached(int64_t event_count, uint32_t customer_id,
- uint32_t project_id) override {}
+ void InaccurateClockEventsCached(int64_t event_count) override {}
- // TODO(fxbug.dev/85571): NOLINTNEXTLINE(bugprone-easily-swappable-parameters)
- void InaccurateClockEventsDropped(int64_t event_count, uint32_t customer_id,
- uint32_t project_id) override {}
+ void InaccurateClockEventsDropped(int64_t event_count) override {}
void SetSoftwareDistributionInfoCalled(
- SetSoftwareDistributionInfoCalledEventCodes event_codes) override {}
+ SetSoftwareDistributionInfoCalledMigratedEventCodes event_codes) override {}
// TODO(fxbug.dev/85571): NOLINTNEXTLINE(bugprone-easily-swappable-parameters)
void TrackDiskUsage(StorageClass storage_class, size_t bytes, int64_t max_bytes) override {}
@@ -150,28 +147,26 @@
public:
InternalMetricsImpl(LoggerInterface* logger, DiagnosticsInterface* diagnostics);
- void LoggerCalled(PerProjectLoggerCallsMadeMetricDimensionLoggerMethod method,
+ void LoggerCalled(PerProjectLoggerCallsMadeMigratedMetricDimensionLoggerMethod method,
const Project& project) override;
- void BytesUploaded(PerDeviceBytesUploadedMetricDimensionStatus upload_status,
- size_t byte_count) override;
+ void BytesUploaded(BytesUploadedMetricDimensionStatus upload_status, size_t byte_count) override;
- void BytesUploaded(PerProjectBytesUploadedMetricDimensionStatus upload_status, size_t byte_count,
- uint32_t customer_id, uint32_t project_id) override;
+ void BytesUploaded(PerProjectBytesUploadedMigratedMetricDimensionStatus upload_status,
+ size_t byte_count, const lib::ProjectIdentifier& project_identifier) override;
- void BytesStored(PerProjectBytesStoredMetricDimensionStatus upload_status, size_t byte_count,
- uint32_t customer_id, uint32_t project_id) override;
+ void BytesStored(PerProjectBytesStoredMigratedMetricDimensionStatus upload_status,
+ size_t byte_count, const lib::ProjectIdentifier& project_identifier) override;
- void IdleObservationUpload(IdleObservationUploadMetricDimensionDeviceState state) override;
+ void IdleObservationUpload(
+ IdleObservationUploadMigratedMetricDimensionDeviceState state) override;
- void InaccurateClockEventsCached(int64_t event_count, uint32_t customer_id,
- uint32_t project_id) override;
+ void InaccurateClockEventsCached(int64_t event_count) override;
- void InaccurateClockEventsDropped(int64_t event_count, uint32_t customer_id,
- uint32_t project_id) override;
+ void InaccurateClockEventsDropped(int64_t event_count) override;
void SetSoftwareDistributionInfoCalled(
- SetSoftwareDistributionInfoCalledEventCodes event_codes) override;
+ SetSoftwareDistributionInfoCalledMigratedEventCodes event_codes) override;
void TrackDiskUsage(StorageClass storage_class, size_t bytes, int64_t max_bytes) override;
@@ -221,56 +216,54 @@
explicit InternalMetricsPauseWrapper(InternalMetrics* internal_metrics)
: wrapped_internal_metrics_(internal_metrics) {}
- void LoggerCalled(PerProjectLoggerCallsMadeMetricDimensionLoggerMethod method,
+ void LoggerCalled(PerProjectLoggerCallsMadeMigratedMetricDimensionLoggerMethod method,
const Project& project) override {
if (!paused_) {
wrapped_internal_metrics_->LoggerCalled(method, project);
}
}
- void BytesUploaded(PerDeviceBytesUploadedMetricDimensionStatus upload_status,
- size_t byte_count) override {
+ void BytesUploaded(BytesUploadedMetricDimensionStatus upload_status, size_t byte_count) override {
if (!paused_) {
wrapped_internal_metrics_->BytesUploaded(upload_status, byte_count);
}
}
- void BytesUploaded(PerProjectBytesUploadedMetricDimensionStatus upload_status, size_t byte_count,
- uint32_t customer_id, uint32_t project_id) override {
+ void BytesUploaded(PerProjectBytesUploadedMigratedMetricDimensionStatus upload_status,
+ size_t byte_count, const lib::ProjectIdentifier& project_identifier) override {
if (!paused_) {
- wrapped_internal_metrics_->BytesUploaded(upload_status, byte_count, customer_id, project_id);
+ wrapped_internal_metrics_->BytesUploaded(upload_status, byte_count, project_identifier);
}
}
- void BytesStored(PerProjectBytesStoredMetricDimensionStatus upload_status, size_t byte_count,
- uint32_t customer_id, uint32_t project_id) override {
+ void BytesStored(PerProjectBytesStoredMigratedMetricDimensionStatus upload_status,
+ size_t byte_count, const lib::ProjectIdentifier& project_identifier) override {
if (!paused_) {
- wrapped_internal_metrics_->BytesStored(upload_status, byte_count, customer_id, project_id);
+ wrapped_internal_metrics_->BytesStored(upload_status, byte_count, project_identifier);
}
}
- void IdleObservationUpload(IdleObservationUploadMetricDimensionDeviceState state) override {
+ void IdleObservationUpload(
+ IdleObservationUploadMigratedMetricDimensionDeviceState state) override {
if (!paused_) {
wrapped_internal_metrics_->IdleObservationUpload(state);
}
}
- void InaccurateClockEventsCached(int64_t event_count, uint32_t customer_id,
- uint32_t project_id) override {
+ void InaccurateClockEventsCached(int64_t event_count) override {
if (!paused_) {
- wrapped_internal_metrics_->InaccurateClockEventsCached(event_count, customer_id, project_id);
+ wrapped_internal_metrics_->InaccurateClockEventsCached(event_count);
}
}
- void InaccurateClockEventsDropped(int64_t event_count, uint32_t customer_id,
- uint32_t project_id) override {
+ void InaccurateClockEventsDropped(int64_t event_count) override {
if (!paused_) {
- wrapped_internal_metrics_->InaccurateClockEventsDropped(event_count, customer_id, project_id);
+ wrapped_internal_metrics_->InaccurateClockEventsDropped(event_count);
}
}
void SetSoftwareDistributionInfoCalled(
- SetSoftwareDistributionInfoCalledEventCodes event_codes) override {
+ SetSoftwareDistributionInfoCalledMigratedEventCodes event_codes) override {
if (!paused_) {
wrapped_internal_metrics_->SetSoftwareDistributionInfoCalled(event_codes);
}
diff --git a/src/logger/internal_metrics_test.cc b/src/logger/internal_metrics_test.cc
index e360346..e686b64 100644
--- a/src/logger/internal_metrics_test.cc
+++ b/src/logger/internal_metrics_test.cc
@@ -9,6 +9,7 @@
#include <gtest/gtest.h>
#include "src/logger/fake_logger.h"
+#include "src/public/lib/registry_identifiers.h"
namespace cobalt::logger {
@@ -33,13 +34,14 @@
testing::FakeLogger logger;
InternalMetricsImpl metrics(&logger, nullptr);
- metrics.LoggerCalled(PerProjectLoggerCallsMadeMetricDimensionLoggerMethod::LogMemoryUsage,
+ metrics.LoggerCalled(PerProjectLoggerCallsMadeMigratedMetricDimensionLoggerMethod::LogMemoryUsage,
GetTestProject());
metrics.Flush();
ASSERT_EQ(logger.call_count(), 2);
- ASSERT_TRUE(logger.last_event_logged().has_event_count_event());
- ASSERT_EQ(logger.last_event_logged().event_count_event().component(), "test/project");
+ ASSERT_TRUE(logger.last_event_logged().has_occurrence_event());
+ ASSERT_EQ(logger.last_event_logged().occurrence_event().count(), 1);
+ ASSERT_EQ(logger.last_event_logged().occurrence_event().event_code(0), 10);
}
TEST_F(InternalMetricsImplTest, LoggerCalledPauseWorks) {
@@ -49,8 +51,9 @@
metrics.PauseLogging();
for (int i = 0; i < kMany; i++) {
- metrics.LoggerCalled(PerProjectLoggerCallsMadeMetricDimensionLoggerMethod::LogMemoryUsage,
- GetTestProject());
+ metrics.LoggerCalled(
+ PerProjectLoggerCallsMadeMigratedMetricDimensionLoggerMethod::LogMemoryUsage,
+ GetTestProject());
}
metrics.ResumeLogging();
metrics.Flush();
@@ -63,10 +66,10 @@
InternalMetricsImpl metrics(&logger, nullptr);
ASSERT_EQ(logger.call_count(), 0);
- metrics.BytesUploaded(PerDeviceBytesUploadedMetricDimensionStatus::Attempted, kNumBytes);
+ metrics.BytesUploaded(BytesUploadedMetricDimensionStatus::Attempted, kNumBytes);
metrics.Flush();
- ASSERT_EQ(logger.call_count(), 2);
+ ASSERT_EQ(logger.call_count(), 1);
ASSERT_TRUE(logger.last_event_logged().has_occurrence_event());
ASSERT_EQ(logger.last_event_logged().metric_id(), kBytesUploadedMetricId);
ASSERT_EQ(logger.last_event_logged().occurrence_event().count(), kNumBytes);
@@ -79,7 +82,7 @@
metrics.PauseLogging();
for (int i = 0; i < kMany; i++) {
- metrics.BytesUploaded(PerDeviceBytesUploadedMetricDimensionStatus::Attempted, kNumBytes);
+ metrics.BytesUploaded(BytesUploadedMetricDimensionStatus::Attempted, kNumBytes);
}
metrics.ResumeLogging();
metrics.Flush();
@@ -91,13 +94,14 @@
InternalMetricsImpl metrics(&logger, nullptr);
ASSERT_EQ(logger.call_count(), 0);
- metrics.BytesUploaded(PerProjectBytesUploadedMetricDimensionStatus::Attempted, kNumBytes,
- kTestCustomerId, kTestProjectId);
+ metrics.BytesUploaded(
+ PerProjectBytesUploadedMigratedMetricDimensionStatus::Attempted, kNumBytes,
+ lib::ProjectIdentifier(lib::CustomerIdentifier(kTestCustomerId), kTestProjectId));
metrics.Flush();
ASSERT_EQ(logger.call_count(), 1);
- ASSERT_TRUE(logger.last_event_logged().has_event_count_event());
- ASSERT_EQ(logger.last_event_logged().event_count_event().count(), kNumBytes);
+ ASSERT_TRUE(logger.last_event_logged().has_integer_event());
+ ASSERT_EQ(logger.last_event_logged().integer_event().value(), kNumBytes);
}
TEST_F(InternalMetricsImplTest, MegaBytesUploadedPauseWorks) {
@@ -107,8 +111,9 @@
metrics.PauseLogging();
for (int i = 0; i < kMany; i++) {
- metrics.BytesUploaded(PerProjectBytesUploadedMetricDimensionStatus::Attempted, kNumBytes,
- kTestCustomerId, kTestProjectId);
+ metrics.BytesUploaded(
+ PerProjectBytesUploadedMigratedMetricDimensionStatus::Attempted, kNumBytes,
+ lib::ProjectIdentifier(lib::CustomerIdentifier(kTestCustomerId), kTestProjectId));
}
metrics.ResumeLogging();
metrics.Flush();
@@ -120,13 +125,14 @@
InternalMetricsImpl metrics(&logger, nullptr);
ASSERT_EQ(logger.call_count(), 0);
- metrics.BytesStored(PerProjectBytesStoredMetricDimensionStatus::Attempted, kNumBytes,
- kTestCustomerId, kTestProjectId);
+ metrics.BytesStored(
+ PerProjectBytesStoredMigratedMetricDimensionStatus::Attempted, kNumBytes,
+ lib::ProjectIdentifier(lib::CustomerIdentifier(kTestCustomerId), kTestProjectId));
metrics.Flush();
ASSERT_EQ(logger.call_count(), 1);
- ASSERT_TRUE(logger.last_event_logged().has_memory_usage_event());
- ASSERT_EQ(logger.last_event_logged().memory_usage_event().bytes(), kNumBytes);
+ ASSERT_TRUE(logger.last_event_logged().has_integer_event());
+ ASSERT_EQ(logger.last_event_logged().integer_event().value(), kNumBytes);
}
TEST_F(InternalMetricsImplTest, BytesStoredPauseWorks) {
@@ -136,8 +142,9 @@
metrics.PauseLogging();
for (int i = 0; i < kMany; i++) {
- metrics.BytesStored(PerProjectBytesStoredMetricDimensionStatus::Attempted, kNumBytes,
- kTestCustomerId, kTestProjectId);
+ metrics.BytesStored(
+ PerProjectBytesStoredMigratedMetricDimensionStatus::Attempted, kNumBytes,
+ lib::ProjectIdentifier(lib::CustomerIdentifier(kTestCustomerId), kTestProjectId));
}
metrics.ResumeLogging();
metrics.Flush();
@@ -149,12 +156,12 @@
InternalMetricsImpl metrics(&logger, nullptr);
ASSERT_EQ(logger.call_count(), 0);
- metrics.IdleObservationUpload(IdleObservationUploadMetricDimensionDeviceState_Active);
+ metrics.IdleObservationUpload(IdleObservationUploadMigratedMetricDimensionDeviceState_Active);
metrics.Flush();
ASSERT_EQ(logger.call_count(), 1);
- ASSERT_TRUE(logger.last_event_logged().has_event_count_event());
- ASSERT_EQ(logger.last_event_logged().event_count_event().count(), 1);
+ ASSERT_TRUE(logger.last_event_logged().has_occurrence_event());
+ ASSERT_EQ(logger.last_event_logged().occurrence_event().count(), 1);
}
TEST_F(InternalMetricsImplTest, IdleObservationUploadPauseWorks) {
@@ -164,7 +171,7 @@
metrics.PauseLogging();
for (int i = 0; i < kMany; i++) {
- metrics.IdleObservationUpload(IdleObservationUploadMetricDimensionDeviceState_Active);
+ metrics.IdleObservationUpload(IdleObservationUploadMigratedMetricDimensionDeviceState_Active);
}
metrics.ResumeLogging();
metrics.Flush();
@@ -177,12 +184,12 @@
ASSERT_EQ(logger.call_count(), 0);
metrics.SetSoftwareDistributionInfoCalled(
- {SetSoftwareDistributionInfoCalledMetricDimensionNewRealm::Valid});
+ {SetSoftwareDistributionInfoCalledMigratedMetricDimensionNewRealm::Valid});
metrics.Flush();
ASSERT_EQ(logger.call_count(), 1);
- ASSERT_TRUE(logger.last_event_logged().has_event_count_event());
- ASSERT_EQ(logger.last_event_logged().event_count_event().count(), 1);
+ ASSERT_TRUE(logger.last_event_logged().has_occurrence_event());
+ ASSERT_EQ(logger.last_event_logged().occurrence_event().count(), 1);
}
TEST_F(InternalMetricsImplTest, SetSoftwareDistributionInfoCalledPauseWorks) {
@@ -193,7 +200,7 @@
metrics.PauseLogging();
for (int i = 0; i < kMany; i++) {
metrics.SetSoftwareDistributionInfoCalled(
- {SetSoftwareDistributionInfoCalledMetricDimensionNewRealm::Valid});
+ {SetSoftwareDistributionInfoCalledMigratedMetricDimensionNewRealm::Valid});
}
metrics.ResumeLogging();
metrics.Flush();
diff --git a/src/logger/logger.cc b/src/logger/logger.cc
index 1bbd25d..5f00e92 100644
--- a/src/logger/logger.cc
+++ b/src/logger/logger.cc
@@ -19,7 +19,7 @@
using local_aggregation::EventAggregator;
-using LoggerMethod = PerProjectLoggerCallsMadeMetricDimensionLoggerMethod;
+using LoggerMethod = PerProjectLoggerCallsMadeMigratedMetricDimensionLoggerMethod;
namespace {
template <class EventType>
diff --git a/src/logger/logger.h b/src/logger/logger.h
index 3609342..058fc21 100644
--- a/src/logger/logger.h
+++ b/src/logger/logger.h
@@ -173,11 +173,12 @@
Status LogSerializedCustomEvent(uint32_t metric_id,
std::unique_ptr<std::string> serialized_proto) override;
- // LoggerCalled (cobalt_internal::metrics::logger_calls_made) and
- // (cobalt_internal::metrics::per_project_logger_calls_made) are logged for
- // every call to Logger along with which method was called and the project
+ // LoggerCalled (cobalt_internal::metrics::logger_calls_made_migrated) and
+ // (cobalt_internal::metrics::per_project_logger_calls_made_migrated) are logged
+ // for every call to Logger along with which method was called and the project
// that called it.
- void RecordLoggerCall(PerProjectLoggerCallsMadeMetricDimensionLoggerMethod method) override {
+ void RecordLoggerCall(
+ PerProjectLoggerCallsMadeMigratedMetricDimensionLoggerMethod method) override {
internal_metrics_.LoggerCalled(method, project_context_->project());
}
diff --git a/src/logger/logger_interface.h b/src/logger/logger_interface.h
index 461a9c4..7e45967 100644
--- a/src/logger/logger_interface.h
+++ b/src/logger/logger_interface.h
@@ -227,11 +227,12 @@
virtual Status LogSerializedCustomEvent(uint32_t metric_id,
std::unique_ptr<std::string> serialized_proto) = 0;
- // LoggerCalled (cobalt_internal::metrics::logger_calls_made) and
- // (cobalt_internal::metrics::per_project_logger_calls_made) are logged for
- // every call to Logger along with which method was called and the project
+ // LoggerCalled (cobalt_internal::metrics::logger_calls_made_migrated) and
+ // (cobalt_internal::metrics::per_project_logger_calls_made_migrated) are logged
+ // for every call to Logger along with which method was called and the project
// that called it.
- virtual void RecordLoggerCall(PerProjectLoggerCallsMadeMetricDimensionLoggerMethod method) = 0;
+ virtual void RecordLoggerCall(
+ PerProjectLoggerCallsMadeMigratedMetricDimensionLoggerMethod method) = 0;
// Pauses Cobalt's internal metrics collection.
virtual void PauseInternalLogging() = 0;
diff --git a/src/logger/undated_event_manager.cc b/src/logger/undated_event_manager.cc
index 587a61b..e52c33d 100644
--- a/src/logger/undated_event_manager.cc
+++ b/src/logger/undated_event_manager.cc
@@ -99,15 +99,13 @@
// Record that we saved records due to clock inaccuracy.
for (auto cached_events : lock->num_events_cached_) {
- auto id = cached_events.first;
- internal_metrics->InaccurateClockEventsCached(cached_events.second, id.first, id.second);
+ internal_metrics->InaccurateClockEventsCached(cached_events.second);
}
lock->num_events_cached_.clear();
// Record that we dropped events due to memory constraints.
for (auto dropped_events : lock->num_events_dropped_) {
- auto id = dropped_events.first;
- internal_metrics->InaccurateClockEventsDropped(dropped_events.second, id.first, id.second);
+ internal_metrics->InaccurateClockEventsDropped(dropped_events.second);
}
lock->num_events_dropped_.clear();
diff --git a/src/logger/undated_event_manager_test.cc b/src/logger/undated_event_manager_test.cc
index a9347f8..bddc9fd 100644
--- a/src/logger/undated_event_manager_test.cc
+++ b/src/logger/undated_event_manager_test.cc
@@ -169,8 +169,8 @@
// One internal metric call for the number of cached events.
internal_metrics_->Flush();
EXPECT_EQ(1, internal_logger_->call_count());
- EXPECT_EQ(kInaccurateClockEventsCachedMetricId,
- internal_logger_->last_event_logged().metric_id());
+ EXPECT_EQ(internal_logger_->last_event_logged().metric_id(),
+ kInaccurateClockEventsCachedMigratedMetricId);
}
TEST_F(UndatedEventManagerTest, OneImmediatelyFlushedEvent) {
@@ -202,8 +202,8 @@
// One internal metric call for the number of cached events.
internal_metrics_->Flush();
EXPECT_EQ(1, internal_logger_->call_count());
- EXPECT_EQ(kInaccurateClockEventsCachedMetricId,
- internal_logger_->last_event_logged().metric_id());
+ EXPECT_EQ(internal_logger_->last_event_logged().metric_id(),
+ kInaccurateClockEventsCachedMigratedMetricId);
}
TEST_F(UndatedEventManagerTest, OneDayDelayInSystemClockAccuracy) {
@@ -237,8 +237,8 @@
// One internal metric call for the number of cached events.
internal_metrics_->Flush();
EXPECT_EQ(1, internal_logger_->call_count());
- EXPECT_EQ(kInaccurateClockEventsCachedMetricId,
- internal_logger_->last_event_logged().metric_id());
+ EXPECT_EQ(internal_logger_->last_event_logged().metric_id(),
+ kInaccurateClockEventsCachedMigratedMetricId);
}
TEST_F(UndatedEventManagerTest, TooManyEventsToStore) {
@@ -306,8 +306,8 @@
internal_metrics_->Flush();
// Two internal metric calls for the number of cached and dropped events.
EXPECT_EQ(2, internal_logger_->call_count());
- EXPECT_EQ(kInaccurateClockEventsDroppedMetricId,
- internal_logger_->last_event_logged().metric_id());
+ EXPECT_EQ(internal_logger_->last_event_logged().metric_id(),
+ kInaccurateClockEventsDroppedMigratedMetricId);
}
TEST_F(UndatedEventManagerTest, SaveAfterFlush) {
diff --git a/src/observation_store/file_observation_store.cc b/src/observation_store/file_observation_store.cc
index 4404497..98bf04b 100644
--- a/src/observation_store/file_observation_store.cc
+++ b/src/observation_store/file_observation_store.cc
@@ -87,8 +87,10 @@
auto fields = protected_fields_.lock();
size_t obs_size = observation->ByteSizeLong();
- internal_metrics_->BytesStored(logger::PerProjectBytesStoredMetricDimensionStatus::Attempted,
- obs_size, metadata->customer_id(), metadata->project_id());
+ internal_metrics_->BytesStored(
+ logger::PerProjectBytesStoredMigratedMetricDimensionStatus::Attempted, obs_size,
+ lib::ProjectIdentifier(lib::CustomerIdentifier(metadata->customer_id()),
+ metadata->project_id()));
google::protobuf::io::ZeroCopyOutputStream *active_file = GetActiveFile(&fields);
if (active_file == nullptr) {
@@ -175,8 +177,10 @@
static_cast<int64_t>(max_bytes_total_));
}
num_obs_per_report_[lib::ReportIdentifier(*metadata)]++;
- internal_metrics_->BytesStored(logger::PerProjectBytesStoredMetricDimensionStatus::Succeeded,
- obs_size, metadata->customer_id(), metadata->project_id());
+ internal_metrics_->BytesStored(
+ logger::PerProjectBytesStoredMigratedMetricDimensionStatus::Succeeded, obs_size,
+ lib::ProjectIdentifier(lib::CustomerIdentifier(metadata->customer_id()),
+ metadata->project_id()));
// Cannot cause a loop, since TrackDiskUsage is handled asynchronously.
internal_metrics_->TrackDiskUsage(logger::InternalMetrics::StorageClass::ObservationStore,
static_cast<int64_t>(estimated_new_byte_count),
diff --git a/src/observation_store/memory_observation_store.cc b/src/observation_store/memory_observation_store.cc
index 6ff2cbb..7801652 100644
--- a/src/observation_store/memory_observation_store.cc
+++ b/src/observation_store/memory_observation_store.cc
@@ -37,8 +37,10 @@
std::unique_lock<std::mutex> lock(envelope_mutex_);
- internal_metrics_->BytesStored(logger::PerProjectBytesStoredMetricDimensionStatus::Attempted,
- SizeLocked(), metadata->customer_id(), metadata->project_id());
+ internal_metrics_->BytesStored(
+ logger::PerProjectBytesStoredMigratedMetricDimensionStatus::Attempted, SizeLocked(),
+ lib::ProjectIdentifier(lib::CustomerIdentifier(metadata->customer_id()),
+ metadata->project_id()));
if (SizeLocked() > max_bytes_total_) {
return Status(StatusCode::RESOURCE_EXHAUSTED,
@@ -65,8 +67,9 @@
Status status = current_envelope_->StoreObservation(std::move(observation), std::move(metadata));
if (status.ok()) {
num_obs_per_report_[report_id]++;
- internal_metrics_->BytesStored(logger::PerProjectBytesStoredMetricDimensionStatus::Succeeded,
- SizeLocked(), customer_id, project_id);
+ internal_metrics_->BytesStored(
+ logger::PerProjectBytesStoredMigratedMetricDimensionStatus::Succeeded, SizeLocked(),
+ lib::ProjectIdentifier(lib::CustomerIdentifier(customer_id), project_id));
}
return status;
}
diff --git a/src/public/diagnostics_interface.h b/src/public/diagnostics_interface.h
index 4fb4fb9..3f9a23d 100644
--- a/src/public/diagnostics_interface.h
+++ b/src/public/diagnostics_interface.h
@@ -47,7 +47,7 @@
// Logged for every call to Logger along with which method was called and the project
// that called it.
- virtual void LoggerCalled(int perProjectLoggerCallsMadeMetricDimensionLoggerMethod,
+ virtual void LoggerCalled(int PerProjectLoggerCallsMadeMigratedMetricDimensionLoggerMethod,
const std::string& project) = 0;
// Used to track how much data is stored per-class on disk.
diff --git a/src/system_data/system_data.cc b/src/system_data/system_data.cc
index 30dce80..11963d5 100644
--- a/src/system_data/system_data.cc
+++ b/src/system_data/system_data.cc
@@ -129,8 +129,8 @@
}
void SystemData::SetSoftwareDistributionInfo(SoftwareDistributionInfo info) {
- using EventCode = logger::SetSoftwareDistributionInfoCalledMetricDimensionPreviousChannel;
- logger::SetSoftwareDistributionInfoCalledEventCodes event_codes;
+ using EventCode = logger::SetSoftwareDistributionInfoCalledMigratedMetricDimensionPreviousChannel;
+ logger::SetSoftwareDistributionInfoCalledMigratedEventCodes event_codes;
if (system_profile_.channel() == "<unset>") {
event_codes.previous_channel = EventCode::Unset;
diff --git a/src/uploader/BUILD.gn b/src/uploader/BUILD.gn
index b6fe3fb..7549fbb 100644
--- a/src/uploader/BUILD.gn
+++ b/src/uploader/BUILD.gn
@@ -19,6 +19,7 @@
"$cobalt_root/src/public:activity_listener_interface",
"$cobalt_root/src/public:cobalt_config",
"$cobalt_root/src/public:diagnostics_interface",
+ "$cobalt_root/src/public/lib:registry_identifiers",
"$cobalt_root/src/system_data",
"$cobalt_root/src/system_data:configuration_data",
]
diff --git a/src/uploader/shipping_manager.cc b/src/uploader/shipping_manager.cc
index 8c91fa5..1f99e7d 100644
--- a/src/uploader/shipping_manager.cc
+++ b/src/uploader/shipping_manager.cc
@@ -12,6 +12,7 @@
#include "src/logger/logger_interface.h"
#include "src/logging.h"
#include "src/pb/clearcut_extensions.pb.h"
+#include "src/public/lib/registry_identifiers.h"
#include "third_party/protobuf/src/google/protobuf/util/delimited_message_util.h"
namespace cobalt::uploader {
@@ -294,17 +295,17 @@
return;
}
- auto state = logger::IdleObservationUploadMetricDimensionDeviceState::Unreported;
+ auto state = logger::IdleObservationUploadMigratedMetricDimensionDeviceState::Unreported;
if (activity_listener_ != nullptr) {
switch (activity_listener_->state()) {
case ActivityState::ACTIVE:
- state = logger::IdleObservationUploadMetricDimensionDeviceState::Active;
+ state = logger::IdleObservationUploadMigratedMetricDimensionDeviceState::Active;
break;
case ActivityState::UNKNOWN:
- state = logger::IdleObservationUploadMetricDimensionDeviceState::Unknown;
+ state = logger::IdleObservationUploadMigratedMetricDimensionDeviceState::Unknown;
break;
case ActivityState::IDLE:
- state = logger::IdleObservationUploadMetricDimensionDeviceState::Idle;
+ state = logger::IdleObservationUploadMigratedMetricDimensionDeviceState::Idle;
break;
}
}
@@ -411,8 +412,10 @@
for (const auto& observation_batch : envelope.batch()) {
const auto& metadata = observation_batch.meta_data();
internal_metrics_->BytesUploaded(
- logger::PerProjectBytesUploadedMetricDimensionStatus::Attempted,
- observation_batch.ByteSizeLong(), metadata.customer_id(), metadata.project_id());
+ logger::PerProjectBytesUploadedMigratedMetricDimensionStatus::Attempted,
+ observation_batch.ByteSizeLong(),
+ lib::ProjectIdentifier(lib::CustomerIdentifier(metadata.customer_id()),
+ metadata.project_id()));
}
VLOG(5) << name() << " worker: Sending Envelope of size " << envelope_size
@@ -441,8 +444,10 @@
for (const auto& observation_batch : envelope.batch()) {
const auto& metadata = observation_batch.meta_data();
internal_metrics_->BytesUploaded(
- logger::PerProjectBytesUploadedMetricDimensionStatus::Succeeded,
- observation_batch.GetCachedSize(), metadata.customer_id(), metadata.project_id());
+ logger::PerProjectBytesUploadedMigratedMetricDimensionStatus::Succeeded,
+ observation_batch.GetCachedSize(),
+ lib::ProjectIdentifier(lib::CustomerIdentifier(metadata.customer_id()),
+ metadata.project_id()));
}
}
return status;
diff --git a/src/uploader/shipping_manager_test.cc b/src/uploader/shipping_manager_test.cc
index 20692d2..f5ac7fd 100644
--- a/src/uploader/shipping_manager_test.cc
+++ b/src/uploader/shipping_manager_test.cc
@@ -28,7 +28,7 @@
using cobalt::clearcut_extensions::LogEventExtension;
using lib::statusor::StatusOr;
-using logger::PerProjectBytesUploadedMetricDimensionStatus::Succeeded;
+using logger::PerProjectBytesUploadedMigratedMetricDimensionStatus::Succeeded;
using logger::testing::FakeLogger;
using observation_store::MemoryObservationStore;
using util::EncryptedMessageMaker;
@@ -291,16 +291,15 @@
metrics->Flush();
// Attempt and Succeed in the Shipping Manager for a project (2), Attempt and Succeed in Clearcut
- // Uploader with both 1.0 and 1.1 metrics (4), and a IdleObservationUpload when the envelopes are
- // sent (1).
- EXPECT_EQ(7, logger.call_count());
+ // Uploader with 1.1 metrics (2), and a IdleObservationUpload when the envelopes are sent (1).
+ EXPECT_EQ(5, logger.call_count());
auto event = logger.last_event_logged(); // The last Succeed for an Observation Batch.
- EXPECT_TRUE(event.has_event_count_event());
- EXPECT_EQ(1, event.event_count_event().event_code_size());
- EXPECT_EQ(Succeeded, event.event_count_event().event_code(0));
- EXPECT_EQ(absl::StrCat(kCustomerId, "/", kProjectId), event.event_count_event().component());
- EXPECT_LE(40, event.event_count_event().count()); // This is an estimate.
+ EXPECT_TRUE(event.has_integer_event());
+ EXPECT_EQ(event.integer_event().event_code_size(), 2);
+ EXPECT_EQ(event.integer_event().event_code(0), 0);
+ EXPECT_EQ(event.integer_event().event_code(1), Succeeded);
+ EXPECT_GE(event.integer_event().value(), 40); // This is an estimate.
}
// We add two Observations, confirm that they are not immediately sent,
@@ -353,16 +352,16 @@
metrics->Flush();
// Attempt and Succeed in the Shipping Manager (2), Attempt and Succeed in Clearcut Uploader for
- // the envelope with both 1.0 and 1.1 metrics (4), and an IdleObservationUpload when the envelopes
- // are sent (1).
- EXPECT_EQ(7, logger.call_count());
+ // the envelope with 1.1 metrics (2), and an IdleObservationUpload when the envelopes are
+ // sent (1).
+ EXPECT_EQ(5, logger.call_count());
auto event = logger.last_event_logged(); // The last Succeed for an Observation Batch.
- EXPECT_TRUE(event.has_event_count_event());
- EXPECT_EQ(1, event.event_count_event().event_code_size());
- EXPECT_EQ(Succeeded, event.event_count_event().event_code(0));
- EXPECT_EQ(absl::StrCat(kCustomerId, "/", kProjectId), event.event_count_event().component());
- EXPECT_LE(2 * 40, event.event_count_event().count()); // This is an estimate.
+ EXPECT_TRUE(event.has_integer_event());
+ EXPECT_EQ(event.integer_event().event_code_size(), 2);
+ EXPECT_EQ(event.integer_event().event_code(0), 0);
+ EXPECT_EQ(event.integer_event().event_code(1), Succeeded);
+ EXPECT_GE(event.integer_event().value(), 2 * 40); // This is an estimate.
}
// Tries to add an Observation that is too big. Tests that kObservationTooBig