Merge "use MediaAnalyticsItem::create() instead of new"

gugelfrei
TreeHugger Robot 6 years ago committed by Android (Google) Code Review
commit 83dc265bde

@ -1556,22 +1556,22 @@ void DrmHal::writeByteArray(Parcel &obj, hidl_vec<uint8_t> const &vec)
void DrmHal::reportFrameworkMetrics() const void DrmHal::reportFrameworkMetrics() const
{ {
MediaAnalyticsItem item("mediadrm"); std::unique_ptr<MediaAnalyticsItem> item(MediaAnalyticsItem::create("mediadrm"));
item.generateSessionID(); item->generateSessionID();
item.setPkgName(mMetrics.GetAppPackageName().c_str()); item->setPkgName(mMetrics.GetAppPackageName().c_str());
String8 vendor; String8 vendor;
String8 description; String8 description;
status_t result = getPropertyStringInternal(String8("vendor"), vendor); status_t result = getPropertyStringInternal(String8("vendor"), vendor);
if (result != OK) { if (result != OK) {
ALOGE("Failed to get vendor from drm plugin: %d", result); ALOGE("Failed to get vendor from drm plugin: %d", result);
} else { } else {
item.setCString("vendor", vendor.c_str()); item->setCString("vendor", vendor.c_str());
} }
result = getPropertyStringInternal(String8("description"), description); result = getPropertyStringInternal(String8("description"), description);
if (result != OK) { if (result != OK) {
ALOGE("Failed to get description from drm plugin: %d", result); ALOGE("Failed to get description from drm plugin: %d", result);
} else { } else {
item.setCString("description", description.c_str()); item->setCString("description", description.c_str());
} }
std::string serializedMetrics; std::string serializedMetrics;
@ -1582,9 +1582,9 @@ void DrmHal::reportFrameworkMetrics() const
std::string b64EncodedMetrics = toBase64StringNoPad(serializedMetrics.data(), std::string b64EncodedMetrics = toBase64StringNoPad(serializedMetrics.data(),
serializedMetrics.size()); serializedMetrics.size());
if (!b64EncodedMetrics.empty()) { if (!b64EncodedMetrics.empty()) {
item.setCString("serialized_metrics", b64EncodedMetrics.c_str()); item->setCString("serialized_metrics", b64EncodedMetrics.c_str());
} }
if (!item.selfrecord()) { if (!item->selfrecord()) {
ALOGE("Failed to self record framework metrics"); ALOGE("Failed to self record framework metrics");
} }
} }

@ -34,17 +34,17 @@ constexpr char kSerializedMetricsField[] = "serialized_metrics";
status_t reportVendorMetrics(const std::string& metrics, status_t reportVendorMetrics(const std::string& metrics,
const String8& name, const String8& name,
const String8& appPackageName) { const String8& appPackageName) {
MediaAnalyticsItem analyticsItem(name.c_str()); std::unique_ptr<MediaAnalyticsItem> analyticsItem(MediaAnalyticsItem::create(name.c_str()));
analyticsItem.generateSessionID(); analyticsItem->generateSessionID();
std::string app_package_name(appPackageName.c_str(), appPackageName.size()); std::string app_package_name(appPackageName.c_str(), appPackageName.size());
analyticsItem.setPkgName(app_package_name); analyticsItem->setPkgName(app_package_name);
if (metrics.size() > 0) { if (metrics.size() > 0) {
analyticsItem.setCString(kSerializedMetricsField, metrics.c_str()); analyticsItem->setCString(kSerializedMetricsField, metrics.c_str());
} }
if (!analyticsItem.selfrecord()) { if (!analyticsItem->selfrecord()) {
ALOGE("selfrecord() returned false. sessioId %" PRId64, analyticsItem.getSessionID()); ALOGE("selfrecord() returned false. sessioId %" PRId64, analyticsItem->getSessionID());
} }
return OK; return OK;

@ -719,7 +719,7 @@ private:
private: private:
class MediaMetrics { class MediaMetrics {
public: public:
MediaMetrics() : mAnalyticsItem(new MediaAnalyticsItem("audiorecord")), MediaMetrics() : mAnalyticsItem(MediaAnalyticsItem::create("audiorecord")),
mCreatedNs(systemTime(SYSTEM_TIME_REALTIME)), mCreatedNs(systemTime(SYSTEM_TIME_REALTIME)),
mStartedNs(0), mDurationNs(0), mCount(0), mStartedNs(0), mDurationNs(0), mCount(0),
mLastError(NO_ERROR) { mLastError(NO_ERROR) {

@ -1227,7 +1227,7 @@ private:
private: private:
class MediaMetrics { class MediaMetrics {
public: public:
MediaMetrics() : mAnalyticsItem(new MediaAnalyticsItem("audiotrack")) { MediaMetrics() : mAnalyticsItem(MediaAnalyticsItem::create("audiotrack")) {
} }
~MediaMetrics() { ~MediaMetrics() {
// mAnalyticsItem alloc failure will be flagged in the constructor // mAnalyticsItem alloc failure will be flagged in the constructor

@ -82,16 +82,19 @@ class MediaAnalyticsItem {
PROTO_LAST = PROTO_V1, PROTO_LAST = PROTO_V1,
}; };
private:
// use the ::create() method instead
MediaAnalyticsItem();
MediaAnalyticsItem(Key);
MediaAnalyticsItem(const MediaAnalyticsItem&);
MediaAnalyticsItem &operator=(const MediaAnalyticsItem&);
public: public:
// so clients do not need to know size details
static MediaAnalyticsItem* create(Key key); static MediaAnalyticsItem* create(Key key);
static MediaAnalyticsItem* create(); static MediaAnalyticsItem* create();
// access functions for the class // access functions for the class
MediaAnalyticsItem();
MediaAnalyticsItem(Key);
~MediaAnalyticsItem(); ~MediaAnalyticsItem();
// SessionID ties multiple submissions for same key together // SessionID ties multiple submissions for same key together

@ -202,7 +202,7 @@ void StagefrightRecorder::flushAndResetMetrics(bool reinitialize) {
} }
mAnalyticsDirty = false; mAnalyticsDirty = false;
if (reinitialize) { if (reinitialize) {
mAnalyticsItem = new MediaAnalyticsItem(kKeyRecorder); mAnalyticsItem = MediaAnalyticsItem::create(kKeyRecorder);
} }
} }

@ -97,7 +97,7 @@ NuPlayerDriver::NuPlayerDriver(pid_t pid)
mMediaClock->init(); mMediaClock->init();
// set up an analytics record // set up an analytics record
mAnalyticsItem = new MediaAnalyticsItem(kKeyPlayer); mAnalyticsItem = MediaAnalyticsItem::create(kKeyPlayer);
mLooper->start( mLooper->start(
false, /* runOnCallingThread */ false, /* runOnCallingThread */
@ -635,7 +635,7 @@ void NuPlayerDriver::logMetrics(const char *where) {
// re-init in case we prepare() and start() again. // re-init in case we prepare() and start() again.
delete mAnalyticsItem ; delete mAnalyticsItem ;
mAnalyticsItem = new MediaAnalyticsItem("nuplayer"); mAnalyticsItem = MediaAnalyticsItem::create("nuplayer");
if (mAnalyticsItem) { if (mAnalyticsItem) {
mAnalyticsItem->setUid(mClientUid); mAnalyticsItem->setUid(mClientUid);
} }

@ -168,7 +168,7 @@ bool sendToMediaMetrics(const PerformanceData& data)
return false; return false;
} }
std::unique_ptr<MediaAnalyticsItem> item(new MediaAnalyticsItem("audiothread")); std::unique_ptr<MediaAnalyticsItem> item(MediaAnalyticsItem::create("audiothread"));
const Histogram &workHist = data.workHist; const Histogram &workHist = data.workHist;
if (workHist.totalCount() > 0) { if (workHist.totalCount() > 0) {

@ -550,7 +550,7 @@ MediaCodec::~MediaCodec() {
void MediaCodec::initAnalyticsItem() { void MediaCodec::initAnalyticsItem() {
if (mAnalyticsItem == NULL) { if (mAnalyticsItem == NULL) {
mAnalyticsItem = new MediaAnalyticsItem(kCodecKeyName); mAnalyticsItem = MediaAnalyticsItem::create(kCodecKeyName);
} }
mLatencyHist.setup(kLatencyHistBuckets, kLatencyHistWidth, kLatencyHistFloor); mLatencyHist.setup(kLatencyHistBuckets, kLatencyHistWidth, kLatencyHistFloor);

@ -49,7 +49,7 @@ RemoteMediaExtractor::RemoteMediaExtractor(
mAnalyticsItem = nullptr; mAnalyticsItem = nullptr;
if (MEDIA_LOG) { if (MEDIA_LOG) {
mAnalyticsItem = new MediaAnalyticsItem(kKeyExtractor); mAnalyticsItem = MediaAnalyticsItem::create(kKeyExtractor);
// track the container format (mpeg, aac, wvm, etc) // track the container format (mpeg, aac, wvm, etc)
size_t ntracks = extractor->countTracks(); size_t ntracks = extractor->countTracks();

@ -525,7 +525,7 @@ status_t AudioPolicyService::startInput(audio_port_handle_t portId)
static constexpr char kAudioPolicyActiveDevice[] = static constexpr char kAudioPolicyActiveDevice[] =
"android.media.audiopolicy.active.device"; "android.media.audiopolicy.active.device";
MediaAnalyticsItem *item = new MediaAnalyticsItem(kAudioPolicy); MediaAnalyticsItem *item = MediaAnalyticsItem::create(kAudioPolicy);
if (item != NULL) { if (item != NULL) {
item->setInt32(kAudioPolicyStatus, status); item->setInt32(kAudioPolicyStatus, status);

Loading…
Cancel
Save