Skip to content

Optimize services_usage counters

On gitlab.com we get -1s due to group by and non-batch counting .

def services_usage
        service_counts = count(Service.active.where(template: false).where.not(type: 'JiraService').group(:type), fallback: Hash.new(-1), batch: false)

        results = Service.available_services_names.each_with_object({}) do |service_name, response|
          response["projects_#{service_name}_active".to_sym] = service_counts["#{service_name}_service".camelize] || 0
        end

        # Keep old Slack keys for backward compatibility, https://gitlab.com/gitlab-data/analytics/issues/3241
        results[:projects_slack_notifications_active] = results[:projects_slack_active]
        results[:projects_slack_slash_active] = results[:projects_slack_slash_commands_active]

        results.merge(jira_usage)
      end
     90:    "projects_alerts_active": -1,
     91:    "projects_asana_active": -1,
     92:    "projects_assembla_active": -1,
     93:    "projects_bamboo_active": -1,
     94:    "projects_bugzilla_active": -1,
     95:    "projects_buildkite_active": -1,
     96:    "projects_campfire_active": -1,
     97:    "projects_custom_issue_tracker_active": -1,
     98:    "projects_discord_active": -1,
     99:    "projects_drone_ci_active": -1,
    100:    "projects_emails_on_push_active": -1,
    101:    "projects_external_wiki_active": -1,
    102:    "projects_flowdock_active": -1,
    103:    "projects_github_active": -1,
    104:    "projects_gitlab_slack_application_active": -1,
    105:    "projects_hangouts_chat_active": -1,
    106:    "projects_hipchat_active": -1,
    107:    "projects_irker_active": -1,
    108:    "projects_jenkins_active": -1,
    109:    "projects_jenkins_deprecated_active": -1,
    111:    "projects_mattermost_active": -1,
    112:    "projects_mattermost_slash_commands_active": -1,
    113:    "projects_microsoft_teams_active": -1,
    114:    "projects_packagist_active": -1,
    115:    "projects_pipelines_email_active": -1,
    116:    "projects_pivotaltracker_active": -1,
    117:    "projects_prometheus_active": -1,
    118:    "projects_pushover_active": -1,
    119:    "projects_redmine_active": -1,
    120:    "projects_slack_active": -1,
    121:    "projects_slack_slash_commands_active": -1,
    122:    "projects_teamcity_active": -1,
    123:    "projects_unify_circuit_active": -1,
    124:    "projects_youtrack_active": -1,
    125:    "projects_slack_notifications_active": -1,
    126:    "projects_slack_slash_active": -1,
Edited by Alper Akgun