Source release 16.2.0
This commit is contained in:
@@ -172,6 +172,11 @@ class CryptoMetrics {
|
||||
EventMetric<kErrorCodeFieldNumber, CdmResponseType>
|
||||
usage_table_header_update_entry_;
|
||||
ValueMetric<size_t> usage_table_header_initial_size_;
|
||||
/* UsageTableHeader - LRU */
|
||||
ValueMetric<size_t> usage_table_header_lru_usage_info_count_;
|
||||
ValueMetric<size_t> usage_table_header_lru_offline_license_count_;
|
||||
ValueMetric<int64_t> usage_table_header_lru_evicted_entry_staleness_;
|
||||
ValueMetric<int> usage_table_header_lru_evicted_entry_type_;
|
||||
/* OEMCRYPTO */
|
||||
ValueMetric<uint32_t> oemcrypto_api_version_;
|
||||
CounterMetric<kOemCryptoResultFieldNumber, OEMCryptoResult>
|
||||
@@ -274,6 +279,20 @@ class CryptoMetrics {
|
||||
CounterMetric<kOemCryptoResultFieldNumber, OEMCryptoResult>
|
||||
oemcrypto_set_decrypt_hash_;
|
||||
ValueMetric<uint32_t> oemcrypto_resource_rating_tier_;
|
||||
EventMetric<kOemCryptoResultFieldNumber, OEMCryptoResult>
|
||||
oemcrypto_prep_and_sign_license_request_;
|
||||
EventMetric<kOemCryptoResultFieldNumber, OEMCryptoResult>
|
||||
oemcrypto_prep_and_sign_renewal_request_;
|
||||
EventMetric<kOemCryptoResultFieldNumber, OEMCryptoResult>
|
||||
oemcrypto_prep_and_sign_provisioning_request_;
|
||||
EventMetric<kOemCryptoResultFieldNumber, OEMCryptoResult>
|
||||
oemcrypto_load_license_;
|
||||
EventMetric<kOemCryptoResultFieldNumber, OEMCryptoResult>
|
||||
oemcrypto_load_renewal_;
|
||||
EventMetric<kOemCryptoResultFieldNumber, OEMCryptoResult>
|
||||
oemcrypto_load_provisioning_;
|
||||
ValueMetric<uint32_t> oemcrypto_minor_api_version_;
|
||||
ValueMetric<uint32_t> oemcrypto_maximum_usage_table_header_size_;
|
||||
};
|
||||
|
||||
// This class contains session-scoped metrics. All properties and
|
||||
|
||||
@@ -100,7 +100,7 @@ class ValueMetric {
|
||||
return value_proto;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
private:
|
||||
|
||||
20
metrics/src/Android.bp
Normal file
20
metrics/src/Android.bp
Normal file
@@ -0,0 +1,20 @@
|
||||
cc_library {
|
||||
|
||||
name: "libcdm_metrics_protos",
|
||||
vendor: true,
|
||||
|
||||
srcs: [
|
||||
"metrics.proto",
|
||||
],
|
||||
|
||||
cflags: [
|
||||
"-Wall",
|
||||
"-Werror",
|
||||
],
|
||||
|
||||
proto: {
|
||||
export_proto_headers: true,
|
||||
type: "full",
|
||||
},
|
||||
|
||||
}
|
||||
@@ -83,7 +83,6 @@ message ValueMetric {
|
||||
optional string string_value = 4;
|
||||
}
|
||||
|
||||
|
||||
// This message contains the specific metrics captured by DrmMetrics. It is
|
||||
// used for serializing and logging metrics.
|
||||
// next id: 3.
|
||||
@@ -94,7 +93,7 @@ message WvCdmMetrics {
|
||||
|
||||
// This contains metrics that were captured at the CryptoSession level. These
|
||||
// include CryptoSession metrics and most OEMCrypto metrics.
|
||||
// next id: 73
|
||||
// next id: 85
|
||||
message CryptoMetrics {
|
||||
// Crypto Session Metrics.
|
||||
optional ValueMetric crypto_session_security_level = 1;
|
||||
@@ -119,6 +118,13 @@ message WvCdmMetrics {
|
||||
repeated CounterMetric usage_table_header_delete_entry = 60;
|
||||
repeated DistributionMetric usage_table_header_update_entry_time_us = 56;
|
||||
repeated CounterMetric usage_table_header_load_entry = 61;
|
||||
// Usage Table LRU Metrics
|
||||
optional ValueMetric usage_table_header_lru_usage_info_count = 73;
|
||||
optional ValueMetric usage_table_header_lru_offline_license_count = 74;
|
||||
optional ValueMetric usage_table_header_lru_evicted_entry_staleness_s = 75;
|
||||
// |usage_table_header_lru_evicted_entry_type| refers to the enumeration
|
||||
// CdmUsageEntryStorageType in wv_cdm_types.h.
|
||||
optional ValueMetric usage_table_header_lru_evicted_entry_type = 76;
|
||||
|
||||
// OemCrypto metrics.
|
||||
optional ValueMetric oemcrypto_api_version = 16;
|
||||
@@ -173,6 +179,19 @@ message WvCdmMetrics {
|
||||
optional ValueMetric oemcrypto_set_sandbox = 70;
|
||||
repeated CounterMetric oemcrypto_set_decrypt_hash = 71;
|
||||
optional ValueMetric oemcrypto_resource_rating_tier = 72;
|
||||
// TODO(b/142684157): Remove this comment before closing bug.
|
||||
// OemCrypto V16 metrics start at 77 (4 new metrics pending review).
|
||||
repeated DistributionMetric
|
||||
oemcrypto_prep_and_sign_license_request_time_us = 77;
|
||||
repeated DistributionMetric
|
||||
oemcrypto_prep_and_sign_renewal_request_time_us = 78;
|
||||
repeated DistributionMetric
|
||||
oemcrypto_prep_and_sign_provisioning_request_time_us = 79;
|
||||
repeated DistributionMetric oemcrypto_load_license_time_us = 80;
|
||||
repeated DistributionMetric oemcrypto_load_renewal_time_us = 81;
|
||||
repeated DistributionMetric oemcrypto_load_provisioning_time_us = 82;
|
||||
optional ValueMetric oemcrypto_minor_api_version = 83;
|
||||
optional ValueMetric oemcrypto_maximum_usage_table_header_size = 84;
|
||||
}
|
||||
|
||||
// This contains metrics that were captured within a CdmSession. This contains
|
||||
|
||||
@@ -79,6 +79,16 @@ void CryptoMetrics::Serialize(WvCdmMetrics::CryptoMetrics *crypto_metrics)
|
||||
crypto_metrics->mutable_usage_table_header_load_entry());
|
||||
crypto_metrics->set_allocated_usage_table_header_initial_size(
|
||||
usage_table_header_initial_size_.ToProto());
|
||||
/* USAGE TABLE HEADER - LRU */
|
||||
crypto_metrics->set_allocated_usage_table_header_lru_usage_info_count(
|
||||
usage_table_header_lru_usage_info_count_.ToProto());
|
||||
crypto_metrics->set_allocated_usage_table_header_lru_offline_license_count(
|
||||
usage_table_header_lru_offline_license_count_.ToProto());
|
||||
crypto_metrics
|
||||
->set_allocated_usage_table_header_lru_evicted_entry_staleness_s(
|
||||
usage_table_header_lru_evicted_entry_staleness_.ToProto());
|
||||
crypto_metrics->set_allocated_usage_table_header_lru_evicted_entry_type(
|
||||
usage_table_header_lru_evicted_entry_type_.ToProto());
|
||||
|
||||
/* OEMCRYPTO */
|
||||
crypto_metrics->set_allocated_oemcrypto_api_version(
|
||||
@@ -184,6 +194,25 @@ void CryptoMetrics::Serialize(WvCdmMetrics::CryptoMetrics *crypto_metrics)
|
||||
crypto_metrics->mutable_oemcrypto_set_decrypt_hash());
|
||||
crypto_metrics->set_allocated_oemcrypto_resource_rating_tier(
|
||||
oemcrypto_resource_rating_tier_.ToProto());
|
||||
oemcrypto_prep_and_sign_license_request_.ToProto(
|
||||
crypto_metrics
|
||||
->mutable_oemcrypto_prep_and_sign_license_request_time_us());
|
||||
oemcrypto_prep_and_sign_renewal_request_.ToProto(
|
||||
crypto_metrics
|
||||
->mutable_oemcrypto_prep_and_sign_renewal_request_time_us());
|
||||
oemcrypto_prep_and_sign_provisioning_request_.ToProto(
|
||||
crypto_metrics
|
||||
->mutable_oemcrypto_prep_and_sign_provisioning_request_time_us());
|
||||
oemcrypto_load_license_.ToProto(
|
||||
crypto_metrics->mutable_oemcrypto_load_license_time_us());
|
||||
oemcrypto_load_renewal_.ToProto(
|
||||
crypto_metrics->mutable_oemcrypto_load_renewal_time_us());
|
||||
oemcrypto_load_provisioning_.ToProto(
|
||||
crypto_metrics->mutable_oemcrypto_load_provisioning_time_us());
|
||||
crypto_metrics->set_allocated_oemcrypto_minor_api_version(
|
||||
oemcrypto_minor_api_version_.ToProto());
|
||||
crypto_metrics->set_allocated_oemcrypto_maximum_usage_table_header_size(
|
||||
oemcrypto_maximum_usage_table_header_size_.ToProto());
|
||||
}
|
||||
|
||||
SessionMetrics::SessionMetrics() : session_id_(""), completed_(false) {}
|
||||
|
||||
@@ -348,6 +348,12 @@ TEST_F(CryptoMetricsTest, AllCryptoMetrics) {
|
||||
crypto_metrics.usage_table_header_delete_entry_.Increment(UNKNOWN_ERROR);
|
||||
crypto_metrics.usage_table_header_update_entry_.Record(2.0, UNKNOWN_ERROR);
|
||||
crypto_metrics.usage_table_header_load_entry_.Increment(UNKNOWN_ERROR);
|
||||
// Usage table LRU metrics.
|
||||
crypto_metrics.usage_table_header_lru_usage_info_count_.Record(150);
|
||||
crypto_metrics.usage_table_header_lru_offline_license_count_.Record(50);
|
||||
crypto_metrics.usage_table_header_lru_evicted_entry_staleness_.Record(259200);
|
||||
crypto_metrics.usage_table_header_lru_evicted_entry_type_.Record(
|
||||
kStorageUsageInfo);
|
||||
|
||||
// Oem crypto metrics.
|
||||
crypto_metrics.oemcrypto_api_version_.Record(123);
|
||||
@@ -433,6 +439,8 @@ TEST_F(CryptoMetricsTest, AllCryptoMetrics) {
|
||||
crypto_metrics.oemcrypto_set_decrypt_hash_
|
||||
.Increment(OEMCrypto_ERROR_INIT_FAILED);
|
||||
crypto_metrics.oemcrypto_resource_rating_tier_.Record(123);
|
||||
crypto_metrics.oemcrypto_minor_api_version_.Record(234);
|
||||
crypto_metrics.oemcrypto_maximum_usage_table_header_size_.Record(321);
|
||||
|
||||
WvCdmMetrics::CryptoMetrics actual;
|
||||
crypto_metrics.Serialize(&actual);
|
||||
@@ -462,6 +470,15 @@ TEST_F(CryptoMetricsTest, AllCryptoMetrics) {
|
||||
EXPECT_GT(actual.usage_table_header_delete_entry_size(), 0);
|
||||
EXPECT_GT(actual.usage_table_header_update_entry_time_us_size(), 0);
|
||||
EXPECT_GT(actual.usage_table_header_load_entry_size(), 0);
|
||||
// Usage table LRU metrics.
|
||||
EXPECT_EQ(150, actual.usage_table_header_lru_usage_info_count().int_value());
|
||||
EXPECT_EQ(50,
|
||||
actual.usage_table_header_lru_offline_license_count().int_value());
|
||||
EXPECT_EQ(
|
||||
259200,
|
||||
actual.usage_table_header_lru_evicted_entry_staleness_s().int_value());
|
||||
EXPECT_EQ(kStorageUsageInfo,
|
||||
actual.usage_table_header_lru_evicted_entry_type().int_value());
|
||||
|
||||
// Oem crypto metrics.
|
||||
EXPECT_EQ(123, actual.oemcrypto_api_version().int_value());
|
||||
@@ -512,6 +529,9 @@ TEST_F(CryptoMetricsTest, AllCryptoMetrics) {
|
||||
EXPECT_EQ("sandbox", actual.oemcrypto_set_sandbox().string_value());
|
||||
EXPECT_GT(actual.oemcrypto_set_decrypt_hash_size(), 0);
|
||||
EXPECT_EQ(123, actual.oemcrypto_resource_rating_tier().int_value());
|
||||
EXPECT_EQ(234, actual.oemcrypto_minor_api_version().int_value());
|
||||
EXPECT_EQ(321,
|
||||
actual.oemcrypto_maximum_usage_table_header_size().int_value());
|
||||
}
|
||||
|
||||
} // namespace metrics
|
||||
|
||||
Reference in New Issue
Block a user