Fixes missing or broken metrics in Widevine CDM
A few metrics were missing or not properly collected in the CDM metrics. This CL addresses them. Bug: 64570194 Bug: 72866232 Test: Unit tests and Google Play manual test. Change-Id: I3a3aa4fb3eb8422c9c8c398016f02409307beb33
This commit is contained in:
@@ -88,7 +88,7 @@ message WvCdmMetrics {
|
||||
|
||||
// This contains metrics that were captured at the CryptoSession level. These
|
||||
// include CryptoSession metrics and most OEMCrypto metrics.
|
||||
// next id: 56
|
||||
// next id: 58
|
||||
message CryptoMetrics {
|
||||
// Crypto Session Metrics.
|
||||
optional ValueMetric crypto_session_security_level = 1;
|
||||
@@ -105,6 +105,7 @@ message WvCdmMetrics {
|
||||
repeated DistributionMetric crypto_session_open_time_us = 12;
|
||||
optional ValueMetric crypto_session_system_id = 13;
|
||||
repeated DistributionMetric crypto_session_update_usage_information_time_us = 14;
|
||||
repeated DistributionMetric crypto_session_update_usage_entry_time_us = 56;
|
||||
optional ValueMetric crypto_session_usage_information_support = 15;
|
||||
// OemCrypto metrics.
|
||||
optional ValueMetric oemcrypto_api_version = 16;
|
||||
@@ -147,6 +148,7 @@ message WvCdmMetrics {
|
||||
repeated DistributionMetric oemcrypto_select_key_time_us = 53;
|
||||
optional ValueMetric oemcrypto_usage_table_support = 54;
|
||||
repeated CounterMetric oemcrypto_update_usage_table = 55;
|
||||
repeated CounterMetric oemcrypto_update_usage_entry = 57;
|
||||
}
|
||||
|
||||
// This contains metrics that were captured within a CdmSession. This contains
|
||||
@@ -184,7 +186,7 @@ message WvCdmMetrics {
|
||||
repeated CounterMetric cdm_engine_get_secure_stop_ids = 15;
|
||||
repeated DistributionMetric cdm_engine_get_usage_info_time_us = 16;
|
||||
repeated DistributionMetric cdm_engine_handle_provisioning_response_time_us = 17;
|
||||
optional ValueMetric cdm_engine_life_span = 18;
|
||||
optional ValueMetric cdm_engine_life_span_ms = 18;
|
||||
repeated CounterMetric cdm_engine_open_key_set_session = 19;
|
||||
repeated CounterMetric cdm_engine_open_session = 20;
|
||||
repeated DistributionMetric cdm_engine_query_key_status_time_us = 21;
|
||||
|
||||
@@ -62,6 +62,8 @@ void CryptoMetrics::Serialize(WvCdmMetrics::CryptoMetrics *crypto_metrics) {
|
||||
crypto_session_update_usage_information_.ToProto(
|
||||
crypto_metrics
|
||||
->mutable_crypto_session_update_usage_information_time_us());
|
||||
crypto_session_update_usage_entry_.ToProto(
|
||||
crypto_metrics->mutable_crypto_session_update_usage_entry_time_us());
|
||||
crypto_metrics->set_allocated_crypto_session_usage_information_support(
|
||||
crypto_session_usage_information_support_.ToProto());
|
||||
|
||||
@@ -145,6 +147,8 @@ void CryptoMetrics::Serialize(WvCdmMetrics::CryptoMetrics *crypto_metrics) {
|
||||
oemcrypto_usage_table_support_.ToProto());
|
||||
oemcrypto_update_usage_table_.ToProto(
|
||||
crypto_metrics->mutable_oemcrypto_update_usage_table());
|
||||
oemcrypto_update_usage_entry_.ToProto(
|
||||
crypto_metrics->mutable_oemcrypto_update_usage_entry());
|
||||
}
|
||||
|
||||
SessionMetrics::SessionMetrics()
|
||||
@@ -227,30 +231,9 @@ OemCryptoDynamicAdapterMetrics &GetDynamicAdapterMetricsInstance() {
|
||||
return *adapter_metrics;
|
||||
}
|
||||
|
||||
EngineMetrics::EngineMetrics()
|
||||
: cdm_engine_add_key_(),
|
||||
cdm_engine_cdm_version_(),
|
||||
cdm_engine_close_session_(),
|
||||
cdm_engine_creation_time_millis_(),
|
||||
cdm_engine_decrypt_(),
|
||||
cdm_engine_find_session_for_key_(),
|
||||
cdm_engine_generate_key_request_(),
|
||||
cdm_engine_get_provisioning_request_(),
|
||||
cdm_engine_get_secure_stop_ids_(),
|
||||
cdm_engine_get_usage_info_(),
|
||||
cdm_engine_handle_provisioning_response_(),
|
||||
cdm_engine_life_span_(),
|
||||
cdm_engine_open_key_set_session_(),
|
||||
cdm_engine_open_session_(),
|
||||
cdm_engine_query_key_status_(),
|
||||
cdm_engine_release_all_usage_info_(),
|
||||
cdm_engine_release_usage_info_(),
|
||||
cdm_engine_remove_all_usage_info_(),
|
||||
cdm_engine_remove_keys_(),
|
||||
cdm_engine_remove_usage_info_(),
|
||||
cdm_engine_restore_key_(),
|
||||
cdm_engine_unprovision_(),
|
||||
app_package_name_("") {}
|
||||
EngineMetrics::EngineMetrics() {
|
||||
life_span_internal_.Start();
|
||||
}
|
||||
|
||||
EngineMetrics::~EngineMetrics() {
|
||||
AutoLock lock(session_metrics_lock_);
|
||||
@@ -309,6 +292,9 @@ void EngineMetrics::SetAppPackageName(const std::string &app_package_name) {
|
||||
|
||||
void EngineMetrics::SerializeEngineMetrics(
|
||||
WvCdmMetrics::EngineMetrics *engine_metrics) {
|
||||
// Set the engine lifespan at the time of serialization.
|
||||
engine_metrics->mutable_cdm_engine_life_span_ms()->set_int_value(
|
||||
life_span_internal_.AsMs());
|
||||
cdm_engine_add_key_.ToProto(
|
||||
engine_metrics->mutable_cdm_engine_add_key_time_us());
|
||||
engine_metrics->set_allocated_cdm_engine_cdm_version(
|
||||
@@ -332,8 +318,6 @@ void EngineMetrics::SerializeEngineMetrics(
|
||||
cdm_engine_handle_provisioning_response_.ToProto(
|
||||
engine_metrics
|
||||
->mutable_cdm_engine_handle_provisioning_response_time_us());
|
||||
engine_metrics->set_allocated_cdm_engine_life_span(
|
||||
cdm_engine_life_span_.ToProto()),
|
||||
cdm_engine_open_key_set_session_.ToProto(
|
||||
engine_metrics->mutable_cdm_engine_open_key_set_session());
|
||||
cdm_engine_open_session_.ToProto(
|
||||
|
||||
Reference in New Issue
Block a user