Adds a VersionInfo message to SignedMessage

[ Merge from http://go/wvgerrit/72724 ]

This adds a message that contains SDK and service version information
useful for debugging problems that occur because of different services.

BUG: 80536436

Test: Unit tests and manual GPlay testing.
Change-Id: I095f893b907ea7c2cd149155fb2cd4c7181e7bb2
This commit is contained in:
Adam Stone
2019-02-14 17:10:19 -08:00
parent 741645a4be
commit c891824a7a
10 changed files with 56 additions and 1 deletions

View File

@@ -296,6 +296,8 @@ class SessionMetrics {
EventMetric<kKeyRequestTypeFieldNumber, CdmKeyRequestType>
cdm_session_license_request_latency_ms_;
ValueMetric<std::string> oemcrypto_build_info_;
ValueMetric<std::string> license_sdk_version_;
ValueMetric<std::string> license_service_version_;
// Serialize the session metrics to the provided |metric_group|.
// |metric_group| is owned by the caller and must not be null.

View File

@@ -176,6 +176,8 @@ message WvCdmMetrics {
repeated CounterMetric cdm_session_restore_usage_session = 6;
repeated DistributionMetric cdm_session_license_request_latency_ms = 7;
optional ValueMetric oemcrypto_build_info = 8;
optional ValueMetric license_sdk_version = 9;
optional ValueMetric license_service_version = 10;
}
// These are metrics recorded at the Engine level. This includes CryptoSession

View File

@@ -191,6 +191,10 @@ void SessionMetrics::SerializeSessionMetrics(
session_metrics->mutable_cdm_session_license_request_latency_ms());
session_metrics->set_allocated_oemcrypto_build_info(
oemcrypto_build_info_.ToProto());
session_metrics->set_allocated_license_sdk_version(
license_sdk_version_.ToProto());
session_metrics->set_allocated_license_service_version(
license_service_version_.ToProto());
}
OemCryptoDynamicAdapterMetrics::OemCryptoDynamicAdapterMetrics()

View File

@@ -274,6 +274,8 @@ TEST_F(SessionMetricsTest, AllSessionMetrics) {
session_metrics.cdm_session_license_request_latency_ms_.Record(
2.0, kKeyRequestTypeInitial);
session_metrics.oemcrypto_build_info_.Record("test build info");
session_metrics.license_sdk_version_.Record("test license sdk version");
session_metrics.license_service_version_.Record("test license service version");
// Record a CryptoMetrics metric in the session.
session_metrics.GetCryptoMetrics()->crypto_session_generic_decrypt_
@@ -289,6 +291,10 @@ TEST_F(SessionMetricsTest, AllSessionMetrics) {
EXPECT_GT(actual.cdm_session_license_request_latency_ms_size(), 0);
EXPECT_STREQ("test build info",
actual.oemcrypto_build_info().string_value().c_str());
EXPECT_STREQ("test license sdk version",
actual.license_sdk_version().string_value().c_str());
EXPECT_STREQ("test license service version",
actual.license_service_version().string_value().c_str());
EXPECT_GT(
actual.crypto_metrics().crypto_session_generic_decrypt_time_us_size(), 0);
}