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

Reply via email to