mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-17 23:35:34 +00:00
Bug 807872 - Add telemetry probes for database seizes. r=gcp
This commit is contained in:
parent
0fce3534e5
commit
16397d8a59
@ -223,6 +223,7 @@ abstract public class BrowserApp extends GeckoApp
|
||||
registerEventListener("Feedback:OpenPlayStore");
|
||||
registerEventListener("Feedback:MaybeLater");
|
||||
registerEventListener("Dex:Load");
|
||||
registerEventListener("Telemetry:Gather");
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -237,6 +238,7 @@ abstract public class BrowserApp extends GeckoApp
|
||||
unregisterEventListener("Feedback:OpenPlayStore");
|
||||
unregisterEventListener("Feedback:MaybeLater");
|
||||
unregisterEventListener("Dex:Load");
|
||||
unregisterEventListener("Telemetry:Gather");
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -428,6 +430,11 @@ abstract public class BrowserApp extends GeckoApp
|
||||
menu.findItem(R.id.settings).setEnabled(true);
|
||||
}
|
||||
});
|
||||
} else if (event.equals("Telemetry:Gather")) {
|
||||
Telemetry.HistogramAdd("PLACES_PAGES_COUNT", BrowserDB.getCount(getContentResolver(), "history"));
|
||||
Telemetry.HistogramAdd("PLACES_BOOKMARKS_COUNT", BrowserDB.getCount(getContentResolver(), "bookmarks"));
|
||||
Telemetry.HistogramAdd("FENNEC_FAVICONS_COUNT", BrowserDB.getCount(getContentResolver(), "favicons"));
|
||||
Telemetry.HistogramAdd("FENNEC_THUMBNAILS_COUNT", BrowserDB.getCount(getContentResolver(), "thumbnails"));
|
||||
} else if (event.equals("Dex:Load")) {
|
||||
String zipFile = message.getString("zipfile");
|
||||
String implClass = message.getString("impl");
|
||||
|
@ -90,6 +90,8 @@ public class BrowserDB {
|
||||
public void registerBookmarkObserver(ContentResolver cr, ContentObserver observer);
|
||||
|
||||
public void registerHistoryObserver(ContentResolver cr, ContentObserver observer);
|
||||
|
||||
public int getCount(ContentResolver cr, String database);
|
||||
}
|
||||
|
||||
static {
|
||||
@ -227,4 +229,8 @@ public class BrowserDB {
|
||||
public static void unregisterContentObserver(ContentResolver cr, ContentObserver observer) {
|
||||
cr.unregisterContentObserver(observer);
|
||||
}
|
||||
|
||||
public static int getCount(ContentResolver cr, String database) {
|
||||
return sDb.getCount(cr, database);
|
||||
}
|
||||
}
|
||||
|
@ -177,6 +177,38 @@ public class LocalBrowserDB implements BrowserDB.BrowserDBIface {
|
||||
return new LocalDBCursor(c);
|
||||
}
|
||||
|
||||
public int getCount(ContentResolver cr, String database) {
|
||||
Cursor cursor = null;
|
||||
int count = 0;
|
||||
String constraint = null;
|
||||
try {
|
||||
Uri uri = null;
|
||||
if ("history".equals(database)) {
|
||||
uri = mHistoryUriWithProfile;
|
||||
constraint = Combined.VISITS + " > 0";
|
||||
} else if ("bookmarks".equals(database)) {
|
||||
uri = mBookmarksUriWithProfile;
|
||||
// ignore folders, tags, keywords, separators, etc.
|
||||
constraint = Bookmarks.TYPE + " = " + Bookmarks.TYPE_BOOKMARK;
|
||||
} else if ("thumbnails".equals(database)) {
|
||||
uri = mImagesUriWithProfile;
|
||||
constraint = Combined.THUMBNAIL + " IS NOT NULL";
|
||||
} else if ("favicons".equals(database)) {
|
||||
uri = mImagesUriWithProfile;
|
||||
constraint = Combined.FAVICON + " IS NOT NULL";
|
||||
}
|
||||
if (uri != null) {
|
||||
cursor = cr.query(uri, null, constraint, null, null);
|
||||
count = cursor.getCount();
|
||||
}
|
||||
} finally {
|
||||
if (cursor != null)
|
||||
cursor.close();
|
||||
}
|
||||
debug("Got count " + count + " for " + database);
|
||||
return count;
|
||||
}
|
||||
|
||||
public Cursor filter(ContentResolver cr, CharSequence constraint, int limit) {
|
||||
return filterAllSites(cr,
|
||||
new String[] { Combined._ID,
|
||||
|
@ -184,6 +184,7 @@ var BrowserApp = {
|
||||
Services.obs.addObserver(this, "Passwords:Init", false);
|
||||
Services.obs.addObserver(this, "FormHistory:Init", false);
|
||||
Services.obs.addObserver(this, "ToggleProfiling", false);
|
||||
Services.obs.addObserver(this, "gather-telemetry", false);
|
||||
|
||||
Services.obs.addObserver(this, "sessionstore-state-purge-complete", false);
|
||||
|
||||
@ -1145,6 +1146,8 @@ var BrowserApp = {
|
||||
} else {
|
||||
profiler.StartProfiler(100000, 25, ["stackwalk"], 1);
|
||||
}
|
||||
} else if (aTopic == "gather-telemetry") {
|
||||
sendMessageToJava({ gecko: { type: "Telemetry:Gather" }});
|
||||
} else if (aTopic == "Session:Restore") {
|
||||
let data = JSON.parse(aData);
|
||||
this.restoreSession(data.restoringOOM, data.sessionString);
|
||||
|
@ -1754,6 +1754,20 @@
|
||||
"n_buckets": 10,
|
||||
"description": "PLACES: Number of keywords"
|
||||
},
|
||||
"FENNEC_FAVICONS_COUNT": {
|
||||
"kind": "exponential",
|
||||
"high": "2000",
|
||||
"n_buckets": 10,
|
||||
"cpp_guard": "ANDROID",
|
||||
"description": "PLACES: Number of favicons stored"
|
||||
},
|
||||
"FENNEC_THUMBNAILS_COUNT": {
|
||||
"kind": "exponential",
|
||||
"high": "2000",
|
||||
"n_buckets": 10,
|
||||
"cpp_guard": "ANDROID",
|
||||
"description": "Fennec: Number of thumbnails stored"
|
||||
},
|
||||
"PLACES_SORTED_BOOKMARKS_PERC": {
|
||||
"kind": "linear",
|
||||
"high": "100",
|
||||
|
Loading…
Reference in New Issue
Block a user