From bd3505e634cf8f6a8cb95f2b352670a0890c06f2 Mon Sep 17 00:00:00 2001 From: Bertrand SIMONNET Date: Tue, 4 Aug 2015 14:04:51 -0700 Subject: [PATCH] metrics: Consolidate constants in constants.h. Instead of hardcoding system specific constants (like path) in every file, consolidate them into the constants.h. BUG: 22879597 Change-Id: I615be017774db629bf43398db7f70e9ef7263a52 --- metrics/constants.h | 28 ++++++++++++++++++++++++ metrics/metrics_daemon_main.cc | 5 +++-- metrics/metrics_daemon_test.cc | 2 -- metrics/metrics_library.cc | 18 +++++++-------- metrics/persistent_integer.cc | 9 ++------ metrics/uploader/system_profile_cache.cc | 15 ++++++------- metrics/uploader/upload_service_test.cc | 3 --- 7 files changed, 48 insertions(+), 32 deletions(-) create mode 100644 metrics/constants.h diff --git a/metrics/constants.h b/metrics/constants.h new file mode 100644 index 000000000..d44a74f84 --- /dev/null +++ b/metrics/constants.h @@ -0,0 +1,28 @@ +// +// Copyright (C) 2015 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#ifndef METRICS_CONSTANTS_H_ +#define METRICS_CONSTANTS_H_ + +namespace metrics { +static const char kMetricsDirectory[] = "/data/misc/metrics/"; +static const char kMetricsEventsFilePath[] = "/data/misc/metrics/uma-events"; +static const char kMetricsGUIDFilePath[] = "/data/misc/metrics/Sysinfo.GUID"; +static const char kMetricsServer[] = "http://clients4.google.com/uma/v2"; +static const char kConsentFilePath[] = "/data/misc/metrics/enabled"; +} // namespace metrics + +#endif // METRICS_CONSTANTS_H_ diff --git a/metrics/metrics_daemon_main.cc b/metrics/metrics_daemon_main.cc index 392f12a0b..01a6f7bd0 100644 --- a/metrics/metrics_daemon_main.cc +++ b/metrics/metrics_daemon_main.cc @@ -9,6 +9,7 @@ #include #include +#include "constants.h" #include "metrics_daemon.h" const char kScalingMaxFreqPath[] = @@ -34,10 +35,10 @@ int main(int argc, char** argv) { "Interval at which metrics_daemon sends the metrics. (needs " "-uploader)"); DEFINE_string(server, - "https://clients4.google.com/uma/v2", + metrics::kMetricsServer, "Server to upload the metrics to. (needs -uploader)"); DEFINE_string(metrics_file, - "/var/lib/metrics/uma-events", + metrics::kMetricsEventsFilePath, "File to use as a proxy for uploading the metrics"); DEFINE_string(config_root, "/", "Root of the configuration files (testing only)"); diff --git a/metrics/metrics_daemon_test.cc b/metrics/metrics_daemon_test.cc index fa9fcfa6b..5aa7ab88e 100644 --- a/metrics/metrics_daemon_test.cc +++ b/metrics/metrics_daemon_test.cc @@ -44,8 +44,6 @@ static const uint64_t kFakeWriteSectors[] = {3000, 4000}; static const char kFakeVmStatsName[] = "fake-vm-stats"; static const char kFakeScalingMaxFreqPath[] = "fake-scaling-max-freq"; static const char kFakeCpuinfoMaxFreqPath[] = "fake-cpuinfo-max-freq"; -static const char kMetricsServer[] = "https://clients4.google.com/uma/v2"; -static const char kMetricsFilePath[] = "/var/lib/metrics/uma-events"; class MetricsDaemonTest : public testing::Test { protected: diff --git a/metrics/metrics_library.cc b/metrics/metrics_library.cc index fb80354c6..db7e7d373 100644 --- a/metrics/metrics_library.cc +++ b/metrics/metrics_library.cc @@ -13,12 +13,10 @@ #include #include +#include "constants.h" #include "serialization/metric_sample.h" #include "serialization/serialization_utils.h" -static const char kAutotestPath[] = "/var/log/metrics/autotest-events"; -static const char kUMAEventsPath[] = "/var/lib/metrics/uma-events"; -static const char kConsentFile[] = "/home/chronos/Consent To Send Stats"; static const char kCrosEventHistogramName[] = "Platform.CrOSEvent"; static const int kCrosEventHistogramMax = 100; @@ -46,7 +44,7 @@ static const char *kCrosEventNames[] = { time_t MetricsLibrary::cached_enabled_time_ = 0; bool MetricsLibrary::cached_enabled_ = false; -MetricsLibrary::MetricsLibrary() : consent_file_(kConsentFile) {} +MetricsLibrary::MetricsLibrary() : consent_file_(metrics::kConsentFilePath) {} MetricsLibrary::~MetricsLibrary() {} // We take buffer and buffer_size as parameters in order to simplify testing @@ -127,7 +125,7 @@ bool MetricsLibrary::AreMetricsEnabled() { } void MetricsLibrary::Init() { - uma_events_file_ = kUMAEventsPath; + uma_events_file_ = metrics::kMetricsEventsFilePath; } bool MetricsLibrary::SendToAutotest(const std::string& name, int value) { @@ -150,30 +148,30 @@ bool MetricsLibrary::SendToUMA(const std::string& name, return metrics::SerializationUtils::WriteMetricToFile( *metrics::MetricSample::HistogramSample(name, sample, min, max, nbuckets) .get(), - kUMAEventsPath); + metrics::kMetricsEventsFilePath); } bool MetricsLibrary::SendEnumToUMA(const std::string& name, int sample, int max) { return metrics::SerializationUtils::WriteMetricToFile( *metrics::MetricSample::LinearHistogramSample(name, sample, max).get(), - kUMAEventsPath); + metrics::kMetricsEventsFilePath); } bool MetricsLibrary::SendSparseToUMA(const std::string& name, int sample) { return metrics::SerializationUtils::WriteMetricToFile( *metrics::MetricSample::SparseHistogramSample(name, sample).get(), - kUMAEventsPath); + metrics::kMetricsEventsFilePath); } bool MetricsLibrary::SendUserActionToUMA(const std::string& action) { return metrics::SerializationUtils::WriteMetricToFile( - *metrics::MetricSample::UserActionSample(action).get(), kUMAEventsPath); + *metrics::MetricSample::UserActionSample(action).get(), metrics::kMetricsEventsFilePath); } bool MetricsLibrary::SendCrashToUMA(const char *crash_kind) { return metrics::SerializationUtils::WriteMetricToFile( - *metrics::MetricSample::CrashSample(crash_kind).get(), kUMAEventsPath); + *metrics::MetricSample::CrashSample(crash_kind).get(), metrics::kMetricsEventsFilePath); } bool MetricsLibrary::SendCrosEventToUMA(const std::string& event) { diff --git a/metrics/persistent_integer.cc b/metrics/persistent_integer.cc index c6b21768f..0dcd52af1 100644 --- a/metrics/persistent_integer.cc +++ b/metrics/persistent_integer.cc @@ -9,14 +9,9 @@ #include #include +#include "constants.h" #include "metrics/metrics_library.h" -namespace { - -// The directory for the persistent storage. -const char kBackingFilesDirectory[] = "/var/lib/metrics/"; - -} namespace chromeos_metrics { @@ -31,7 +26,7 @@ PersistentInteger::PersistentInteger(const std::string& name) : if (testing_) { backing_file_name_ = name_; } else { - backing_file_name_ = kBackingFilesDirectory + name_; + backing_file_name_ = metrics::kMetricsDirectory + name_; } } diff --git a/metrics/uploader/system_profile_cache.cc b/metrics/uploader/system_profile_cache.cc index 30a1ff55b..82401c648 100644 --- a/metrics/uploader/system_profile_cache.cc +++ b/metrics/uploader/system_profile_cache.cc @@ -4,24 +4,23 @@ #include "uploader/system_profile_cache.h" +#include +#include +#include +#include +#include +#include #include #include -#include "base/files/file_util.h" -#include "base/guid.h" -#include "base/logging.h" -#include "base/strings/string_number_conversions.h" -#include "base/strings/string_util.h" -#include "base/sys_info.h" +#include "constants.h" #include "persistent_integer.h" #include "uploader/metrics_log_base.h" #include "uploader/proto/chrome_user_metrics_extension.pb.h" namespace { -const char kPersistentGUIDFile[] = "/var/lib/metrics/Sysinfo.GUID"; const char kPersistentSessionIdFilename[] = "Sysinfo.SessionId"; -const char kProductIdFieldName[] = "GOOGLE_METRICS_PRODUCT_ID"; } // namespace diff --git a/metrics/uploader/upload_service_test.cc b/metrics/uploader/upload_service_test.cc index fb08464e0..efd0a56fa 100644 --- a/metrics/uploader/upload_service_test.cc +++ b/metrics/uploader/upload_service_test.cc @@ -20,9 +20,6 @@ #include "uploader/system_profile_cache.h" #include "uploader/upload_service.h" -static const char kMetricsServer[] = "https://clients4.google.com/uma/v2"; -static const char kMetricsFilePath[] = "/var/run/metrics/uma-events"; - class UploadServiceTest : public testing::Test { protected: UploadServiceTest()