diff options
Diffstat (limited to 'runtime/runtime.cc')
-rw-r--r-- | runtime/runtime.cc | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/runtime/runtime.cc b/runtime/runtime.cc index 74a563e23a..370ee02790 100644 --- a/runtime/runtime.cc +++ b/runtime/runtime.cc @@ -1088,16 +1088,17 @@ void Runtime::InitNonZygoteOrPostFork( GetMetrics()->Reset(); if (metrics_reporter_ != nullptr) { - if (IsSystemServer() && !metrics_reporter_->IsPeriodicReportingEnabled()) { - // For system server, we don't get startup metrics, so make sure we have periodic reporting - // enabled. - // - // Note that this does not override the command line argument if one is given. - metrics_reporter_->SetReportingPeriod(kOneHourInSeconds); - } + // Now that we know if we are an app or system server, reload the metrics reporter config + // in case there are any difference. + metrics::ReportingConfig metrics_config = + metrics::ReportingConfig::FromFlags(is_system_server); + + metrics_reporter_->ReloadConfig(metrics_config); metrics::SessionData session_data{metrics::SessionData::CreateDefault()}; - session_data.session_id = GetRandomNumber<int64_t>(0, std::numeric_limits<int64_t>::max()); + // Start the session id from 1 to avoid clashes with the default value. + // (better for debugability) + session_data.session_id = GetRandomNumber<int64_t>(1, std::numeric_limits<int64_t>::max()); // TODO: set session_data.compilation_reason and session_data.compiler_filter metrics_reporter_->MaybeStartBackgroundThread(session_data); } @@ -1838,7 +1839,7 @@ bool Runtime::Init(RuntimeArgumentMap&& runtime_options_in) { // Class-roots are setup, we can now finish initializing the JniIdManager. GetJniIdManager()->Init(self); - InitMetrics(runtime_options); + InitMetrics(); // Runtime initialization is largely done now. // We load plugins first since that can modify the runtime state slightly. @@ -1938,8 +1939,8 @@ bool Runtime::Init(RuntimeArgumentMap&& runtime_options_in) { return true; } -void Runtime::InitMetrics(const RuntimeArgumentMap& runtime_options) { - auto metrics_config = metrics::ReportingConfig::FromRuntimeArguments(runtime_options); +void Runtime::InitMetrics() { + metrics::ReportingConfig metrics_config = metrics::ReportingConfig::FromFlags(); metrics_reporter_ = metrics::MetricsReporter::Create(metrics_config, this); } |