Merge "metricsd: Update to use new component/trait APIs from weaved"

am: 919af692c5

* commit '919af692c58c1aab5081a3cbf48e88e744094dae':
  metricsd: Update to use new component/trait APIs from weaved
This commit is contained in:
Alex Vakulenko 2015-12-09 22:18:55 +00:00 committed by android-build-merger
commit 457fcbd81f
5 changed files with 32 additions and 35 deletions

View File

@ -146,9 +146,7 @@ LOCAL_CLANG := true
LOCAL_CPP_EXTENSION := $(metrics_cpp_extension)
LOCAL_CPPFLAGS := $(metrics_CPPFLAGS)
LOCAL_INIT_RC := metrics_collector.rc
LOCAL_REQUIRED_MODULES := \
metrics.json \
metrics.schema.json
LOCAL_REQUIRED_MODULES := metrics.json
LOCAL_RTTI_FLAG := -frtti
LOCAL_SHARED_LIBRARIES := $(metrics_collector_shared_libraries)
LOCAL_SRC_FILES := $(metrics_collector_common) \
@ -207,13 +205,6 @@ include $(BUILD_NATIVE_TEST)
include $(CLEAR_VARS)
LOCAL_MODULE := metrics.json
LOCAL_MODULE_CLASS := ETC
LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/weaved/commands
LOCAL_SRC_FILES := etc/weaved/commands/$(LOCAL_MODULE)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := metrics.schema.json
LOCAL_MODULE_CLASS := ETC
LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/weaved/states
LOCAL_SRC_FILES := etc/weaved/states/$(LOCAL_MODULE)
LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/weaved/traits
LOCAL_SRC_FILES := etc/weaved/traits/$(LOCAL_MODULE)
include $(BUILD_PREBUILT)

View File

@ -1,10 +0,0 @@
{
"_metrics": {
"_enableAnalyticsReporting": {
"minimalRole": "manager"
},
"_disableAnalyticsReporting": {
"minimalRole": "manager"
}
}
}

View File

@ -1,8 +0,0 @@
{
"_metrics": {
"_AnalyticsReportingState": {
"enum": ["enabled", "disabled"],
"default": "disabled"
}
}
}

View File

@ -0,0 +1,18 @@
{
"_metrics": {
"commands": {
"_enableAnalyticsReporting": {
"minimalRole": "manager"
},
"_disableAnalyticsReporting": {
"minimalRole": "manager"
}
},
"state": {
"_AnalyticsReportingState": {
"type": "string",
"enum": [ "enabled", "disabled" ]
}
}
}
}

View File

@ -71,6 +71,8 @@ const int kMetricMeminfoInterval = 30; // seconds
const char kMeminfoFileName[] = "/proc/meminfo";
const char kVmStatFileName[] = "/proc/vmstat";
const char kWeaveComponent[] = "metrics";
} // namespace
// Zram sysfs entries.
@ -246,10 +248,13 @@ int MetricsCollector::OnInit() {
device_ = weaved::Device::CreateInstance(
bus_,
base::Bind(&MetricsCollector::UpdateWeaveState, base::Unretained(this)));
device_->AddComponent(kWeaveComponent, {"_metrics"});
device_->AddCommandHandler(
kWeaveComponent,
"_metrics._enableAnalyticsReporting",
base::Bind(&MetricsCollector::OnEnableMetrics, base::Unretained(this)));
device_->AddCommandHandler(
kWeaveComponent,
"_metrics._disableAnalyticsReporting",
base::Bind(&MetricsCollector::OnDisableMetrics, base::Unretained(this)));
@ -324,12 +329,13 @@ void MetricsCollector::UpdateWeaveState() {
if (!device_)
return;
brillo::VariantDictionary state_change{
{ "_metrics._AnalyticsReportingState",
metrics_lib_->AreMetricsEnabled() ? "enabled" : "disabled" }
};
std::string enabled =
metrics_lib_->AreMetricsEnabled() ? "enabled" : "disabled";
if (!device_->SetStateProperties(state_change, nullptr)) {
if (!device_->SetStateProperty(kWeaveComponent,
"_metrics._AnalyticsReportingState",
enabled,
nullptr)) {
LOG(ERROR) << "failed to update weave's state";
}
}