Skip to content

Define SMAU for Package

As we move to stage monthly active users being a better representation of usage, we should re-evaluate the set of criteria for which a user is considered a SMAU in Package.

This issue should either confirm the existing definition, or include the proposal and implementation of a new definition.

Problem to solve

As a product manager, I need accurate, timely data in order to better prioritize and invest engineering resources. As a company, we need dashboards at both the stage and company level that measure usage and engagement with the product. https://gitlab.com/gitlab-org/gitlab-ce/issues/61583 aims to collect and measure general adoption of Package features. However, it does not capture consumption metrics, which would allow us to better understand SMAU.

We will identify and collect these metrics, so that they can be added to a Package specific dashboard as well as the GitLab Monthly SMAU dashboard

Intended users

  • The Package team at GitLab, which will use the data to make decisions.
  • The Executive team at GitLab, which will use the data to gauge usage and investment.
  • The Data team, which will use the data to help build dashboards and other reports.

Proposal

Begin to track the following items:

Priority Category Metric Aggregated by SMAU Eligible? Data available?
P1 Container Registry # of page views of /container registry
  • Time: day/week/month/quarter/year
  • Instance: Self-managed CE/Self-managed EE
  • Account type: Core/Starter/Premium/Ultimate
Yes gitlab.com only
P3 Container Registry # of unique users that visit /container_registry
  • Time: day/week/month/quarter/year
  • Instance: Self-managed CE/Self-managed EE
  • Account type: Core/Starter/Premium/Ultimate
Yes ?
P2 Container Registry # of docker build events for the Container Registry
  • Time: day/week/month/quarter/year
  • Instance: Self-managed CE/Self-managed EE
  • Account type: Core/Starter/Premium/Ultimate
  • Tool: Command Line/CI/CD
Yes ?
P2 Container Registry # of docker push events for the Container Registry
  • Time: day/week/month/quarter/year
  • Instance: Self-managed CE/Self-managed EE
  • Account type: Core/Starter/Premium/Ultimate
  • Tool: Command Line/CI/CD
Yes ?
P2 Container Registry # images deleted from the UI
  • Time: day/week/month/quarter/year
  • Instance: Self-managed CE/Self-managed EE
  • Account type: Core/Starter/Premium/Ultimate
Yes ?
P3 Container Registry # API calls to the container registry
  • Delete Repository tag
  • Delete Repository tags in bulk
  • Get details of repository tag
  • List repository tags
  • Delete registry repository
  • List registry repository
  • Time: day/week/month/quarter/year
  • Instance: Self-managed CE/Self-managed EE
  • Account type: Core/Starter/Premium/Ultimate
Yes ?
P2 Container Registry # garbage collection commands executed sudo gitlab-ctl registry-garbage-collect or sudo gitlab-ctl registry-garbage-collect -m
  • Time: day/week/month/quarter/year
  • Instance: Self-managed CE/Self-managed EE
  • Account type: Core/Starter/Premium/Ultimate
Yes ?
P2 Container Registry # Instances with the container registry turned on/off
  • Registry[enabled]: true in /home/git/gitlab/config/gitlab.yml
  • Registry[enabled]: false in /home/git/gitlab/config/gitlab.yml
  • Time: day/week/month/quarter/year
  • Instance: Self-managed CE/Self-managed EE
  • Account type: Core/Starter/Premium/Ultimate
This is useful, but probably not useful for SMAU ?
P1 Package Registry # of page views of /packages
  • Time: day/week/month/quarter/year
  • Instance: Self-managed CE/Self-managed EE
  • Account type: Core/Starter/Premium/Ultimate
Yes gitlab.com only
P3 Package Registry # of unique users that visit /packages
  • Time: day/week/month/quarter/year
  • Instance: Self-managed CE/Self-managed EE
  • Account type: Core/Starter/Premium/Ultimate
Yes ?
P2 Package Registry # of mvn deploy to the Maven Repository
  • Time: day/week/month/quarter/year
  • Instance: Self-managed CE/Self-managed EE
  • Account type: Core/Starter/Premium/Ultimate
  • Tool: Command Line/CI/CD
Yes ?
P2 Package Registry # of npm push events to the Maven Repository
  • Time: day/week/month/quarter/year
  • Instance: Self-managed CE/Self-managed EE
  • Account type: Core/Starter/Premium/Ultimate
Yes ?
P3 Package Registry # of packages deleted from the UI
  • Time: day/week/month/quarter/year
  • Instance: Self-managed CE/Self-managed EE
  • Account type: Core/Starter/Premium/Ultimate
Yes ?
P1 Dependency Proxy # of visits to /dependency_proxy
  • Time: day/week/month/quarter/year
  • Instance: Self-managed CE/Self-managed EE
  • Account type: Core/Starter/Premium/Ultimate
Yes gitlab.com only
P3 Dependency Proxy # of docker pull gitlab.com/groupname/dependency_proxy/containers commands executed
  • Time: day/week/month/quarter/year
  • Instance: Self-managed CE/Self-managed EE
  • Account type: Core/Starter/Premium/Ultimate
Yes ?
P2 Dependency Proxy # Instances with the dependency proxy turned on/off
  • dependency_proxy:enabled: true in config/gitlab.yml
  • dependency_proxy:enabled: false in config/gitlab.yml
  • Time: day/week/month/quarter/year
  • Instance: Self-managed CE/Self-managed EE
  • Account type: Core/Starter/Premium/Ultimate
Useful but not for SMAU ?

Permissions and Security

  • Access to data and any related dashboards should be limited to internal GitLab employees only.

Documentation

  • We will need to document data definitions and exceptions. The data model is being tracked here
  • As the PM for the package team, I will want to create and circulate documentation on data definitions and make them easily accessible for others.

Testing

  • Test to ensure that data is being tracked accurately
  • No degradation in performance

What does success look like, and how can we measure that?

Success looks like we are tracking usage data, reporting on it and that data is being used to make important decisions.

Links / references

Edited by Tim Rizzi