Lines Matching refs:proto

44 static bool mergeProfileDataIntoProto(protos::GraphicsStatsProto* proto,
47 static void dumpAsTextToFd(protos::GraphicsStatsProto* proto, int outFd);
156 bool mergeProfileDataIntoProto(protos::GraphicsStatsProto* proto, const std::string& package,
159 if (proto->stats_start() == 0 || proto->stats_start() > startTime) {
160 proto->set_stats_start(startTime);
162 if (proto->stats_end() == 0 || proto->stats_end() < endTime) {
163 proto->set_stats_end(endTime);
165 proto->set_package_name(package);
166 proto->set_version_code(versionCode);
167 auto summary = proto->mutable_summary();
183 if (proto->histogram_size() == 0) {
184 proto->mutable_histogram()->Reserve(sHistogramSize);
186 } else if (proto->histogram_size() != sHistogramSize) {
187 ALOGE("Histogram size mismatch, proto is %d expected %d", proto->histogram_size(),
198 bucket = proto->add_histogram();
201 bucket = proto->mutable_histogram(index);
215 static int32_t findPercentile(protos::GraphicsStatsProto* proto, int percentile) {
216 int32_t pos = percentile * proto->summary().total_frames() / 100;
217 int32_t remaining = proto->summary().total_frames() - pos;
218 for (auto it = proto->histogram().rbegin(); it != proto->histogram().rend(); ++it) {
227 void dumpAsTextToFd(protos::GraphicsStatsProto* proto, int fd) {
229 if (proto->package_name().empty() || !proto->has_summary()) {
231 proto->package_name().c_str(), proto->has_summary());
234 dprintf(fd, "\nPackage: %s", proto->package_name().c_str());
235 dprintf(fd, "\nVersion: %lld", proto->version_code());
236 dprintf(fd, "\nStats since: %lldns", proto->stats_start());
237 dprintf(fd, "\nStats end: %lldns", proto->stats_end());
238 auto summary = proto->summary();
242 dprintf(fd, "\n50th percentile: %dms", findPercentile(proto, 50));
243 dprintf(fd, "\n90th percentile: %dms", findPercentile(proto, 90));
244 dprintf(fd, "\n95th percentile: %dms", findPercentile(proto, 95));
245 dprintf(fd, "\n99th percentile: %dms", findPercentile(proto, 99));
253 for (const auto& it : proto->histogram()) {
270 // should always fully-initialize the proto
272 ALOGE("proto initialization error %s", statsProto.InitializationErrorString().c_str());
313 protos::GraphicsStatsServiceDumpProto& proto() { return mProto; }
343 dump->proto().add_stats()->CopyFrom(statsProto);
355 dump->proto().add_stats()->CopyFrom(statsProto);
364 dump->proto().SerializeToZeroCopyStream(&stream);