Yuvipanda has uploaded a new change for review.
https://gerrit.wikimedia.org/r/60027
Change subject: Add graph of deleted uploads
......................................................................
Add graph of deleted uploads
Change-Id: I3866df427836a760d459faad91bafab91a81f399
---
M dashboards/reportcard.json
A datasources/deleted-uploads.json
A graphs/deleted-uploads.json
M mobile/config.yaml
A mobile/deleted-uploads.py
5 files changed, 284 insertions(+), 1 deletion(-)
git pull ssh://gerrit.wikimedia.org:29418/analytics/limn-mobile-data
refs/changes/27/60027/1
diff --git a/dashboards/reportcard.json b/dashboards/reportcard.json
index 5726dd3..9b3b36e 100644
--- a/dashboards/reportcard.json
+++ b/dashboards/reportcard.json
@@ -9,9 +9,10 @@
"unique-uploaders",
"30-day-uploads",
"successful-uploads",
+ "deleted-uploads",
+ "no-cats",
"successful-logins",
"error-uploads",
- "no-cats",
"share-attempts"
]
},
diff --git a/datasources/deleted-uploads.json b/datasources/deleted-uploads.json
new file mode 100644
index 0000000..e1e5bfe
--- /dev/null
+++ b/datasources/deleted-uploads.json
@@ -0,0 +1,34 @@
+{
+ "name": "Deleted Uploads per day",
+ "timespan": {
+ "start": "2013/02/18",
+ "step": "1d",
+ "end": "2013/03/19"
+ },
+ "url":
"http://stat1001.wikimedia.org/limn-public-data/mobile/datafiles/deleted-uploads.csv",
+ "notes": "",
+ "format": "csv",
+ "slug": null,
+ "shortName": "deleted-uploads",
+ "type": "timeseries",
+ "id": "deleted-uploads",
+ "columns": [
+ {
+ "type": "date",
+ "label": "date"
+ },
+ {
+ "type": "int",
+ "label": "Android"
+ },
+ {
+ "type": "int",
+ "label": "iOS"
+ },
+ {
+ "type": "int",
+ "label": "Web"
+ }
+ ],
+ "desc": ""
+}
diff --git a/graphs/deleted-uploads.json b/graphs/deleted-uploads.json
new file mode 100644
index 0000000..b85801a
--- /dev/null
+++ b/graphs/deleted-uploads.json
@@ -0,0 +1,155 @@
+{
+ "graph_version": "0.6.0",
+ "name": "Uploads deleted every day",
+ "notes": "",
+ "slug": "deleted-uploads",
+ "shortName": "",
+ "root": {
+ "scaling": "linear",
+ "nodeType": "canvas",
+ "minWidth": 750,
+ "minHeight": 500,
+ "height": 500,
+ "disabled": false,
+ "width": "auto",
+ "children": [
+ {
+ "disabled": false,
+ "nodeType": "axis",
+ "options": {
+ "tickFormat": "MMM YY",
+ "dimension": "x",
+ "orient": "bottom"
+ }
+ },
+ {
+ "disabled": false,
+ "nodeType": "axis",
+ "options": {
+ "tickFormat": "MMM YY",
+ "dimension": "y",
+ "orient": "left"
+ }
+ },
+ {
+ "disabled": false,
+ "nodeType": "grid",
+ "options": {
+ "ticks": 10,
+ "dimension": "x"
+ }
+ },
+ {
+ "disabled": false,
+ "nodeType": "grid",
+ "options": {
+ "ticks": 10,
+ "dimension": "y"
+ }
+ },
+ {
+ "disabled": false,
+ "nodeType": "zoom-brush",
+ "options": {
+ "allowY": true,
+ "allowX": true
+ }
+ },
+ {
+ "nodeType": "callout",
+ "target": "latest",
+ "disabled": false,
+ "steps": [
+ "1y",
+ "1M"
+ ],
+ "metricRef": 0,
+ "options": {
+ "deltaPercent": true,
+ "dateFormat": "MMM YYYY",
+ "colorDelta": true
+ }
+ },
+ {
+ "disabled": false,
+ "nodeType": "legend",
+ "options": {
+ "valueFormat": ",.2s",
+ "dateFormat": "MMM YYYY"
+ },
+ "label": "Aug 2012"
+ },
+ {
+ "disabled": false,
+ "nodeType": "line-group",
+ "options": {
+ "palette": "wmf_projects",
+ "scale": "log",
+ "stroke": {
+ "opacity": 1,
+ "width": 2
+ },
+ "dateFormat": "MMM YYYY"
+ },
+ "children": [
+ {
+ "disabled": false,
+ "index": 1,
+ "metric": {
+ "source_id": "deleted-uploads",
+ "type": "int",
+ "source_col": 2
+ },
+ "nodeType": "line",
+ "options": {
+ "stroke": {
+ "width": 2
+ },
+ "label": "Android",
+ "noLegend": false,
+ "dateFormat": "MMM YYYY"
+ }
+ },
+ {
+ "disabled": false,
+ "index": 2,
+ "metric": {
+ "source_id": "deleted-uploads",
+ "type": "int",
+ "source_col": 3
+ },
+ "nodeType": "line",
+ "options": {
+ "stroke": {
+ "width": 2
+ },
+ "label": "iOS",
+ "noLegend": false,
+ "dateFormat": "MMM YYYY"
+ }
+ },
+ {
+ "disabled": false,
+ "index": 3,
+ "metric": {
+ "source_id": "deleted-uploads",
+ "type": "int",
+ "source_col": 4
+ },
+ "nodeType": "line",
+ "options": {
+ "stroke": {
+ "width": 2
+ },
+ "label": "Web",
+ "noLegend": false,
+ "dateFormat": "MMM YYYY"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "id": "deleted-uploads",
+ "desc": ""
+}
diff --git a/mobile/config.yaml b/mobile/config.yaml
index e61f167..2df8f08 100644
--- a/mobile/config.yaml
+++ b/mobile/config.yaml
@@ -43,6 +43,8 @@
title: All time numbers
no-cats: # Only puppies
title: Percentage of files with a category added
+ deleted-uploads:
+ title: Mobile uploads deleted per day
performance-rendering:
title: Rendering time (ms)
diff --git a/mobile/deleted-uploads.py b/mobile/deleted-uploads.py
new file mode 100644
index 0000000..264d191
--- /dev/null
+++ b/mobile/deleted-uploads.py
@@ -0,0 +1,91 @@
+mobile_uploads_android_sql = u"""
+SELECT event_filename
+FROM {{tables.upload_attempts}}
+WHERE event_platform LIKE 'Android%'
+ AND event_result="success"
+ AND wiki="commonswiki"
+"""
+
+mobile_uploads_ios_sql = u"""
+SELECT event_filename
+FROM {{tables.upload_attempts}}
+WHERE event_platform LIKE 'iOS%'
+ AND event_result="success"
+ AND wiki="commonswiki"
+"""
+
+mobile_uploads_web_sql = u"""
+SELECT log_title
+FROM logging INNER JOIN tag_summary ON log_id = ts_log_id
+WHERE tag_summary.ts_tags = 'mobile edit'
+ AND log_action = 'upload'"""
+
+deleted_file_template = u"""
+SELECT
+ Date,
+ (SELECT COUNT(*) FROM logging WHERE
+ log_namespace = 6 AND
+ log_title IN (%s) AND
+ DATE(log_timestamp) = Date AND
+ log_action = 'delete'
+ ) AS Android,
+
+ (SELECT COUNT(*) FROM logging WHERE
+ log_namespace = 6 AND
+ log_title IN (%s) AND
+ DATE(log_timestamp) = Date AND
+ log_action = 'delete'
+ ) AS iOS,
+
+ (SELECT COUNT(*) FROM logging WHERE
+ log_namespace = 6 AND
+ log_title IN (%s) AND
+ DATE(log_timestamp) = Date AND
+ log_action = 'delete'
+ ) AS Web
+
+-- http://stackoverflow.com/a/6871220/365238
+FROM (
+ SELECT DATE_FORMAT(
+ ADDDATE(CURDATE() - INTERVAL {{ intervals.running_average }} - 1 DAY,
@num:=@num+1),
+ '%%%%Y-%%%%m-%%%%d'
+ ) AS Date
+ FROM logging, (SELECT @num:=-1) num LIMIT {{ intervals.running_average }}
+) AS Month;
+"""
+
+headers = ["date", "Android", "iOS", "Web"]
+
+def titles_for(dg, sql, src_db="el"):
+ titles = []
+ cur = dg.get_connection(src_db).cursor()
+
+ cur.execute(dg.render(sql))
+
+ for row in cur:
+ titles.append(row[0].replace("File:", ""))
+
+ print len(titles)
+ return titles
+
+def execute(dg):
+
+ results = []
+
+ android_titles = titles_for(dg, mobile_uploads_android_sql)
+ iOS_titles = titles_for(dg, mobile_uploads_ios_sql)
+ web_titles = titles_for(dg, mobile_uploads_web_sql, "commons")
+
+ deletes_sql = deleted_file_template % (
+ ('%s,' * len(android_titles))[:-1],
+ ('%s,' * len(iOS_titles))[:-1],
+ ('%s,' * len(web_titles))[:-1]
+ )
+ print deletes_sql
+
+ commons_cur = dg.get_connection('commons').cursor()
+ commons_cur.execute(dg.render(deletes_sql), android_titles + iOS_titles +
web_titles)
+
+ results = commons_cur.fetchall()
+
+ return (headers, results)
--
To view, visit https://gerrit.wikimedia.org/r/60027
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I3866df427836a760d459faad91bafab91a81f399
Gerrit-PatchSet: 1
Gerrit-Project: analytics/limn-mobile-data
Gerrit-Branch: master
Gerrit-Owner: Yuvipanda <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits