Skip to content

GitLab

    • GitLab: the DevOps platform
    • Explore GitLab
    • Install GitLab
    • How GitLab compares
    • Get started
    • GitLab docs
    • GitLab Learn
  • Pricing
  • Talk to an expert
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
    • Switch to GitLab Next
    • Menu
    Projects Groups Snippets
  • Sign up now
  • Login
  • Sign in / Register
  • Client Client
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 513
    • Issues 513
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 42
    • Merge requests 42
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Releases
  • External wiki
    • External wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • F-Droid
  • ClientClient
  • Merge requests
  • !985

Add test fdroid metrics aka "popularity contest"

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Hans-Christoph Steiner requested to merge eighthave/fdroidclient:add-test-fdroid-metrics into master Feb 25, 2021
  • Overview 5
  • Commits 6
  • Pipelines 5
  • 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
Time tracking
Source branch: add-test-fdroid-metrics