Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 457fcbd8 authored by Alex Vakulenko's avatar Alex Vakulenko Committed by android-build-merger
Browse files

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

am: 919af692

* commit '919af692':
  metricsd: Update to use new component/trait APIs from weaved
parents 8ca86649 919af692
Loading
Loading
Loading
Loading
+3 −12
Original line number Diff line number Diff line
@@ -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)
+0 −10
Original line number Diff line number Diff line
{
  "_metrics": {
    "_enableAnalyticsReporting": {
      "minimalRole": "manager"
    },
    "_disableAnalyticsReporting": {
      "minimalRole": "manager"
    }
  }
}
+0 −8
Original line number Diff line number Diff line
{
  "_metrics": {
    "_AnalyticsReportingState": {
      "enum": ["enabled", "disabled"],
      "default": "disabled"
    }
  }
}
+18 −0
Original line number Diff line number Diff line
{
  "_metrics": {
    "commands": {
      "_enableAnalyticsReporting": {
        "minimalRole": "manager"
      },
      "_disableAnalyticsReporting": {
        "minimalRole": "manager"
      }
    },
    "state": {
      "_AnalyticsReportingState": {
        "type": "string",
        "enum": [ "enabled", "disabled" ]
      }
    }
  }
}
+11 −5
Original line number Diff line number Diff line
@@ -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";
  }
}