Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
    • Switch to GitLab Next
  • Sign in / Register
Client
Client
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 445
    • Issues 445
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 29
    • Merge requests 29
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Wiki
    • Wiki
  • External wiki
    • External wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • F-Droid
  • ClientClient
  • Merge requests
  • !985

Merged
Created Feb 25, 2021 by Hans-Christoph Steiner@eighthaveOwner

Add test fdroid metrics aka "popularity contest"

  • Overview 5
  • Commits 6
  • Pipelines 6
  • Changes 19

In #396 (closed), we sketched out what a good metrics system for F-Droid would be. It should never include any Personally Identifiable Information (PII) like telephone numbers, IP Addresses, MAC, SSID, IMSI, IMEI, user accounts, etc. It is opt-in, currently it must be enabled by first enabling "Expert Mode", then "Keep Install History", then "Send to F-Droid Metrics". There is a report viewer in the "Install History" viewer.

I developed this in conjunction with Guardian Project's Clean Insights project for private, ethical metrics. At its core, it gathers information from the previous week (e.g. the most recent completed week), and puts that into a JSON report. That JSON is then submitted to https://metrics.cleaninsights.org which is a server run by Guardian Project which contains two key pieces:

  • Clean Insights Matomo Proxy (CIMP)
  • Matomo analytics software

The CIMP is there to filter out things that should not be gathered, like IP addresses. It then submits the sanitized data to Matomo, which generates views on the data.

@TheLastProject @uniqx @n8fr8 @k3b @sorenstoutner @cde @danuker @licaon-kter @ByteHamster @pserwylo

Here's a real report:

{
  "events" : [ {
    "action" : "isPrivilegedInstallerEnabled",
    "category" : "device",
    "name" : "true",
    "period_end" : 1613001600,
    "period_start" : 1612396800,
    "times" : 1
  }, {
    "action" : "Build.VERSION.SDK_INT",
    "category" : "device",
    "name" : "30",
    "period_end" : 1613001600,
    "period_start" : 1612396800,
    "times" : 1
  }, {
    "action" : "Build.SUPPORTED_ABIS",
    "category" : "device",
    "name" : "[arm64-v8a, armeabi-v7a, armeabi]",
    "period_end" : 1613001600,
    "period_start" : 1612396800,
    "times" : 1
  }, {
    "action" : "PackageInfo.firstInstall",
    "category" : "APK",
    "name" : "at.atrust.tanapp",
    "period_end" : 1613001600,
    "period_start" : 1612396800,
    "times" : 1,
    "value" : "71"
  }, {
    "action" : "org.fdroid.fdroid.privileged",
    "category" : "getInstallerPackageName",
    "name" : "at.atrust.tanapp",
    "period_end" : 1613001600,
    "period_start" : 1612396800,
    "times" : 1
  }, {
    "action" : "org.fdroid.fdroid.privileged",
    "category" : "getInstallerPackageName",
    "name" : "com.jarsilio.android.scrambledeggsif",
    "period_end" : 1613606400,
    "period_start" : 1613001600,
    "times" : 1
  }, {
    "action" : "org.fdroid.fdroid.privileged",
    "category" : "getInstallerPackageName",
    "name" : "de.schildbach.oeffi",
    "period_end" : 1613606400,
    "period_start" : 1613001600,
    "times" : 1
  }, {
    "action" : "org.fdroid.fdroid.privileged",
    "category" : "getInstallerPackageName",
    "name" : "im.vector.app",
    "period_end" : 1613001600,
    "period_start" : 1612396800,
    "times" : 1
  }, {
    "action" : "org.fdroid.fdroid.privileged",
    "category" : "getInstallerPackageName",
    "name" : "net.osmand.plus",
    "period_end" : 1613606400,
    "period_start" : 1613001600,
    "times" : 1
  }, {
    "action" : "org.fdroid.fdroid.privileged",
    "category" : "getInstallerPackageName",
    "name" : "org.fdroid.fdroid",
    "period_end" : 1613001600,
    "period_start" : 1612396800,
    "times" : 1
  }, {
    "action" : "org.fdroid.fdroid.privileged",
    "category" : "getInstallerPackageName",
    "name" : "org.jitsi.meet",
    "period_end" : 1613001600,
    "period_start" : 1612396800,
    "times" : 1
  }, {
    "action" : "org.fdroid.fdroid.privileged",
    "category" : "getInstallerPackageName",
    "name" : "org.mozilla.klar",
    "period_end" : 1613606400,
    "period_start" : 1613001600,
    "times" : 1
  } ],
  "idsite" : 3,
  "lang" : "de",
  "ua" : "F-Droid 1.12-alpha0-94-g3a27f37a8-debug"
}
Assignee
Assign to
Reviewer
Request review from
1.12
Milestone
1.12 (Past due)
Assign milestone
Time tracking
Source branch: add-test-fdroid-metrics