Index: chromecast/browser/metrics/cast_metrics_service_client.cc |
diff --git a/chromecast/browser/metrics/cast_metrics_service_client.cc b/chromecast/browser/metrics/cast_metrics_service_client.cc |
index 32b4c15130e4bdfcc73da854ac4bc92783b34123..bfdd74919dca4d9293655f45d23db5ad12ce85c7 100644 |
--- a/chromecast/browser/metrics/cast_metrics_service_client.cc |
+++ b/chromecast/browser/metrics/cast_metrics_service_client.cc |
@@ -250,6 +250,12 @@ void CastMetricsServiceClient::Finalize() { |
// Set clean_shutdown bit. |
metrics_service_->RecordCompletedSessionEnd(); |
#endif // !defined(OS_ANDROID) |
+ |
+ // Stop metrics service cleanly before destructing CastMetricsServiceClient. |
+#if defined(OS_LINUX) |
+ external_metrics_.release()->DestroySelf(); |
+#endif // defined(OS_LINUX) |
+ metrics_service_->Stop(); |
} |
bool CastMetricsServiceClient::IsReportingEnabled() { |