diff --git a/app/assets/javascripts/vue_merge_request_widget/components/extensions/README.md b/app/assets/javascripts/vue_merge_request_widget/components/extensions/README.md new file mode 100644 index 0000000000000000000000000000000000000000..e5bb4e1af4ce1d3827e592d4f8f538a16a61863e --- /dev/null +++ b/app/assets/javascripts/vue_merge_request_widget/components/extensions/README.md @@ -0,0 +1,64 @@ +### Widget Extensions + +#### Telemetry + +Telemetry is enabled by default in all widget extensions. + +However, telemetry events are not reported until they have been marked as a "known event" with a Metric Dictionary. + +If telemetry metrics are desired when adding a widget extension, it is important to also create known events. + +The following steps are needed to generate these known events for a single widget: + +1. Widgets should be named `Widget${CamelName}`. + - For example: a widget for "Test Reports" should be `WidgetTestReports` +1. "Compute" the widget name slug by converting the `${CamelName}` to lower-, snake-case. + - The above example would be `test_reports` +1. Add the new widget name slug to `lib/gitlab/usage_data_counters/merge_request_widget_extension_counter.rb` in the `WIDGETS` list. +1. Ensure the GDK is running (`gdk start`) +1. Generate known events on the command line with the following command. Replace `test_reports` with your appropriate name slug. + ``` + bundle exec rails generate gitlab:usage_metric_definition \ + counts.code_review.i_merge_request_widget_test_reports_count_view \ + counts.code_review.i_merge_request_widget_test_reports_count_full_report_clicked \ + counts.code_review.i_merge_request_widget_test_reports_count_expand \ + counts.code_review.i_merge_request_widget_test_reports_count_expand_success \ + counts.code_review.i_merge_request_widget_test_reports_count_expand_warning \ + counts.code_review.i_merge_request_widget_test_reports_count_expand_failed \ + --dir=all + ``` +1. Modify each newly generated file so that they match the existing files for MR Widget Extension telemetry. + - You can find existing examples by doing a glob search like so: `metrics/**/*_i_code_review_merge_request_widget_*` + - Roughly-speaking, each file should have these values: + 1. `description` = A plain English description of this value. Please see existing widget extension telemetry files for examples. + 1. `product_section` = `dev` + 1. `product_stage` = `create` + 1. `product_group` = `code_review` + 1. `product_category` = `code_review` + 1. `introduced_by_url` = `'[your MR]'` + 1. `options.events` = (the event in the command from above that generated this file, like `i_code_review_merge_request_widget_test_reports_count_view`) + - This is how the telemetry events are linked to "metrics" so this is probably one of the more important values + 1. `data_source` = `redis` + 1. `data_category` = `optional` +1. Repeat steps 5 and 6 for the HLL metrics. Replace `test_reports` with your appropriate name slug. + ``` + bundle exec rails generate gitlab:usage_metric_definition:redis_hll code_review \ + i_code_review_merge_request_widget_test_reports_view \ + i_code_review_merge_request_widget_test_reports_full_report_clicked \ + i_code_review_merge_request_widget_test_reports_expand \ + i_code_review_merge_request_widget_test_reports_expand_success \ + i_code_review_merge_request_widget_test_reports_expand_warning \ + i_code_review_merge_request_widget_test_reports_expand_failed \ + --class_name=RedisHLLMetric + ``` + - In step 6 for HLL, change the `data_source` to `redis_hll`. +1. Add each of the HLL metrics to `lib/gitlab/usage_data_counters/known_events/code_review_events.yml` + 1. `name` = [the event] + 1. `redis_slot` = `code_review` + 1. `category` = `code_review` + 1. `aggregation` = `weekly` +1. Add each event to the appropriate aggregates in `config/metrics/aggregates/code_review.yml` + +##### New Events + +If you are adding a new event to our known events, it will need to be included in `lib/gitlab/usage_data_counters/merge_request_widget_extension_counter.rb`. Update the list of `KNOWN_EVENTS` with the new event(s). diff --git a/config/metrics/aggregates/code_review.yml b/config/metrics/aggregates/code_review.yml index 2a58540f348fd1eee5a805176e1f6a97d5b59d82..f1bf825bbd3ea081f1df78df4eeffdf8f65d0a5a 100644 --- a/config/metrics/aggregates/code_review.yml +++ b/config/metrics/aggregates/code_review.yml @@ -80,6 +80,12 @@ - 'i_code_review_user_create_note_in_ipynb_diff' - 'i_code_review_user_create_note_in_ipynb_diff_mr' - 'i_code_review_user_create_note_in_ipynb_diff_commit' + - 'i_code_review_merge_request_widget_test_summary_view' + - 'i_code_review_merge_request_widget_test_summary_full_report_clicked' + - 'i_code_review_merge_request_widget_test_summary_expand' + - 'i_code_review_merge_request_widget_test_summary_expand_success' + - 'i_code_review_merge_request_widget_test_summary_expand_warning' + - 'i_code_review_merge_request_widget_test_summary_expand_failed' - name: code_review_category_monthly_active_users operator: OR source: redis @@ -148,6 +154,12 @@ - 'i_code_review_user_create_note_in_ipynb_diff' - 'i_code_review_user_create_note_in_ipynb_diff_mr' - 'i_code_review_user_create_note_in_ipynb_diff_commit' + - 'i_code_review_merge_request_widget_test_summary_view' + - 'i_code_review_merge_request_widget_test_summary_full_report_clicked' + - 'i_code_review_merge_request_widget_test_summary_expand' + - 'i_code_review_merge_request_widget_test_summary_expand_success' + - 'i_code_review_merge_request_widget_test_summary_expand_warning' + - 'i_code_review_merge_request_widget_test_summary_expand_failed' - name: code_review_extension_category_monthly_active_users operator: OR source: redis diff --git a/config/metrics/counts_28d/20220708162311_i_code_review_merge_request_widget_test_summary_view_monthly.yml b/config/metrics/counts_28d/20220708162311_i_code_review_merge_request_widget_test_summary_view_monthly.yml new file mode 100644 index 0000000000000000000000000000000000000000..07ba085063a5447ca465ae01adbfb4ca2cdfce34 --- /dev/null +++ b/config/metrics/counts_28d/20220708162311_i_code_review_merge_request_widget_test_summary_view_monthly.yml @@ -0,0 +1,25 @@ +--- +key_path: redis_hll_counters.code_review.i_code_review_merge_request_widget_test_summary_view_monthly +description: The count of unique users (monthly) who were able to see the Test Summary widget extension +product_section: dev +product_stage: create +product_group: code_review +product_category: code_review +value_type: number +status: active +milestone: "15.2" +introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/91831" +time_frame: 28d +data_source: redis_hll +data_category: optional +instrumentation_class: RedisHLLMetric +options: + events: + - i_code_review_merge_request_widget_test_summary_view +distribution: +- ce +- ee +tier: +- free +- premium +- ultimate diff --git a/config/metrics/counts_28d/20220708163625_i_code_review_merge_request_widget_test_summary_full_report_clicked_monthly.yml b/config/metrics/counts_28d/20220708163625_i_code_review_merge_request_widget_test_summary_full_report_clicked_monthly.yml new file mode 100644 index 0000000000000000000000000000000000000000..1b27e018e5edbb1f4663a7ff7f310123d1ad3ce9 --- /dev/null +++ b/config/metrics/counts_28d/20220708163625_i_code_review_merge_request_widget_test_summary_full_report_clicked_monthly.yml @@ -0,0 +1,25 @@ +--- +key_path: redis_hll_counters.code_review.i_code_review_merge_request_widget_test_summary_full_report_clicked_monthly +description: The count of unique users (monthly) who clicked the Full Report button on the Test Summary widget extension +product_section: dev +product_stage: create +product_group: code_review +product_category: code_review +value_type: number +status: active +milestone: "15.2" +introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/91831" +time_frame: 28d +data_source: redis_hll +data_category: optional +instrumentation_class: RedisHLLMetric +options: + events: + - i_code_review_merge_request_widget_test_summary_full_report_clicked +distribution: +- ce +- ee +tier: +- free +- premium +- ultimate diff --git a/config/metrics/counts_28d/20220708164545_i_code_review_merge_request_widget_test_summary_expand_monthly.yml b/config/metrics/counts_28d/20220708164545_i_code_review_merge_request_widget_test_summary_expand_monthly.yml new file mode 100644 index 0000000000000000000000000000000000000000..40134414c5b202d1e18e2a2a13693b2d10f33f44 --- /dev/null +++ b/config/metrics/counts_28d/20220708164545_i_code_review_merge_request_widget_test_summary_expand_monthly.yml @@ -0,0 +1,25 @@ +--- +key_path: redis_hll_counters.code_review.i_code_review_merge_request_widget_test_summary_expand_monthly +description: The count of unique users (monthly) who expanded the Test Summary widget extension +product_section: dev +product_stage: create +product_group: code_review +product_category: code_review +value_type: number +status: active +milestone: "15.2" +introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/91831" +time_frame: 28d +data_source: redis_hll +data_category: optional +instrumentation_class: RedisHLLMetric +options: + events: + - i_code_review_merge_request_widget_test_summary_expand +distribution: +- ce +- ee +tier: +- free +- premium +- ultimate diff --git a/config/metrics/counts_28d/20220708165638_i_code_review_merge_request_widget_test_summary_expand_success_monthly.yml b/config/metrics/counts_28d/20220708165638_i_code_review_merge_request_widget_test_summary_expand_success_monthly.yml new file mode 100644 index 0000000000000000000000000000000000000000..a6c08e49a5b1041664e7d32c8f28d923ef0e348e --- /dev/null +++ b/config/metrics/counts_28d/20220708165638_i_code_review_merge_request_widget_test_summary_expand_success_monthly.yml @@ -0,0 +1,25 @@ +--- +key_path: redis_hll_counters.code_review.i_code_review_merge_request_widget_test_summary_expand_success_monthly +description: The count of unique users (monthly) who expanded the Test Summary widget extension while it is in its Success state +product_section: dev +product_stage: create +product_group: code_review +product_category: code_review +value_type: number +status: active +milestone: "15.2" +introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/91831" +time_frame: 28d +data_source: redis_hll +data_category: optional +instrumentation_class: RedisHLLMetric +options: + events: + - i_code_review_merge_request_widget_test_summary_expand_success +distribution: +- ce +- ee +tier: +- free +- premium +- ultimate diff --git a/config/metrics/counts_28d/20220708170514_i_code_review_merge_request_widget_test_summary_expand_warning_monthly.yml b/config/metrics/counts_28d/20220708170514_i_code_review_merge_request_widget_test_summary_expand_warning_monthly.yml new file mode 100644 index 0000000000000000000000000000000000000000..7636ffae159b7c4f45bba8fa0394d3390a1baba1 --- /dev/null +++ b/config/metrics/counts_28d/20220708170514_i_code_review_merge_request_widget_test_summary_expand_warning_monthly.yml @@ -0,0 +1,25 @@ +--- +key_path: redis_hll_counters.code_review.i_code_review_merge_request_widget_test_summary_expand_warning_monthly +description: The count of unique users (monthly) who expanded the Test Summary widget extension while it is in its Warning state +product_section: dev +product_stage: create +product_group: code_review +product_category: code_review +value_type: number +status: active +milestone: "15.2" +introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/91831" +time_frame: 28d +data_source: redis_hll +data_category: optional +instrumentation_class: RedisHLLMetric +options: + events: + - i_code_review_merge_request_widget_test_summary_expand_warning +distribution: +- ce +- ee +tier: +- free +- premium +- ultimate diff --git a/config/metrics/counts_28d/20220708173741_i_code_review_merge_request_widget_test_summary_expand_failed_monthly.yml b/config/metrics/counts_28d/20220708173741_i_code_review_merge_request_widget_test_summary_expand_failed_monthly.yml new file mode 100644 index 0000000000000000000000000000000000000000..7b84436ad570f6add4f75d0ea2eac81cb1fb368b --- /dev/null +++ b/config/metrics/counts_28d/20220708173741_i_code_review_merge_request_widget_test_summary_expand_failed_monthly.yml @@ -0,0 +1,25 @@ +--- +key_path: redis_hll_counters.code_review.i_code_review_merge_request_widget_test_summary_expand_failed_monthly +description: The count of unique users (monthly) who expanded the Test Summary widget extension while it is in its Failed state +product_section: dev +product_stage: create +product_group: code_review +product_category: code_review +value_type: number +status: active +milestone: "15.2" +introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/91831" +time_frame: 28d +data_source: redis_hll +data_category: optional +instrumentation_class: RedisHLLMetric +options: + events: + - i_code_review_merge_request_widget_test_summary_expand_failed +distribution: +- ce +- ee +tier: +- free +- premium +- ultimate diff --git a/config/metrics/counts_7d/20220708162305_i_code_review_merge_request_widget_test_summary_view_weekly.yml b/config/metrics/counts_7d/20220708162305_i_code_review_merge_request_widget_test_summary_view_weekly.yml new file mode 100644 index 0000000000000000000000000000000000000000..a1cf41b62f04e9ffacfdfee44f335f46fc4960f1 --- /dev/null +++ b/config/metrics/counts_7d/20220708162305_i_code_review_merge_request_widget_test_summary_view_weekly.yml @@ -0,0 +1,25 @@ +--- +key_path: redis_hll_counters.code_review.i_code_review_merge_request_widget_test_summary_view_weekly +description: The count of unique users (weekly) who were able to see the Test Summary widget extension +product_section: dev +product_stage: create +product_group: code_review +product_category: code_review +value_type: number +status: active +milestone: "15.2" +introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/91831" +time_frame: 7d +data_source: redis_hll +data_category: optional +instrumentation_class: RedisHLLMetric +options: + events: + - i_code_review_merge_request_widget_test_summary_view +distribution: +- ce +- ee +tier: +- free +- premium +- ultimate diff --git a/config/metrics/counts_7d/20220708163619_i_code_review_merge_request_widget_test_summary_full_report_clicked_weekly.yml b/config/metrics/counts_7d/20220708163619_i_code_review_merge_request_widget_test_summary_full_report_clicked_weekly.yml new file mode 100644 index 0000000000000000000000000000000000000000..73c5799d98481b168a397303ec1b64b72b97c197 --- /dev/null +++ b/config/metrics/counts_7d/20220708163619_i_code_review_merge_request_widget_test_summary_full_report_clicked_weekly.yml @@ -0,0 +1,25 @@ +--- +key_path: redis_hll_counters.code_review.i_code_review_merge_request_widget_test_summary_full_report_clicked_weekly +description: The count of unique users (weekly) who clicked the Full Report button on the Test Summary widget extension +product_section: dev +product_stage: create +product_group: code_review +product_category: code_review +value_type: number +status: active +milestone: "15.2" +introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/91831" +time_frame: 7d +data_source: redis_hll +data_category: optional +instrumentation_class: RedisHLLMetric +options: + events: + - i_code_review_merge_request_widget_test_summary_full_report_clicked +distribution: +- ce +- ee +tier: +- free +- premium +- ultimate diff --git a/config/metrics/counts_7d/20220708164539_i_code_review_merge_request_widget_test_summary_expand_weekly.yml b/config/metrics/counts_7d/20220708164539_i_code_review_merge_request_widget_test_summary_expand_weekly.yml new file mode 100644 index 0000000000000000000000000000000000000000..a3616e92e6f892afae42c6f5ad146a9c832c3296 --- /dev/null +++ b/config/metrics/counts_7d/20220708164539_i_code_review_merge_request_widget_test_summary_expand_weekly.yml @@ -0,0 +1,25 @@ +--- +key_path: redis_hll_counters.code_review.i_code_review_merge_request_widget_test_summary_expand_weekly +description: The count of unique users (weekly) who expanded the Test Summary widget extension +product_section: dev +product_stage: create +product_group: code_review +product_category: code_review +value_type: number +status: active +milestone: "15.2" +introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/91831" +time_frame: 7d +data_source: redis_hll +data_category: optional +instrumentation_class: RedisHLLMetric +options: + events: + - i_code_review_merge_request_widget_test_summary_expand +distribution: +- ce +- ee +tier: +- free +- premium +- ultimate diff --git a/config/metrics/counts_7d/20220708165632_i_code_review_merge_request_widget_test_summary_expand_success_weekly.yml b/config/metrics/counts_7d/20220708165632_i_code_review_merge_request_widget_test_summary_expand_success_weekly.yml new file mode 100644 index 0000000000000000000000000000000000000000..728ca3034385e2923ade207954df0327763e7b17 --- /dev/null +++ b/config/metrics/counts_7d/20220708165632_i_code_review_merge_request_widget_test_summary_expand_success_weekly.yml @@ -0,0 +1,25 @@ +--- +key_path: redis_hll_counters.code_review.i_code_review_merge_request_widget_test_summary_expand_success_weekly +description: The count of unique users (weekly) who expanded the Test Summary widget extension while it is in its Success state +product_section: dev +product_stage: create +product_group: code_review +product_category: code_review +value_type: number +status: active +milestone: "15.2" +introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/91831" +time_frame: 7d +data_source: redis_hll +data_category: optional +instrumentation_class: RedisHLLMetric +options: + events: + - i_code_review_merge_request_widget_test_summary_expand_success +distribution: +- ce +- ee +tier: +- free +- premium +- ultimate diff --git a/config/metrics/counts_7d/20220708170508_i_code_review_merge_request_widget_test_summary_expand_warning_weekly.yml b/config/metrics/counts_7d/20220708170508_i_code_review_merge_request_widget_test_summary_expand_warning_weekly.yml new file mode 100644 index 0000000000000000000000000000000000000000..70a2bab68d80ea4b3dffff8afe5f1b8dfbb04b0f --- /dev/null +++ b/config/metrics/counts_7d/20220708170508_i_code_review_merge_request_widget_test_summary_expand_warning_weekly.yml @@ -0,0 +1,25 @@ +--- +key_path: redis_hll_counters.code_review.i_code_review_merge_request_widget_test_summary_expand_warning_weekly +description: The count of unique users (weekly) who expanded the Test Summary widget extension while it is in its Warning state +product_section: dev +product_stage: create +product_group: code_review +product_category: code_review +value_type: number +status: active +milestone: "15.2" +introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/91831" +time_frame: 7d +data_source: redis_hll +data_category: optional +instrumentation_class: RedisHLLMetric +options: + events: + - i_code_review_merge_request_widget_test_summary_expand_warning +distribution: +- ce +- ee +tier: +- free +- premium +- ultimate diff --git a/config/metrics/counts_7d/20220708173736_i_code_review_merge_request_widget_test_summary_expand_failed_weekly.yml b/config/metrics/counts_7d/20220708173736_i_code_review_merge_request_widget_test_summary_expand_failed_weekly.yml new file mode 100644 index 0000000000000000000000000000000000000000..a25ac7de33c5ed25b98f0597a115e89a33bf2f74 --- /dev/null +++ b/config/metrics/counts_7d/20220708173736_i_code_review_merge_request_widget_test_summary_expand_failed_weekly.yml @@ -0,0 +1,25 @@ +--- +key_path: redis_hll_counters.code_review.i_code_review_merge_request_widget_test_summary_expand_failed_weekly +description: The count of unique users (weekly) who expanded the Test Summary widget extension while it is in its Failed state +product_section: dev +product_stage: create +product_group: code_review +product_category: code_review +value_type: number +status: active +milestone: "15.2" +introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/91831" +time_frame: 7d +data_source: redis_hll +data_category: optional +instrumentation_class: RedisHLLMetric +options: + events: + - i_code_review_merge_request_widget_test_summary_expand_failed +distribution: +- ce +- ee +tier: +- free +- premium +- ultimate diff --git a/config/metrics/counts_all/20220708154149_i_code_review_merge_request_widget_test_summary_count_view.yml b/config/metrics/counts_all/20220708154149_i_code_review_merge_request_widget_test_summary_count_view.yml new file mode 100644 index 0000000000000000000000000000000000000000..79d9f062999466c39b99acc355c8cfcc1961e398 --- /dev/null +++ b/config/metrics/counts_all/20220708154149_i_code_review_merge_request_widget_test_summary_count_view.yml @@ -0,0 +1,24 @@ +--- +key_path: counts.i_code_review_merge_request_widget_test_summary_count_view +description: Total number of times the Test Summary widget extension was viewed (rendered to the screen) +product_section: dev +product_stage: create +product_group: code_review +product_category: code_review +value_type: number +status: active +milestone: "15.2" +introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/91831" +time_frame: all +data_source: redis +data_category: optional +options: + events: + - i_code_review_merge_request_widget_test_summary_count_view +distribution: +- ce +- ee +tier: +- free +- premium +- ultimate diff --git a/config/metrics/counts_all/20220708154156_i_code_review_merge_request_widget_test_summary_count_full_report_clicked.yml b/config/metrics/counts_all/20220708154156_i_code_review_merge_request_widget_test_summary_count_full_report_clicked.yml new file mode 100644 index 0000000000000000000000000000000000000000..b4887bbe2197b8d61a185a68401686f6ebafba58 --- /dev/null +++ b/config/metrics/counts_all/20220708154156_i_code_review_merge_request_widget_test_summary_count_full_report_clicked.yml @@ -0,0 +1,24 @@ +--- +key_path: counts.i_code_review_merge_request_widget_test_summary_count_full_report_clicked +description: Total number of times the Test Summary widget extension Full Report button was clicked +product_section: dev +product_stage: create +product_group: code_review +product_category: code_review +value_type: number +status: active +milestone: "15.2" +introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/91831" +time_frame: all +data_source: redis +data_category: optional +options: + events: + - i_code_review_merge_request_widget_test_summary_count_full_report_clicked +distribution: +- ce +- ee +tier: +- free +- premium +- ultimate diff --git a/config/metrics/counts_all/20220708154201_i_code_review_merge_request_widget_test_summary_count_expand.yml b/config/metrics/counts_all/20220708154201_i_code_review_merge_request_widget_test_summary_count_expand.yml new file mode 100644 index 0000000000000000000000000000000000000000..1898fa971faee0066d17ad88a9f178b1c0c8761d --- /dev/null +++ b/config/metrics/counts_all/20220708154201_i_code_review_merge_request_widget_test_summary_count_expand.yml @@ -0,0 +1,24 @@ +--- +key_path: counts.i_code_review_merge_request_widget_test_summary_count_expand +description: Total number of times the Test Summary widget extension was expanded (in any state) +product_section: dev +product_stage: create +product_group: code_review +product_category: code_review +value_type: number +status: active +milestone: "15.2" +introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/91831" +time_frame: all +data_source: redis +data_category: optional +options: + events: + - i_code_review_merge_request_widget_test_summary_count_expand +distribution: +- ce +- ee +tier: +- free +- premium +- ultimate diff --git a/config/metrics/counts_all/20220708154206_i_code_review_merge_request_widget_test_summary_count_expand_success.yml b/config/metrics/counts_all/20220708154206_i_code_review_merge_request_widget_test_summary_count_expand_success.yml new file mode 100644 index 0000000000000000000000000000000000000000..91cd4d7a232c16cee6e9062caf433e59e9880668 --- /dev/null +++ b/config/metrics/counts_all/20220708154206_i_code_review_merge_request_widget_test_summary_count_expand_success.yml @@ -0,0 +1,24 @@ +--- +key_path: counts.i_code_review_merge_request_widget_test_summary_count_expand_success +description: Total number of times the Test Summary widget extension was expanded (while in its Success state) +product_section: dev +product_stage: create +product_group: code_review +product_category: code_review +value_type: number +status: active +milestone: "15.2" +introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/91831" +time_frame: all +data_source: redis +data_category: optional +options: + events: + - i_code_review_merge_request_widget_test_summary_count_expand_success +distribution: +- ce +- ee +tier: +- free +- premium +- ultimate diff --git a/config/metrics/counts_all/20220708154211_i_code_review_merge_request_widget_test_summary_count_expand_warning.yml b/config/metrics/counts_all/20220708154211_i_code_review_merge_request_widget_test_summary_count_expand_warning.yml new file mode 100644 index 0000000000000000000000000000000000000000..970d843c58e709669a4e47f7fc531ecf124d6853 --- /dev/null +++ b/config/metrics/counts_all/20220708154211_i_code_review_merge_request_widget_test_summary_count_expand_warning.yml @@ -0,0 +1,24 @@ +--- +key_path: counts.i_code_review_merge_request_widget_test_summary_count_expand_warning +description: Total number of times the Test Summary widget extension was expanded (while in its Warning state) +product_section: dev +product_stage: create +product_group: code_review +product_category: code_review +value_type: number +status: active +milestone: "15.2" +introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/91831" +time_frame: all +data_source: redis +data_category: optional +options: + events: + - i_code_review_merge_request_widget_test_summary_count_expand_warning +distribution: +- ce +- ee +tier: +- free +- premium +- ultimate diff --git a/config/metrics/counts_all/20220708154216_i_code_review_merge_request_widget_test_summary_count_expand_failed.yml b/config/metrics/counts_all/20220708154216_i_code_review_merge_request_widget_test_summary_count_expand_failed.yml new file mode 100644 index 0000000000000000000000000000000000000000..9b7c5c61602a5608ccbc15994da3cd418929358d --- /dev/null +++ b/config/metrics/counts_all/20220708154216_i_code_review_merge_request_widget_test_summary_count_expand_failed.yml @@ -0,0 +1,24 @@ +--- +key_path: counts.i_code_review_merge_request_widget_test_summary_count_expand_failed +description: Total number of times the Test Summary widget extension was expanded (while in its Failed state) +product_section: dev +product_stage: create +product_group: code_review +product_category: code_review +value_type: number +status: active +milestone: "15.2" +introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/91831" +time_frame: all +data_source: redis +data_category: optional +options: + events: + - i_code_review_merge_request_widget_test_summary_count_expand_failed +distribution: +- ce +- ee +tier: +- free +- premium +- ultimate diff --git a/lib/gitlab/usage_data_counters.rb b/lib/gitlab/usage_data_counters.rb index 2a3dcf267c600dedbd798c2ffd898da4f9f5748c..224897ed758c1969a33e83fe05a0de95d21596e9 100644 --- a/lib/gitlab/usage_data_counters.rb +++ b/lib/gitlab/usage_data_counters.rb @@ -16,7 +16,8 @@ module UsageDataCounters DesignsCounter, KubernetesAgentCounter, DiffsCounter, - ServiceUsageDataCounter + ServiceUsageDataCounter, + MergeRequestWidgetExtensionCounter ].freeze UsageDataCounterError = Class.new(StandardError) diff --git a/lib/gitlab/usage_data_counters/known_events/code_review_events.yml b/lib/gitlab/usage_data_counters/known_events/code_review_events.yml index 267b7fe673df35d8999fae18466a981c0bf524d5..9e7f5487d1a2c198c9e6a3ea211239391af4f2e9 100644 --- a/lib/gitlab/usage_data_counters/known_events/code_review_events.yml +++ b/lib/gitlab/usage_data_counters/known_events/code_review_events.yml @@ -299,3 +299,29 @@ redis_slot: code_review category: code_review aggregation: weekly +# MR Widget Extensions +## Test Summary +- name: i_code_review_merge_request_widget_test_summary_view + redis_slot: code_review + category: code_review + aggregation: weekly +- name: i_code_review_merge_request_widget_test_summary_full_report_clicked + redis_slot: code_review + category: code_review + aggregation: weekly +- name: i_code_review_merge_request_widget_test_summary_expand + redis_slot: code_review + category: code_review + aggregation: weekly +- name: i_code_review_merge_request_widget_test_summary_expand_success + redis_slot: code_review + category: code_review + aggregation: weekly +- name: i_code_review_merge_request_widget_test_summary_expand_warning + redis_slot: code_review + category: code_review + aggregation: weekly +- name: i_code_review_merge_request_widget_test_summary_expand_failed + redis_slot: code_review + category: code_review + aggregation: weekly diff --git a/lib/gitlab/usage_data_counters/merge_request_widget_extension_counter.rb b/lib/gitlab/usage_data_counters/merge_request_widget_extension_counter.rb new file mode 100644 index 0000000000000000000000000000000000000000..5b42589cceda850eb9784c7ab29ecb9ec03a1e2a --- /dev/null +++ b/lib/gitlab/usage_data_counters/merge_request_widget_extension_counter.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Gitlab + module UsageDataCounters + class MergeRequestWidgetExtensionCounter < BaseCounter + KNOWN_EVENTS = %w[view full_report_clicked expand expand_success expand_warning expand_failed].freeze + PREFIX = 'i_code_review_merge_request_widget' + WIDGETS = %w[test_summary].freeze + + class << self + private + + def known_events + self::WIDGETS.product(self::KNOWN_EVENTS).map { |name_parts| name_parts.join('_count_') } + end + end + end + end +end diff --git a/spec/lib/gitlab/usage_data_counters/merge_request_widget_extension_counter_spec.rb b/spec/lib/gitlab/usage_data_counters/merge_request_widget_extension_counter_spec.rb new file mode 100644 index 0000000000000000000000000000000000000000..e073fac504a40ca09e58ee4ea51b7aed0b1a9798 --- /dev/null +++ b/spec/lib/gitlab/usage_data_counters/merge_request_widget_extension_counter_spec.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +require 'spec_helper' + +RSpec.describe Gitlab::UsageDataCounters::MergeRequestWidgetExtensionCounter do + it_behaves_like 'a redis usage counter', 'Widget Extension', :test_summary_count_expand + + it_behaves_like 'a redis usage counter with totals', :i_code_review_merge_request_widget, test_summary_count_expand: 5 +end