Commit c5cb5da4 authored by Adam Hegyi's avatar Adam Hegyi Committed by Bob Van Landuyt

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.
parent 25f8e99a
...@@ -14,8 +14,14 @@ class Projects::CycleAnalyticsController < Projects::ApplicationController ...@@ -14,8 +14,14 @@ class Projects::CycleAnalyticsController < Projects::ApplicationController
@cycle_analytics_no_data = @cycle_analytics.no_stats? @cycle_analytics_no_data = @cycle_analytics.no_stats?
respond_to do |format| respond_to do |format|
format.html format.html do
format.json { render json: cycle_analytics_json } Gitlab::UsageDataCounters::CycleAnalyticsCounter.count(:views)
render :show
end
format.json do
render json: cycle_analytics_json
end
end end
end end
......
---
title: Track page views for cycle analytics show page
merge_request: 31717
author:
type: added
...@@ -143,6 +143,7 @@ module Gitlab ...@@ -143,6 +143,7 @@ module Gitlab
Gitlab::UsageDataCounters::NoteCounter, Gitlab::UsageDataCounters::NoteCounter,
Gitlab::UsageDataCounters::SnippetCounter, Gitlab::UsageDataCounters::SnippetCounter,
Gitlab::UsageDataCounters::SearchCounter, Gitlab::UsageDataCounters::SearchCounter,
Gitlab::UsageDataCounters::CycleAnalyticsCounter,
Gitlab::UsageDataCounters::SourceCodeCounter Gitlab::UsageDataCounters::SourceCodeCounter
] ]
end end
......
# frozen_string_literal: true
module Gitlab::UsageDataCounters
class CycleAnalyticsCounter < BaseCounter
KNOWN_EVENTS = %w[views].freeze
PREFIX = 'cycle_analytics'
end
end
...@@ -11,6 +11,20 @@ describe Projects::CycleAnalyticsController do ...@@ -11,6 +11,20 @@ describe Projects::CycleAnalyticsController do
project.add_maintainer(user) project.add_maintainer(user)
end 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 describe 'cycle analytics not set up flag' do
context 'with no data' do context 'with no data' do
it 'is true' do it 'is true' do
......
# 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
...@@ -59,6 +59,7 @@ describe Gitlab::UsageData do ...@@ -59,6 +59,7 @@ describe Gitlab::UsageData do
avg_cycle_analytics avg_cycle_analytics
influxdb_metrics_enabled influxdb_metrics_enabled
prometheus_metrics_enabled prometheus_metrics_enabled
cycle_analytics_views
)) ))
expect(subject).to include( expect(subject).to include(
...@@ -72,6 +73,7 @@ describe Gitlab::UsageData do ...@@ -72,6 +73,7 @@ describe Gitlab::UsageData do
web_ide_commits: a_kind_of(Integer), web_ide_commits: a_kind_of(Integer),
web_ide_merge_requests: a_kind_of(Integer), web_ide_merge_requests: a_kind_of(Integer),
navbar_searches: a_kind_of(Integer), navbar_searches: a_kind_of(Integer),
cycle_analytics_views: a_kind_of(Integer),
source_code_pushes: a_kind_of(Integer) source_code_pushes: a_kind_of(Integer)
) )
end end
......
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