Merge changes from topic "protobuf3.5.2"

* changes:
  Adapt to google::protobuf::uint64 type change
  Convert statsd_test and statsd_benchmark to proto lite
This commit is contained in:
Colin Cross
2018-11-05 01:13:15 +00:00
committed by Gerrit Code Review
6 changed files with 49 additions and 9 deletions

View File

@@ -196,6 +196,10 @@ cc_test {
],
srcs: [
// atom_field_options.proto needs field_options.proto, but that is
// not included in libprotobuf-cpp-lite, so compile it here.
":libprotobuf-internal-protos",
"src/atom_field_options.proto",
"src/atoms.proto",
"src/stats_log.proto",
@@ -245,11 +249,11 @@ cc_test {
static_libs: ["libgmock"],
proto: {
type: "full",
type: "lite",
include_dirs: ["external/protobuf/src"],
},
shared_libs: ["libprotobuf-cpp-full"],
shared_libs: ["libprotobuf-cpp-lite"],
}
@@ -262,6 +266,10 @@ cc_benchmark {
defaults: ["statsd_defaults"],
srcs: [
// atom_field_options.proto needs field_options.proto, but that is
// not included in libprotobuf-cpp-lite, so compile it here.
":libprotobuf-internal-protos",
"src/atom_field_options.proto",
"src/atoms.proto",
"src/stats_log.proto",
@@ -276,7 +284,7 @@ cc_benchmark {
],
proto: {
type: "full",
type: "lite",
include_dirs: ["external/protobuf/src"],
},
@@ -294,7 +302,7 @@ cc_benchmark {
shared_libs: [
"libgtest_prod",
"libstatslog",
"libprotobuf-cpp-full",
"libprotobuf-cpp-lite",
],
}

View File

@@ -24,6 +24,7 @@
#include "subscriber/IncidentdReporter.h"
#include "subscriber/SubscriberReporter.h"
#include <inttypes.h>
#include <statslog.h>
#include <time.h>
@@ -221,7 +222,7 @@ void AnomalyTracker::declareAnomaly(const int64_t& timestampNs, const MetricDime
}
if (!mSubscriptions.empty()) {
ALOGI("An anomaly (%lld) %s has occurred! Informing subscribers.",
ALOGI("An anomaly (%" PRId64 ") %s has occurred! Informing subscribers.",
mAlert.id(), key.toString().c_str());
informSubscribers(key);
} else {

View File

@@ -34,6 +34,8 @@
#include "stats_util.h"
#include "statslog.h"
#include <inttypes.h>
using std::set;
using std::string;
using std::unordered_map;
@@ -532,7 +534,7 @@ bool initMetrics(const ConfigKey& key, const StatsdConfig& config,
for (int i = 0; i < config.no_report_metric_size(); ++i) {
const auto no_report_metric = config.no_report_metric(i);
if (metricMap.find(no_report_metric) == metricMap.end()) {
ALOGW("no_report_metric %lld not exist", no_report_metric);
ALOGW("no_report_metric %" PRId64 " not exist", no_report_metric);
return false;
}
noReportMetricIds.insert(no_report_metric);

View File

@@ -232,9 +232,9 @@ void dumpAsTextToFd(protos::GraphicsStatsProto* proto, int fd) {
return;
}
dprintf(fd, "\nPackage: %s", proto->package_name().c_str());
dprintf(fd, "\nVersion: %lld", proto->version_code());
dprintf(fd, "\nStats since: %lldns", proto->stats_start());
dprintf(fd, "\nStats end: %lldns", proto->stats_end());
dprintf(fd, "\nVersion: %" PRId64, proto->version_code());
dprintf(fd, "\nStats since: %" PRId64 "ns", proto->stats_start());
dprintf(fd, "\nStats end: %" PRId64 "ns", proto->stats_end());
auto summary = proto->summary();
dprintf(fd, "\nTotal frames rendered: %d", summary.total_frames());
dprintf(fd, "\nJanky frames: %d (%.2f%%)", summary.janky_frames(),

View File

@@ -96,6 +96,7 @@ public:
bool write(uint64_t fieldId, double val);
bool write(uint64_t fieldId, float val);
bool write(uint64_t fieldId, int val);
bool write(uint64_t fieldId, long val);
bool write(uint64_t fieldId, long long val);
bool write(uint64_t fieldId, bool val);
bool write(uint64_t fieldId, std::string val);

View File

@@ -130,6 +130,34 @@ ProtoOutputStream::write(uint64_t fieldId, int val)
return true;
}
bool
ProtoOutputStream::write(uint64_t fieldId, long val)
{
if (mCompact) return false;
const uint32_t id = (uint32_t)fieldId;
switch (fieldId & FIELD_TYPE_MASK) {
case FIELD_TYPE_DOUBLE: writeDoubleImpl(id, (double)val); break;
case FIELD_TYPE_FLOAT: writeFloatImpl(id, (float)val); break;
case FIELD_TYPE_INT64: writeInt64Impl(id, (long long)val); break;
case FIELD_TYPE_UINT64: writeUint64Impl(id, (uint64_t)val); break;
case FIELD_TYPE_INT32: writeInt32Impl(id, (int)val); break;
case FIELD_TYPE_FIXED64: writeFixed64Impl(id, (uint64_t)val); break;
case FIELD_TYPE_FIXED32: writeFixed32Impl(id, (uint32_t)val); break;
case FIELD_TYPE_UINT32: writeUint32Impl(id, (uint32_t)val); break;
case FIELD_TYPE_SFIXED32: writeSFixed32Impl(id, (int)val); break;
case FIELD_TYPE_SFIXED64: writeSFixed64Impl(id, (long long)val); break;
case FIELD_TYPE_SINT32: writeZigzagInt32Impl(id, (int)val); break;
case FIELD_TYPE_SINT64: writeZigzagInt64Impl(id, (long long)val); break;
case FIELD_TYPE_ENUM: writeEnumImpl(id, (int)val); break;
case FIELD_TYPE_BOOL: writeBoolImpl(id, val != 0); break;
default:
ALOGW("Field type %d is not supported when writing long val.",
(int)((fieldId & FIELD_TYPE_MASK) >> FIELD_TYPE_SHIFT));
return false;
}
return true;
}
bool
ProtoOutputStream::write(uint64_t fieldId, long long val)
{