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

Commit 468ff04f authored by Yangster-mac's avatar Yangster-mac
Browse files

Proto change for dimension from condition.

Test: all statsd unit tests and cts tests passed.

Change-Id: I955143aca7c76e2e22a10d7ba42eb797bd32e147
parent 57366855
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -255,7 +255,7 @@ StatsdConfig build_fake_config() {
    metric->set_id(2);  // "METRIC_2"
    metric->set_what(104);
    metric->set_bucket(ONE_MINUTE);
    FieldMatcher* dimensions = metric->mutable_dimensions();
    FieldMatcher* dimensions = metric->mutable_dimensions_in_what();
    dimensions->set_field(UID_PROCESS_STATE_TAG_ID);
    dimensions->add_child()->set_field(UID_PROCESS_STATE_UID_KEY);

@@ -278,7 +278,7 @@ StatsdConfig build_fake_config() {
    metric->set_what(104);
    metric->set_bucket(ONE_MINUTE);

    dimensions = metric->mutable_dimensions();
    dimensions = metric->mutable_dimensions_in_what();
    dimensions->set_field(UID_PROCESS_STATE_TAG_ID);
    dimensions->add_child()->set_field(UID_PROCESS_STATE_UID_KEY);
    metric->set_condition(202);
@@ -288,7 +288,7 @@ StatsdConfig build_fake_config() {
    metric->set_id(4);
    metric->set_what(107);
    metric->set_bucket(ONE_MINUTE);
    dimensions = metric->mutable_dimensions();
    dimensions = metric->mutable_dimensions_in_what();
    dimensions->set_field(WAKE_LOCK_TAG_ID);
    dimensions->add_child()->set_field(WAKE_LOCK_UID_KEY_ID);

@@ -306,7 +306,7 @@ StatsdConfig build_fake_config() {
    durationMetric->set_id(5);
    durationMetric->set_bucket(ONE_MINUTE);
    durationMetric->set_aggregation_type(DurationMetric_AggregationType_SUM);
    dimensions = durationMetric->mutable_dimensions();
    dimensions = durationMetric->mutable_dimensions_in_what();
    dimensions->set_field(WAKE_LOCK_TAG_ID);
    dimensions->add_child()->set_field(WAKE_LOCK_UID_KEY_ID);
    durationMetric->set_what(205);
@@ -323,7 +323,7 @@ StatsdConfig build_fake_config() {
    durationMetric->set_id(6);
    durationMetric->set_bucket(ONE_MINUTE);
    durationMetric->set_aggregation_type(DurationMetric_AggregationType_MAX_SPARSE);
    dimensions = durationMetric->mutable_dimensions();
    dimensions = durationMetric->mutable_dimensions_in_what();
    dimensions->set_field(WAKE_LOCK_TAG_ID);
    dimensions->add_child()->set_field(WAKE_LOCK_UID_KEY_ID);
    durationMetric->set_what(205);
@@ -376,7 +376,7 @@ StatsdConfig build_fake_config() {
    valueMetric->mutable_value_field()->set_field(KERNEL_WAKELOCK_TAG_ID);
    valueMetric->mutable_value_field()->add_child()->set_field(KERNEL_WAKELOCK_COUNT_KEY);
    valueMetric->set_condition(201);
    dimensions = valueMetric->mutable_dimensions();
    dimensions = valueMetric->mutable_dimensions_in_what();
    dimensions->set_field(KERNEL_WAKELOCK_TAG_ID);
    dimensions->add_child()->set_field(KERNEL_WAKELOCK_NAME_KEY);
    // This is for testing easier. We should never set bucket size this small.
+6 −5
Original line number Diff line number Diff line
@@ -50,8 +50,9 @@ const int FIELD_ID_COUNT_METRICS = 5;
// for CountMetricDataWrapper
const int FIELD_ID_DATA = 1;
// for CountMetricData
const int FIELD_ID_DIMENSION = 1;
const int FIELD_ID_BUCKET_INFO = 2;
const int FIELD_ID_DIMENSION_IN_WHAT = 1;
const int FIELD_ID_DIMENSION_IN_CONDITION = 2;
const int FIELD_ID_BUCKET_INFO = 3;
// for CountBucketInfo
const int FIELD_ID_START_BUCKET_NANOS = 1;
const int FIELD_ID_END_BUCKET_NANOS = 2;
@@ -70,7 +71,7 @@ CountMetricProducer::CountMetricProducer(const ConfigKey& key, const CountMetric
    }

    // TODO: use UidMap if uid->pkg_name is required
    mDimensions = metric.dimensions();
    mDimensions = metric.dimensions_in_what();

    if (metric.links().size() > 0) {
        mConditionLinks.insert(mConditionLinks.begin(), metric.links().begin(),
@@ -98,7 +99,7 @@ void CountMetricProducer::onDumpReportLocked(const uint64_t dumpTimeNs, StatsLog
    auto count_metrics = report->mutable_count_metrics();
    for (const auto& counter : mPastBuckets) {
        CountMetricData* metricData = count_metrics->add_data();
        *metricData->mutable_dimension() = counter.first.getDimensionsValue();
        *metricData->mutable_dimensions_in_what() = counter.first.getDimensionsValue();
        for (const auto& bucket : counter.second) {
            CountBucketInfo* bucketInfo = metricData->add_bucket_info();
            bucketInfo->set_start_bucket_nanos(bucket.mBucketStartNs);
@@ -127,7 +128,7 @@ void CountMetricProducer::onDumpReportLocked(const uint64_t dumpTimeNs,

        // First fill dimension.
        long long dimensionToken = protoOutput->start(
                FIELD_TYPE_MESSAGE | FIELD_COUNT_REPEATED | FIELD_ID_DIMENSION);
                FIELD_TYPE_MESSAGE | FIELD_ID_DIMENSION_IN_WHAT);
        writeDimensionsValueProtoToStream(hashableKey.getDimensionsValue(), protoOutput);
        protoOutput->end(dimensionToken);

+6 −5
Original line number Diff line number Diff line
@@ -49,8 +49,9 @@ const int FIELD_ID_DURATION_METRICS = 6;
// for DurationMetricDataWrapper
const int FIELD_ID_DATA = 1;
// for DurationMetricData
const int FIELD_ID_DIMENSION = 1;
const int FIELD_ID_BUCKET_INFO = 2;
const int FIELD_ID_DIMENSION_IN_WHAT = 1;
const int FIELD_ID_DIMENSION_IN_CONDITION = 2;
const int FIELD_ID_BUCKET_INFO = 3;
// for DurationBucketInfo
const int FIELD_ID_START_BUCKET_NANOS = 1;
const int FIELD_ID_END_BUCKET_NANOS = 2;
@@ -80,7 +81,7 @@ DurationMetricProducer::DurationMetricProducer(const ConfigKey& key, const Durat
    }

    // TODO: use UidMap if uid->pkg_name is required
    mDimensions = metric.dimensions();
    mDimensions = metric.dimensions_in_what();

    if (metric.links().size() > 0) {
        mConditionLinks.insert(mConditionLinks.begin(), metric.links().begin(),
@@ -154,7 +155,7 @@ void DurationMetricProducer::onDumpReportLocked(const uint64_t dumpTimeNs, Stats
    auto duration_metrics = report->mutable_duration_metrics();
    for (const auto& pair : mPastBuckets) {
        DurationMetricData* metricData = duration_metrics->add_data();
        *metricData->mutable_dimension() = pair.first.getDimensionsValue();
        *metricData->mutable_dimensions_in_what() = pair.first.getDimensionsValue();
        for (const auto& bucket : pair.second) {
            auto bucketInfo = metricData->add_bucket_info();
            bucketInfo->set_start_bucket_nanos(bucket.mBucketStartNs);
@@ -183,7 +184,7 @@ void DurationMetricProducer::onDumpReportLocked(const uint64_t dumpTimeNs,

        // First fill dimension.
        long long dimensionToken = protoOutput->start(
                FIELD_TYPE_MESSAGE | FIELD_COUNT_REPEATED | FIELD_ID_DIMENSION);
                FIELD_TYPE_MESSAGE | FIELD_ID_DIMENSION_IN_WHAT);
        writeDimensionsValueProtoToStream(hashableKey.getDimensionsValue(), protoOutput);
        protoOutput->end(dimensionToken);

+5 −4
Original line number Diff line number Diff line
@@ -51,8 +51,9 @@ const int FIELD_ID_GAUGE_METRICS = 8;
// for GaugeMetricDataWrapper
const int FIELD_ID_DATA = 1;
// for GaugeMetricData
const int FIELD_ID_DIMENSION = 1;
const int FIELD_ID_BUCKET_INFO = 2;
const int FIELD_ID_DIMENSION_IN_WHAT = 1;
const int FIELD_ID_DIMENSION_IN_CONDITION = 2;
const int FIELD_ID_BUCKET_INFO = 3;
// for GaugeBucketInfo
const int FIELD_ID_START_BUCKET_NANOS = 1;
const int FIELD_ID_END_BUCKET_NANOS = 2;
@@ -79,7 +80,7 @@ GaugeMetricProducer::GaugeMetricProducer(const ConfigKey& key, const GaugeMetric
    mFieldFilter = metric.gauge_fields_filter();

    // TODO: use UidMap if uid->pkg_name is required
    mDimensions = metric.dimensions();
    mDimensions = metric.dimensions_in_what();

    if (metric.links().size() > 0) {
        mConditionLinks.insert(mConditionLinks.begin(), metric.links().begin(),
@@ -138,7 +139,7 @@ void GaugeMetricProducer::onDumpReportLocked(const uint64_t dumpTimeNs,

        // First fill dimension.
        long long dimensionToken = protoOutput->start(
                FIELD_TYPE_MESSAGE | FIELD_COUNT_REPEATED | FIELD_ID_DIMENSION);
                FIELD_TYPE_MESSAGE | FIELD_ID_DIMENSION_IN_WHAT);
        writeDimensionsValueProtoToStream(hashableKey.getDimensionsValue(), protoOutput);
        protoOutput->end(dimensionToken);

+6 −5
Original line number Diff line number Diff line
@@ -54,8 +54,9 @@ const int FIELD_ID_VALUE_METRICS = 7;
// for ValueMetricDataWrapper
const int FIELD_ID_DATA = 1;
// for ValueMetricData
const int FIELD_ID_DIMENSION = 1;
const int FIELD_ID_BUCKET_INFO = 2;
const int FIELD_ID_DIMENSION_IN_WHAT = 1;
const int FIELD_ID_DIMENSION_IN_CONDITION = 2;
const int FIELD_ID_BUCKET_INFO = 3;
// for ValueBucketInfo
const int FIELD_ID_START_BUCKET_NANOS = 1;
const int FIELD_ID_END_BUCKET_NANOS = 2;
@@ -80,7 +81,7 @@ ValueMetricProducer::ValueMetricProducer(const ConfigKey& key, const ValueMetric
    }

    mBucketSizeNs = bucketSizeMills * 1000000;
    mDimensions = metric.dimensions();
    mDimensions = metric.dimensions_in_what();

    if (metric.links().size() > 0) {
        mConditionLinks.insert(mConditionLinks.begin(), metric.links().begin(),
@@ -123,7 +124,7 @@ void ValueMetricProducer::onDumpReportLocked(const uint64_t dumpTimeNs, StatsLog
    auto value_metrics = report->mutable_value_metrics();
    for (const auto& pair : mPastBuckets) {
        ValueMetricData* metricData = value_metrics->add_data();
        *metricData->mutable_dimension() = pair.first.getDimensionsValue();
        *metricData->mutable_dimensions_in_what() = pair.first.getDimensionsValue();
        for (const auto& bucket : pair.second) {
            ValueBucketInfo* bucketInfo = metricData->add_bucket_info();
            bucketInfo->set_start_bucket_nanos(bucket.mBucketStartNs);
@@ -149,7 +150,7 @@ void ValueMetricProducer::onDumpReportLocked(const uint64_t dumpTimeNs,

        // First fill dimension.
        long long dimensionToken = protoOutput->start(
                FIELD_TYPE_MESSAGE | FIELD_COUNT_REPEATED | FIELD_ID_DIMENSION);
            FIELD_TYPE_MESSAGE | FIELD_ID_DIMENSION_IN_WHAT);
        writeDimensionsValueProtoToStream(hashableKey.getDimensionsValue(), protoOutput);
        protoOutput->end(dimensionToken);

Loading