Changes between Version 5 and Version 12 of Ticket #394


Ignore:
Timestamp:
10/07/2014 03:04:49 PM (6 years ago)
Author:
trev
Comment:

I've changed the description to specify the exact format for the data to be sent. Some notes:

  • It seems that we don't need the overall count, per-domain data should be sufficient.
  • I added a timeSincePush field so that the server knows which time interval the data refers to.
  • I also added some fields indicating add-on and platform versions - we will need this metadata to investigate issues.

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #394

    • Property Status changed from new to reviewing
    • Property Platform changed from to Firefox
    • Property Cc sebastian famlam added; sebastian@… removed
    • Property Priority changed from Unknown to P2
    • Property Sensitive unset
    • Property Keywords 2014q4 added
  • Ticket #394 – Description

    v5 v12  
    77Regardless of that setting, no data must be collected while in private browsing mode. And collected data must be discarded when the history is cleared. 
    88 
    9 For now following metrics should be collected: 
    10 * Number of hits per filter 
    11 * Date of last hit per filter 
    12 * Number of hits per domain 
    13 * Subscription source of the filters 
    14 * Whether the filters matched on a first- or third-party domain 
     9Right now, a total hit count and date of last hit are already being stored for each filter. In addition to that, we want to store a per-domain hit count and date of last hit - only if the filter hit statistics setting is enabled. 
     10 
     11Once a week (we might tweak that later) the client should send this data to our server: 
     12 
     13{{{ 
     14{ 
     15  "version": 1,               // For the server to recognize outdated clients 
     16  "timeSincePush": 12345,     // Time interval (milliseconds) since previous push 
     17  "addonName": "adblockplus", // see require("info") 
     18  "addonVersion": "2.3.4",    // see require("info") 
     19  "application": "firefox",   // see require("info") 
     20  "applicationVersion": "31", // see require("info") 
     21  "platform": "gecko",        // see require("info") 
     22  "platformVersion": "31",    // see require("info") 
     23  "filters": { 
     24    "||example.com^": { 
     25      "example.com": {"hits": 12, "latest": 123456789}, 
     26      "example.org": {"hits": 4, "latest": 987654321} 
     27    }, 
     28    "example.com##foo > bar": { 
     29      ... 
     30    } 
     31  } 
     32} 
     33}}} 
     34Important: the data should include only filters from filter subscriptions, not the user's own filters. After successfully sending that data to the server the client should clear all the data it saved and start collecting statistics from scratch.