Commit d3a1aa43 authored by Arturo Herrero's avatar Arturo Herrero

Add telemetry for instance-level and template integrations

To measure the adoption of the new instance-level integration settings,
we need to add data to usage ping that lets us know how many instances
have a given integration enabled at the instance-level. We also need to
track the template usage to measure the transition.
parent 8eeba6ab
---
title: Add telemetry for instance-level and template integrations
merge_request: 38459
author:
type: other
......@@ -143,6 +143,84 @@ An event dictionary is a single source of truth that outlines what events and pr
| `projects_unify_circuit_active` | `counts` | | | | |
| `projects_webex_teams_active` | `counts` | | | | |
| `projects_youtrack_active` | `counts` | | | | |
| `instances_alerts_active` | `counts` | `create` | | CE + EE | Total Alerts instance-level integrations enabled |
| `instances_asana_active` | `counts` | `create` | | CE + EE | Total Asana instance-level integrations enabled |
| `instances_assembla_active` | `counts` | `create` | | CE + EE | Total Assembla instance-level integrations enabled |
| `instances_bamboo_active` | `counts` | `create` | | CE + EE | Total Bamboo instance-level integrations enabled |
| `instances_bugzilla_active` | `counts` | `create` | | CE + EE | Total Bugzilla instance-level integrations enabled |
| `instances_buildkite_active` | `counts` | `create` | | CE + EE | Total Buildkite instance-level integrations enabled |
| `instances_campfire_active` | `counts` | `create` | | CE + EE | Total Campfire instance-level integrations enabled |
| `instances_confluence_active` | `counts` | `create` | | CE + EE | Total Confluence instance-level integrations enabled |
| `instances_custom_issue_tracker_active` | `counts` | `create` | | CE + EE | Total Custom Issue Tracker instance-level integrations enabled |
| `instances_discord_active` | `counts` | `create` | | CE + EE | Total Discord instance-level integrations enabled |
| `instances_drone_ci_active` | `counts` | `create` | | CE + EE | Total Drone CI instance-level integrations enabled |
| `instances_emails_on_push_active` | `counts` | `create` | | CE + EE | Total Emails On Push instance-level integrations enabled |
| `instances_external_wiki_active` | `counts` | `create` | | CE + EE | Total External Wiki instance-level integrations enabled |
| `instances_flowdock_active` | `counts` | `create` | | CE + EE | Total Flowdock instance-level integrations enabled |
| `instances_github_active` | `counts` | `create` | | CE + EE | Total GitHub instance-level integrations enabled |
| `instances_gitlab_slack_application_active` | `counts` | `create` | | CE + EE | Total GitLab Slack Application instance-level integrations enabled |
| `instances_hangouts_chat_active` | `counts` | `create` | | CE + EE | Total Hangouts Chat instance-level integrations enabled |
| `instances_hipchat_active` | `counts` | `create` | | CE + EE | Total HipChat instance-level integrations enabled |
| `instances_irker_active` | `counts` | `create` | | CE + EE | Total Irker instance-level integrations enabled |
| `instances_jenkins_active` | `counts` | `create` | | CE + EE | Total Jenkins instance-level integrations enabled |
| `instances_jira_active` | `counts` | `create` | | CE + EE | Total Jira instance-level integrations enabled |
| `instances_mattermost_active` | `counts` | `create` | | CE + EE | Total Mattermost instance-level integrations enabled |
| `instances_mattermost_slash_commands_active` | `counts` | `create` | | CE + EE | Total Mattermost Slash Commands instance-level integrations enabled |
| `instances_microsoft_teams_active` | `counts` | `create` | | CE + EE | Total Microsoft Teams instance-level integrations enabled |
| `instances_mock_ci_active` | `counts` | `create` | | CE + EE | Total Mock CI instance-level integrations enabled |
| `instances_mock_deployment_active` | `counts` | `create` | | CE + EE | Total Mock Deployment instance-level integrations enabled |
| `instances_mock_monitoring_active` | `counts` | `create` | | CE + EE | Total Mock Monitoring instance-level integrations enabled |
| `instances_packagist_active` | `counts` | `create` | | CE + EE | Total Packagist instance-level integrations enabled |
| `instances_pipelines_email_active` | `counts` | `create` | | CE + EE | Total Pipelines Email instance-level integrations enabled |
| `instances_pivotaltracker_active` | `counts` | `create` | | CE + EE | Total Pivotal Tracker instance-level integrations enabled |
| `instances_prometheus_active` | `counts` | `create` | | CE + EE | Total Prometheus instance-level integrations enabled |
| `instances_pushover_active` | `counts` | `create` | | CE + EE | Total Pushover instance-level integrations enabled |
| `instances_redmine_active` | `counts` | `create` | | CE + EE | Total Redmine instance-level integrations enabled |
| `instances_slack_active` | `counts` | `create` | | CE + EE | Total Slack instance-level integrations enabled |
| `instances_slack_slash_commands_active` | `counts` | `create` | | CE + EE | Total Slack Slash Commands instance-level integrations enabled |
| `instances_teamcity_active` | `counts` | `create` | | CE + EE | Total Teamcity instance-level integrations enabled |
| `instances_unify_circuit_active` | `counts` | `create` | | CE + EE | Total Unify Circuit instance-level integrations enabled |
| `instances_webex_teams_active` | `counts` | `create` | | CE + EE | Total Webex Teams instance-level integrations enabled |
| `instances_youtrack_active` | `counts` | `create` | | CE + EE | Total YouTrack instance-level integrations enabled |
| `templates_alerts_active` | `counts` | `create` | | CE + EE | Total Alerts templates enabled |
| `templates_asana_active` | `counts` | `create` | | CE + EE | Total Asana templates enabled |
| `templates_assembla_active` | `counts` | `create` | | CE + EE | Total Assembla templates enabled |
| `templates_bamboo_active` | `counts` | `create` | | CE + EE | Total Bamboo templates enabled |
| `templates_bugzilla_active` | `counts` | `create` | | CE + EE | Total Bugzilla templates enabled |
| `templates_buildkite_active` | `counts` | `create` | | CE + EE | Total Buildkite templates enabled |
| `templates_campfire_active` | `counts` | `create` | | CE + EE | Total Campfire templates enabled |
| `templates_confluence_active` | `counts` | `create` | | CE + EE | Total Confluence templates enabled |
| `templates_custom_issue_tracker_active` | `counts` | `create` | | CE + EE | Total Custom Issue Tracker templates enabled |
| `templates_discord_active` | `counts` | `create` | | CE + EE | Total Discord templates enabled |
| `templates_drone_ci_active` | `counts` | `create` | | CE + EE | Total Drone CI templates enabled |
| `templates_emails_on_push_active` | `counts` | `create` | | CE + EE | Total Emails On Push templates enabled |
| `templates_external_wiki_active` | `counts` | `create` | | CE + EE | Total External Wiki templates enabled |
| `templates_flowdock_active` | `counts` | `create` | | CE + EE | Total Flowdock templates enabled |
| `templates_github_active` | `counts` | `create` | | CE + EE | Total GitHub templates enabled |
| `templates_gitlab_slack_application_active` | `counts` | `create` | | CE + EE | Total GitLab Slack Application templates enabled |
| `templates_hangouts_chat_active` | `counts` | `create` | | CE + EE | Total Hangouts Chat templates enabled |
| `templates_hipchat_active` | `counts` | `create` | | CE + EE | Total HipChat templates enabled |
| `templates_irker_active` | `counts` | `create` | | CE + EE | Total Irker templates enabled |
| `templates_jenkins_active` | `counts` | `create` | | CE + EE | Total Jenkins templates enabled |
| `templates_jira_active` | `counts` | `create` | | CE + EE | Total Jira templates enabled |
| `templates_mattermost_active` | `counts` | `create` | | CE + EE | Total Mattermost templates enabled |
| `templates_mattermost_slash_commands_active` | `counts` | `create` | | CE + EE | Total Mattermost Slash Commands templates enabled |
| `templates_microsoft_teams_active` | `counts` | `create` | | CE + EE | Total Microsoft Teams templates enabled |
| `templates_mock_ci_active` | `counts` | `create` | | CE + EE | Total Mock Ci templates enabled |
| `templates_mock_deployment_active` | `counts` | `create` | | CE + EE | Total Mock Deployment templates enabled |
| `templates_mock_monitoring_active` | `counts` | `create` | | CE + EE | Total Mock Monitoring templates enabled |
| `templates_packagist_active` | `counts` | `create` | | CE + EE | Total Packagist templates enabled |
| `templates_pipelines_email_active` | `counts` | `create` | | CE + EE | Total Pipelines Email templates enabled |
| `templates_pivotaltracker_active` | `counts` | `create` | | CE + EE | Total Pivotal Tracker templates enabled |
| `templates_prometheus_active` | `counts` | `create` | | CE + EE | Total Prometheus templates enabled |
| `templates_pushover_active` | `counts` | `create` | | CE + EE | Total Pushover templates enabled |
| `templates_redmine_active` | `counts` | `create` | | CE + EE | Total Redmine templates enabled |
| `templates_slack_active` | `counts` | `create` | | CE + EE | Total Slack templates enabled |
| `templates_slack_slash_commands_active` | `counts` | `create` | | CE + EE | Total Slack Slash Commands templates enabled |
| `templates_teamcity_active` | `counts` | `create` | | CE + EE | Total Teamcity templates enabled |
| `templates_unify_circuit_active` | `counts` | `create` | | CE + EE | Total Unify Circuit templates enabled |
| `templates_webex_teams_active` | `counts` | `create` | | CE + EE | Total Webex Teams templates enabled |
| `templates_youtrack_active` | `counts` | `create` | | CE + EE | Total YouTrack templates enabled |
| `projects_jira_server_active` | `counts` | | | | |
| `projects_jira_cloud_active` | `counts` | | | | |
| `projects_jira_dvcs_cloud_active` | `counts` | | | | |
......
......@@ -356,6 +356,8 @@ module Gitlab
# rubocop: disable UsageData/LargeTable:
Service.available_services_names.each_with_object({}) do |service_name, response|
response["projects_#{service_name}_active".to_sym] = count(Service.active.where(template: false, instance: false, type: "#{service_name}_service".camelize))
response["templates_#{service_name}_active".to_sym] = count(Service.active.where(template: true, type: "#{service_name}_service".camelize))
response["instances_#{service_name}_active".to_sym] = count(Service.active.where(instance: true, type: "#{service_name}_service".camelize))
end.merge(jira_usage, jira_import_usage)
# rubocop: enable UsageData/LargeTable:
end
......
......@@ -344,6 +344,8 @@ RSpec.describe Gitlab::UsageData, :aggregate_failures do
expect(count_data[:projects_slack_slash_commands_active]).to eq(1)
expect(count_data[:projects_custom_issue_tracker_active]).to eq(1)
expect(count_data[:projects_mattermost_active]).to eq(0)
expect(count_data[:templates_mattermost_active]).to eq(1)
expect(count_data[:instances_mattermost_active]).to eq(1)
expect(count_data[:projects_with_repositories_enabled]).to eq(3)
expect(count_data[:projects_with_error_tracking_enabled]).to eq(1)
expect(count_data[:projects_with_alerts_service_enabled]).to eq(1)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment