diff options
| author | 2021-04-05 19:31:30 +0000 | |
|---|---|---|
| committer | 2021-04-05 20:57:07 +0000 | |
| commit | 8b07c653a7e45886ee92d8a12aa439e98e84befa (patch) | |
| tree | d204054a2b7b07769384db6f3c68ff53f7dccb3b | |
| parent | 50419f2d4ce9bef92115342692a405f30600e114 (diff) | |
Revert "[metrics] Report CompilationReason and CompilerFilter"
This reverts commit f9bf4efcab3d05b6d547e492075de377400d2d88.
Reason for revert: b/184402526
Change-Id: Id297ef1db997d185bcd6f910cc6c84a62e6eaa0d
| -rw-r--r-- | libartbase/base/metrics/metrics.h | 92 | ||||
| -rw-r--r-- | libartbase/base/metrics/metrics_common.cc | 38 | ||||
| -rw-r--r-- | runtime/metrics/reporter.cc | 26 | ||||
| -rw-r--r-- | runtime/metrics/reporter.h | 16 | ||||
| -rw-r--r-- | runtime/metrics/statsd.cc | 19 | ||||
| -rw-r--r-- | runtime/runtime.cc | 7 |
6 files changed, 21 insertions, 177 deletions
diff --git a/libartbase/base/metrics/metrics.h b/libartbase/base/metrics/metrics.h index 316eb7a1a8..4e3346a763 100644 --- a/libartbase/base/metrics/metrics.h +++ b/libartbase/base/metrics/metrics.h @@ -83,14 +83,8 @@ enum class CompilationReason { kError, kUnknown, kFirstBoot, - kBootAfterOTA, - kPostBoot, + kBoot, kInstall, - kInstallFast, - kInstallBulk, - kInstallBulkSecondary, - kInstallBulkDowngraded, - kInstallBulkSecondaryDowngraded, kBgDexopt, kABOTA, kInactive, @@ -101,90 +95,28 @@ enum class CompilationReason { constexpr const char* CompilationReasonName(CompilationReason reason) { switch (reason) { case CompilationReason::kError: - return "error"; + return "Error"; case CompilationReason::kUnknown: - return "unknown"; + return "Unknown"; case CompilationReason::kFirstBoot: - return "first-boot"; - case CompilationReason::kBootAfterOTA: - return "boot-after-ota"; - case CompilationReason::kPostBoot: - return "post-boot"; + return "FirstBoot"; + case CompilationReason::kBoot: + return "Boot"; case CompilationReason::kInstall: - return "install"; - case CompilationReason::kInstallFast: - return "install-fast"; - case CompilationReason::kInstallBulk: - return "install-bulk"; - case CompilationReason::kInstallBulkSecondary: - return "install-bulk-secondary"; - case CompilationReason::kInstallBulkDowngraded: - return "install-bulk-downgraded"; - case CompilationReason::kInstallBulkSecondaryDowngraded: - return "install-bulk-secondary-downgraded"; + return "Install"; case CompilationReason::kBgDexopt: - return "bg-dexopt"; + return "BgDexopt"; case CompilationReason::kABOTA: - return "ab-ota"; + return "ABOTA"; case CompilationReason::kInactive: - return "inactive"; + return "Inactive"; case CompilationReason::kShared: - return "shared"; + return "Shared"; case CompilationReason::kInstallWithDexMetadata: - return "install-with-dex-metadata"; + return "InstallWithDexMetadata"; } } -constexpr CompilationReason CompilationReasonFromName(std::string_view name) { - // Names come from PackageManagerServiceCompilerMapping.java - if (name == "unknown") { - return CompilationReason::kUnknown; - } - if (name == "first-boot") { - return CompilationReason::kFirstBoot; - } - if (name == "boot-after-ota") { - return CompilationReason::kBootAfterOTA; - } - if (name == "post-boot") { - return CompilationReason::kPostBoot; - } - if (name == "install") { - return CompilationReason::kInstall; - } - if (name == "install-fast") { - return CompilationReason::kInstallFast; - } - if (name == "install-bulk") { - return CompilationReason::kInstallBulk; - } - if (name == "install-bulk-secondary") { - return CompilationReason::kInstallBulkSecondary; - } - if (name == "install-bulk-downgraded") { - return CompilationReason::kInstallBulkDowngraded; - } - if (name == "install-bulk-secondary-downgraded") { - return CompilationReason::kInstallBulkSecondaryDowngraded; - } - if (name == "bg-dexopt") { - return CompilationReason::kBgDexopt; - } - if (name == "ab-ota") { - return CompilationReason::kABOTA; - } - if (name == "inactive") { - return CompilationReason::kInactive; - } - if (name == "shared") { - return CompilationReason::kShared; - } - if (name == "install-with-dex-metadata") { - return CompilationReason::kInstallWithDexMetadata; - } - return CompilationReason::kError; -} - // SessionData contains metadata about a metrics session (basically the lifetime of an ART process). // This information should not change for the lifetime of the session. struct SessionData { diff --git a/libartbase/base/metrics/metrics_common.cc b/libartbase/base/metrics/metrics_common.cc index 7805f51c0a..89d003a71e 100644 --- a/libartbase/base/metrics/metrics_common.cc +++ b/libartbase/base/metrics/metrics_common.cc @@ -179,44 +179,6 @@ void FileBackend::EndReport() { } } -// Make sure CompilationReasonName and CompilationReasonForName are inverses. -static_assert(CompilationReasonFromName(CompilationReasonName(CompilationReason::kError)) == - CompilationReason::kError); -static_assert(CompilationReasonFromName(CompilationReasonName(CompilationReason::kUnknown)) == - CompilationReason::kUnknown); -static_assert(CompilationReasonFromName(CompilationReasonName(CompilationReason::kFirstBoot)) == - CompilationReason::kFirstBoot); -static_assert(CompilationReasonFromName(CompilationReasonName(CompilationReason::kBootAfterOTA)) == - CompilationReason::kBootAfterOTA); -static_assert(CompilationReasonFromName(CompilationReasonName(CompilationReason::kPostBoot)) == - CompilationReason::kPostBoot); -static_assert(CompilationReasonFromName(CompilationReasonName(CompilationReason::kInstall)) == - CompilationReason::kInstall); -static_assert(CompilationReasonFromName(CompilationReasonName(CompilationReason::kInstallFast)) == - CompilationReason::kInstallFast); -static_assert(CompilationReasonFromName(CompilationReasonName(CompilationReason::kInstallBulk)) == - CompilationReason::kInstallBulk); -static_assert( - CompilationReasonFromName(CompilationReasonName(CompilationReason::kInstallBulkSecondary)) == - CompilationReason::kInstallBulkSecondary); -static_assert( - CompilationReasonFromName(CompilationReasonName(CompilationReason::kInstallBulkDowngraded)) == - CompilationReason::kInstallBulkDowngraded); -static_assert(CompilationReasonFromName( - CompilationReasonName(CompilationReason::kInstallBulkSecondaryDowngraded)) == - CompilationReason::kInstallBulkSecondaryDowngraded); -static_assert(CompilationReasonFromName(CompilationReasonName(CompilationReason::kBgDexopt)) == - CompilationReason::kBgDexopt); -static_assert(CompilationReasonFromName(CompilationReasonName(CompilationReason::kABOTA)) == - CompilationReason::kABOTA); -static_assert(CompilationReasonFromName(CompilationReasonName(CompilationReason::kInactive)) == - CompilationReason::kInactive); -static_assert(CompilationReasonFromName(CompilationReasonName(CompilationReason::kShared)) == - CompilationReason::kShared); -static_assert( - CompilationReasonFromName(CompilationReasonName(CompilationReason::kInstallWithDexMetadata)) == - CompilationReason::kInstallWithDexMetadata); - } // namespace metrics } // namespace art diff --git a/runtime/metrics/reporter.cc b/runtime/metrics/reporter.cc index 4cf1ba53b7..5148b207ab 100644 --- a/runtime/metrics/reporter.cc +++ b/runtime/metrics/reporter.cc @@ -77,13 +77,6 @@ void MetricsReporter::RequestMetricsReport(bool synchronous) { } } -void MetricsReporter::SetCompilationInfo(CompilationReason compilation_reason, - CompilerFilter::Filter compiler_filter) { - if (thread_.has_value()) { - messages_.SendMessage(CompilationInfoMessage{compilation_reason, compiler_filter}); - } -} - void MetricsReporter::BackgroundThreadRun() { LOG_STREAM(DEBUG) << "Metrics reporting thread started"; @@ -115,7 +108,10 @@ void MetricsReporter::BackgroundThreadRun() { messages_.SwitchReceive( [&](BeginSessionMessage message) { LOG_STREAM(DEBUG) << "Received session metadata"; - session_data_ = message.session_data; + + for (auto& backend : backends_) { + backend->BeginSession(message.session_data); + } }, [&]([[maybe_unused]] ShutdownRequestedMessage message) { LOG_STREAM(DEBUG) << "Shutdown request received"; @@ -143,11 +139,6 @@ void MetricsReporter::BackgroundThreadRun() { [&]([[maybe_unused]] StartupCompletedMessage message) { LOG_STREAM(DEBUG) << "App startup completed, reporting metrics"; ReportMetrics(); - }, - [&](CompilationInfoMessage message) { - LOG_STREAM(DEBUG) << "Compilation info received"; - session_data_.compilation_reason = message.compilation_reason; - session_data_.compiler_filter = message.compiler_filter; }); } @@ -163,16 +154,9 @@ void MetricsReporter::MaybeResetTimeout() { } } -void MetricsReporter::ReportMetrics() { +void MetricsReporter::ReportMetrics() const { ArtMetrics* metrics{runtime_->GetMetrics()}; - if (!session_started_) { - for (auto& backend : backends_) { - backend->BeginSession(session_data_); - } - session_started_ = true; - } - for (auto& backend : backends_) { metrics->ReportAllMetrics(backend.get()); } diff --git a/runtime/metrics/reporter.h b/runtime/metrics/reporter.h index 3ad55b090f..eff6e47322 100644 --- a/runtime/metrics/reporter.h +++ b/runtime/metrics/reporter.h @@ -83,9 +83,6 @@ class MetricsReporter { // If synchronous is set to true, this function will block until the report has completed. void RequestMetricsReport(bool synchronous = true); - void SetCompilationInfo(CompilationReason compilation_reason, - CompilerFilter::Filter compiler_filter); - static constexpr const char* kBackgroundThreadName = "Metrics Background Reporting Thread"; private: @@ -98,7 +95,7 @@ class MetricsReporter { void MaybeResetTimeout(); // Outputs the current state of the metrics to the destination set by config_. - void ReportMetrics(); + void ReportMetrics() const; ReportingConfig config_; Runtime* runtime_; @@ -125,25 +122,16 @@ class MetricsReporter { bool synchronous; }; - struct CompilationInfoMessage { - CompilationReason compilation_reason; - CompilerFilter::Filter compiler_filter; - }; - MessageQueue<ShutdownRequestedMessage, StartupCompletedMessage, BeginSessionMessage, - RequestMetricsReportMessage, - CompilationInfoMessage> + RequestMetricsReportMessage> messages_; // A message indicating a requested report has been finished. struct ReportCompletedMessage {}; MessageQueue<ReportCompletedMessage> thread_to_host_messages_; - - SessionData session_data_{}; - bool session_started_{false}; }; } // namespace metrics diff --git a/runtime/metrics/statsd.cc b/runtime/metrics/statsd.cc index 7dc23002a5..39836e257a 100644 --- a/runtime/metrics/statsd.cc +++ b/runtime/metrics/statsd.cc @@ -117,6 +117,8 @@ constexpr int32_t EncodeCompilationReason(CompilationReason reason) { return statsd::ART_DATUM_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_AB_OTA; case CompilationReason::kBgDexopt: return statsd::ART_DATUM_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_BG_DEXOPT; + case CompilationReason::kBoot: + return statsd::ART_DATUM_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_BOOT; case CompilationReason::kError: return statsd::ART_DATUM_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_ERROR; case CompilationReason::kFirstBoot: @@ -130,23 +132,6 @@ constexpr int32_t EncodeCompilationReason(CompilationReason reason) { ART_DATUM_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_INSTALL_WITH_DEX_METADATA; case CompilationReason::kShared: return statsd::ART_DATUM_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_SHARED; - case CompilationReason::kPostBoot: - return statsd::ART_DATUM_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_POST_BOOT; - case CompilationReason::kInstallBulk: - return statsd::ART_DATUM_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_INSTALL_BULK; - case CompilationReason::kInstallBulkSecondary: - return statsd:: - ART_DATUM_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_INSTALL_BULK_SECONDARY; - case CompilationReason::kInstallBulkDowngraded: - return statsd:: - ART_DATUM_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_INSTALL_BULK_DOWNGRADED; - case CompilationReason::kInstallBulkSecondaryDowngraded: - return statsd:: - ART_DATUM_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_INSTALL_BULK_SECONDARY_DOWNGRADED; - case CompilationReason::kBootAfterOTA: - return statsd::ART_DATUM_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_BOOT_AFTER_OTA; - case CompilationReason::kInstallFast: - return statsd::ART_DATUM_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_INSTALL_FAST; } } diff --git a/runtime/runtime.cc b/runtime/runtime.cc index 4c4567a69e..6e7167d6e9 100644 --- a/runtime/runtime.cc +++ b/runtime/runtime.cc @@ -3063,13 +3063,6 @@ void Runtime::NotifyStartupCompleted() { ProfileSaver::NotifyStartupCompleted(); if (metrics_reporter_ != nullptr) { - const OatFile* primary_oat_file = oat_file_manager_->GetPrimaryOatFile(); - DCHECK_NE(primary_oat_file, nullptr); - const char* compilation_reason = primary_oat_file->GetCompilationReason(); - metrics_reporter_->SetCompilationInfo( - compilation_reason != nullptr ? metrics::CompilationReasonFromName(compilation_reason) : - metrics::CompilationReason::kUnknown, - primary_oat_file->GetCompilerFilter()); metrics_reporter_->NotifyStartupCompleted(); } } |