Dr0ptp4kt has uploaded a new change for review.
https://gerrit.wikimedia.org/r/141079
Change subject: Log (hopefully) recoverable connection errors.
......................................................................
Log (hopefully) recoverable connection errors.
Change-Id: Iae755e0f802cea8ee47c97402362f01e94a056dc
---
A wikipedia/src/main/java/org/wikipedia/analytics/ConnectionIssueFunnel.java
M wikipedia/src/main/java/org/wikipedia/analytics/EventLoggingEvent.java
M wikipedia/src/main/java/org/wikipedia/page/PageViewFragment.java
3 files changed, 42 insertions(+), 3 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia
refs/changes/79/141079/1
diff --git
a/wikipedia/src/main/java/org/wikipedia/analytics/ConnectionIssueFunnel.java
b/wikipedia/src/main/java/org/wikipedia/analytics/ConnectionIssueFunnel.java
new file mode 100644
index 0000000..c66b95a
--- /dev/null
+++ b/wikipedia/src/main/java/org/wikipedia/analytics/ConnectionIssueFunnel.java
@@ -0,0 +1,24 @@
+package org.wikipedia.analytics;
+
+import org.wikipedia.WikipediaApp;
+
+public class ConnectionIssueFunnel extends Funnel {
+ private static final String SCHEMA_NAME = "MobileWikiAppStuffHappens";
+ private static final int REVISION = 8955468;
+
+ public ConnectionIssueFunnel(WikipediaApp app) {
+ super(app, SCHEMA_NAME, REVISION);
+ }
+
+ protected void log(Object... params) {
+ log(getApp().getPrimarySite(), params);
+ }
+
+ public void logConnectionIssue(String failedEndpoint, String
applicationContext) {
+ log(
+ "failedEndpoint", failedEndpoint,
+ "applicationContext", applicationContext
+ );
+ }
+
+}
diff --git
a/wikipedia/src/main/java/org/wikipedia/analytics/EventLoggingEvent.java
b/wikipedia/src/main/java/org/wikipedia/analytics/EventLoggingEvent.java
index 13cee80..aeb13a4 100644
--- a/wikipedia/src/main/java/org/wikipedia/analytics/EventLoggingEvent.java
+++ b/wikipedia/src/main/java/org/wikipedia/analytics/EventLoggingEvent.java
@@ -5,6 +5,7 @@
import com.github.kevinsawicki.http.HttpRequest;
import org.json.JSONException;
import org.json.JSONObject;
+import org.wikipedia.WikipediaApp;
import org.wikipedia.concurrency.SaneAsyncTask;
/**
@@ -62,7 +63,8 @@
@Override
public Integer performTask() throws Throwable {
- String dataURL = Uri.parse(EVENTLOG_URL)
+ String elUrl = WikipediaApp.FAILS < 2 ? EVENTLOG_URL :
EVENTLOG_URL.replace("https", "http");
+ String dataURL = Uri.parse(elUrl)
.buildUpon().query(data.toString())
.build().toString();
Log.d("Wikipedia", "hitting " + dataURL);
diff --git a/wikipedia/src/main/java/org/wikipedia/page/PageViewFragment.java
b/wikipedia/src/main/java/org/wikipedia/page/PageViewFragment.java
index c509239..8bd906b 100644
--- a/wikipedia/src/main/java/org/wikipedia/page/PageViewFragment.java
+++ b/wikipedia/src/main/java/org/wikipedia/page/PageViewFragment.java
@@ -16,6 +16,7 @@
import org.mediawiki.api.json.ApiException;
import org.mediawiki.api.json.ApiResult;
import org.mediawiki.api.json.RequestBuilder;
+import org.wikipedia.analytics.ConnectionIssueFunnel;
import org.wikipedia.views.ObservableWebView;
import org.wikipedia.PageTitle;
import org.wikipedia.QuickReturnHandler;
@@ -131,6 +132,7 @@
private View quickReturnBar;
private SavedPagesFunnel savedPagesFunnel;
+ private ConnectionIssueFunnel connectionIssueFunnel;
// Pass in the id rather than the View object itself for the quickReturn
bar, to help it survive rotates
public PageViewFragment(int pagerIndex, PageTitle title, HistoryEntry
historyEntry, int quickReturnBarId) {
@@ -295,6 +297,7 @@
searchArticlesFragment.setTocEnabled(false);
savedPagesFunnel =
app.getFunnelManager().getSavedPagesFunnel(title.getSite());
+ connectionIssueFunnel = new ConnectionIssueFunnel(app);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
// Enable Pinch-Zoom
@@ -542,9 +545,19 @@
if (++WikipediaApp.FAILS < 2) {
WikipediaApp.FALLBACK = true;
showNetworkError();
- return;
+ try {
+ connectionIssueFunnel.logConnectionIssue("mdot",
"commonSectionFetchOnCatch");
+ } catch (Exception e) {
+ // meh
+ }
+ } else {
+ showNetworkError();
+ try {
+ connectionIssueFunnel.logConnectionIssue("desktop",
"commonSectionFetchOnCatch");
+ } catch (Exception e) {
+ // again, meh
+ }
}
- showNetworkError();
} else if (caught instanceof ApiException) {
showNetworkError();
} else {
--
To view, visit https://gerrit.wikimedia.org/r/141079
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Iae755e0f802cea8ee47c97402362f01e94a056dc
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Dr0ptp4kt <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits