Snap usage metrics now available on the command line

by Igor Ljubuncic on 20 August 2021

For years now, developers and publishers could view how well their snaps are performing in terms of usage and popularity through the Snap Store Web interface, using the metrics tab. This functionality allows people to examine the cause and effect of their work, like software updates, marketing campaigns, or other events. But it requires manual intervention.

A new capability, currently under development and available in the edge channel of Snapcraft, allows developers and publishers to check the usage metrics for their snaps from the command line. This means that actions can be scripted, and it is possible to establish trends based on collected data.

Snapping on the edge

You will need to refresh Snapcraft from the edge channel to be able to use this new functionality. Moreover, you have to login on the command line, using your Snap Store credentials. Without those, you will not be able to get any information. Once logged in, you can view data for any snap that you own or have been added to as a collaborator.

snapcraft login

Enter your Ubuntu One e-mail address and password.

If you do not have an Ubuntu One account, you can create one at https://snapcraft.io/account

Email:
Password:
Second-factor auth:

Login successful.

Explore the data, make decisions

The usage is fairly simple, and yet, you have quite a bit of flexibility. The minimal required parameters include the name of the snap, the name of the metric you want polled, and the output format, which can be either in JSON or a simple table. You can also add the start and end dates – this can be rather useful if you have your own polling window, or if you want to examine the snap metrics against specific milestones. For instance:

snapcraft metrics snapppp --name installed_base_by_version --format table
Version  2021-08-18
19.08.3  552
21.08.0  8

The full syntax is available through the metrics documentation, including the list of currently supported metrics. You can list the data by country, application version, or operating system, all of which can give you insight into how your snap is behaving, and if you need to make any adjustments to your development or publication strategy.

In JSON format, the above output would look something like:

snapcraft metrics kompozer --name installed_base_by_operating_system --format json
{
  "buckets": [
    "2021-08-19"
  ],
  "metric_name": "installed_base_by_operating_system",
  "series": [
    {
        "name": "antergos/",
        "values": [
        1
        ]
    },
    {
        "name": "arch/",
        "values": [
          4
        ]
    },
...

Now, if you try to access a snap outside your control, you will see an error:

No permissions for snap.


Recommended resolution:
Ensure the snap name and credentials are correct.

Summary

Command-line metrics can be a powerful tool in the hands of developers. You can create a full hands-off workflow, including the collection of data, and any subsequent analysis. You can create triggers or alerts that will inform you of any actions you need to undertake. A sudden surge in usage may indicate a successful campaign, like having your snap featured in the Snap Store (can easily lead to x2-9 increase in active usage within a few weeks). Or it may correlate to an industry trend, like the growth of usage of VoIP and messaging tools due to changes in a geopolitical situation. Conversely, you may see a drop in usage, affected by an unpopular release, bugs or similar.

If you have any comments or suggestions on this topic, we’d like to hear from you. Since CLI metrics are still in the experimental phase, your feedback could help us improve the product, or implement additional capabilities. Please join our forum and let us know what you think. 

Photo by Nick Hillier on Unsplash.

Newsletter Signup

Related posts

How’s my snap faring on different distributions?

The life of an application can roughly be divided into two: everything that happens before it goes live – building, packaging, publication – and then, everything that happens after that milestone. Traditionally, on Linux, developers didn’t always have an easy way of deriving useful numbers on how their software was doing across the distro […]

Better snap metadata handling coming your way soon

Open the Snap Store, click on any application you like – you will now see a page full of useful tidbits – screenshots and videos, application description, last update, license, contact data, and other information. The data shown here is often the first impression the user gets about the software, and can be a deciding […]

Want to publish a snap? Here’s a list of dos and don’ts

Technology is a medium that enables us to achieve things in life, ideally in a pleasant way. In the software world, operating systems, programming languages and application frameworks are the tools of the trade. But you need the right tool for the right job. If you’re thinking about writing or porting your code to snaps, […]