Track page views for cycle analytics show page

This change adds a new counter 'cycle_analytics_views' to the usage data
metrics to count the page views for cycle analytics show page.
This commit is contained in:
Adam Hegyi 2019-08-14 16:12:12 +00:00 committed by Bob Van Landuyt
parent 25f8e99a21
commit c5cb5da4ac
7 changed files with 47 additions and 2 deletions

View File

@ -14,8 +14,14 @@ class Projects::CycleAnalyticsController < Projects::ApplicationController
@cycle_analytics_no_data = @cycle_analytics.no_stats?
respond_to do |format|
format.html
format.json { render json: cycle_analytics_json }
format.html do
Gitlab::UsageDataCounters::CycleAnalyticsCounter.count(:views)
render :show
end
format.json do
render json: cycle_analytics_json
end
end
end

View File

@ -0,0 +1,5 @@
---
title: Track page views for cycle analytics show page
merge_request: 31717
author:
type: added

View File

@ -143,6 +143,7 @@ module Gitlab
Gitlab::UsageDataCounters::NoteCounter,
Gitlab::UsageDataCounters::SnippetCounter,
Gitlab::UsageDataCounters::SearchCounter,
Gitlab::UsageDataCounters::CycleAnalyticsCounter,
Gitlab::UsageDataCounters::SourceCodeCounter
]
end

View File

@ -0,0 +1,8 @@
# frozen_string_literal: true
module Gitlab::UsageDataCounters
class CycleAnalyticsCounter < BaseCounter
KNOWN_EVENTS = %w[views].freeze
PREFIX = 'cycle_analytics'
end
end

View File

@ -11,6 +11,20 @@ describe Projects::CycleAnalyticsController do
project.add_maintainer(user)
end
context "counting page views for 'show'" do
it 'increases the counter' do
expect(Gitlab::UsageDataCounters::CycleAnalyticsCounter).to receive(:count).with(:views)
get(:show,
params: {
namespace_id: project.namespace,
project_id: project
})
expect(response).to be_success
end
end
describe 'cycle analytics not set up flag' do
context 'with no data' do
it 'is true' do

View File

@ -0,0 +1,9 @@
# frozen_string_literal: true
require 'spec_helper'
describe Gitlab::UsageDataCounters::CycleAnalyticsCounter do
it_behaves_like 'a redis usage counter', 'CycleAnalytics', :views
it_behaves_like 'a redis usage counter with totals', :cycle_analytics, views: 3
end

View File

@ -59,6 +59,7 @@ describe Gitlab::UsageData do
avg_cycle_analytics
influxdb_metrics_enabled
prometheus_metrics_enabled
cycle_analytics_views
))
expect(subject).to include(
@ -72,6 +73,7 @@ describe Gitlab::UsageData do
web_ide_commits: a_kind_of(Integer),
web_ide_merge_requests: a_kind_of(Integer),
navbar_searches: a_kind_of(Integer),
cycle_analytics_views: a_kind_of(Integer),
source_code_pushes: a_kind_of(Integer)
)
end