Merge "Included metrics for LRU replacement."
This commit is contained in:
@@ -280,10 +280,32 @@ CdmResponseType UsageTableHeader::AddEntry(
|
||||
return status;
|
||||
}
|
||||
|
||||
// Variables for metrics.
|
||||
const size_t usage_info_count =
|
||||
std::count_if(usage_entry_info_.cbegin(), usage_entry_info_.cend(),
|
||||
[](const CdmUsageEntryInfo& usage_entry) {
|
||||
return usage_entry.storage_type == kStorageUsageInfo;
|
||||
});
|
||||
const size_t license_count =
|
||||
std::count_if(usage_entry_info_.cbegin(), usage_entry_info_.cend(),
|
||||
[](const CdmUsageEntryInfo& usage_entry) {
|
||||
return usage_entry.storage_type == kStorageLicense;
|
||||
});
|
||||
int64_t staleness_of_removed;
|
||||
CdmUsageEntryStorageType storage_type_of_removed;
|
||||
const int64_t current_time = GetCurrentTime();
|
||||
|
||||
for (size_t i = 0; i < removal_candidates.size() &&
|
||||
status == INSUFFICIENT_CRYPTO_RESOURCES_3;
|
||||
++i) {
|
||||
const uint32_t entry_number_to_delete = removal_candidates[i];
|
||||
// Calculate metric values.
|
||||
staleness_of_removed =
|
||||
current_time -
|
||||
usage_entry_info_[entry_number_to_delete].last_use_time;
|
||||
storage_type_of_removed =
|
||||
usage_entry_info_[entry_number_to_delete].storage_type;
|
||||
|
||||
if (DeleteEntry(entry_number_to_delete, file_handle_.get(), metrics) ==
|
||||
NO_ERROR) {
|
||||
// If the entry was deleted, it is still possible for the create new
|
||||
@@ -297,6 +319,18 @@ CdmResponseType UsageTableHeader::AddEntry(
|
||||
}
|
||||
}
|
||||
status = crypto_session->CreateUsageEntry(usage_entry_number);
|
||||
|
||||
// Record metrics on success.
|
||||
if (status == NO_ERROR) {
|
||||
metrics->usage_table_header_lru_usage_info_count_.Record(
|
||||
usage_info_count);
|
||||
metrics->usage_table_header_lru_offline_license_count_.Record(
|
||||
license_count);
|
||||
metrics->usage_table_header_lru_evicted_entry_staleness_.Record(
|
||||
staleness_of_removed);
|
||||
metrics->usage_table_header_lru_evicted_entry_type_.Record(
|
||||
static_cast<int>(storage_type_of_removed));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user