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
This commit is contained in:
parent
182673ec6c
commit
bd3505e634
7 changed files with 48 additions and 32 deletions
28
metrics/constants.h
Normal file
28
metrics/constants.h
Normal file
|
@ -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_
|
|
@ -9,6 +9,7 @@
|
|||
#include <chromeos/flag_helper.h>
|
||||
#include <chromeos/syslog_logging.h>
|
||||
|
||||
#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)");
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -13,12 +13,10 @@
|
|||
#include <cstdio>
|
||||
#include <cstring>
|
||||
|
||||
#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) {
|
||||
|
|
|
@ -9,14 +9,9 @@
|
|||
#include <base/logging.h>
|
||||
#include <base/posix/eintr_wrapper.h>
|
||||
|
||||
#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_;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -4,24 +4,23 @@
|
|||
|
||||
#include "uploader/system_profile_cache.h"
|
||||
|
||||
#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 <string>
|
||||
#include <vector>
|
||||
|
||||
#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
|
||||
|
||||
|
|
|
@ -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()
|
||||
|
|
Loading…
Reference in a new issue