Migrate counts.package_events_i_package_push_package_by_deploy_token to Snowplow
Background
There are two Product Intelligence data tracking systems in place at GitLab: Service Ping and Snowplow event tracking. This issue is part of recent effort undertaken by ~"group::product intelligence" to mirror some of data reported by Service Ping with Snowplow event tracking to help GitLab members better understand wider community interactions with GitLab, and make better decision how to develop and improve it.
Problem
The counts.package_events_i_package_push_package_by_deploy_token Service Ping metric is important to understand on a namespace level for Customer Service / Product Analytics, however insights on that level are not available for Service Ping therefore this metric needs to be mirrored with Snowplow event tracking
Desired Outcome
The metric is mirrored with in Snowplow event with custom context (see documentation about what context are) as defined here
Implementation Guide
First add Snowplow tracking (hint: see how Snowplow backend tracking is implemented at GitLab and check how to fill different event attributes) at https://gitlab.com/gitlab-org/gitlab/blob/master/app/services/packages/create_event_service.rb#L11 where Service Ping event is also emitted.
Remember to add gitlab_service_ping
custom context to event (for this metric it is required to set data_source: :redis, key_path: 'counts.package_events_i_package_push_package_by_deploy_token'
attributes)
Remember to check route_hll_to_snowplow_phase3
feature flag
See example tracking of similar migrated metric
return unless Feature.enabled?(:route_hll_to_snowplow_phase3, namespace)
Gitlab::Tracking.event(
'API::Commits',
:commit,
project: user_project,
namespace: namespace,
user: current_user,
label: 'counts.web_ide_commits',
context: [Gitlab::Tracking::ServicePingContext.new(data_source: :redis, key_path: 'counts.web_ide_commits').to_context]
)
Test your changes with Snowplow Micro included in gdk
In case of questions head to #g_product_intelligence
slack channel or tag @gitlab-org/analytics-section/product-intelligence/engineers
in comment in this issue
Testing
Update related tests