summaryrefslogtreecommitdiff
path: root/app/experiments/empty_repo_upload_experiment.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/experiments/empty_repo_upload_experiment.rb')
-rw-r--r--app/experiments/empty_repo_upload_experiment.rb22
1 files changed, 22 insertions, 0 deletions
diff --git a/app/experiments/empty_repo_upload_experiment.rb b/app/experiments/empty_repo_upload_experiment.rb
new file mode 100644
index 00000000000..d0d79a5fb45
--- /dev/null
+++ b/app/experiments/empty_repo_upload_experiment.rb
@@ -0,0 +1,22 @@
+# frozen_string_literal: true
+
+class EmptyRepoUploadExperiment < ApplicationExperiment # rubocop:disable Gitlab/NamespacedClass
+ include ProjectCommitCount
+
+ TRACKING_START_DATE = DateTime.parse('2021/4/20')
+ INITIAL_COMMIT_COUNT = 1
+
+ def track_initial_write
+ return unless should_track? # early return if we don't need to ask for commit counts
+ return unless context.project.created_at > TRACKING_START_DATE # early return for older projects
+ return unless commit_count == INITIAL_COMMIT_COUNT
+
+ track(:initial_write, project: context.project)
+ end
+
+ private
+
+ def commit_count
+ commit_count_for(context.project, max_count: INITIAL_COMMIT_COUNT, experiment: name)
+ end
+end