diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-03-01 12:11:01 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-03-01 12:11:01 +0300 |
commit | c7cb37255796023730d0e31324a533e55e25bc46 (patch) | |
tree | 5140bef8ec205dd79b71066aa3ed3a3e4cb00be0 /doc | |
parent | 21543f57d625a70c3884d1915fa14ad340d01edc (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'doc')
-rw-r--r-- | doc/api/graphql/reference/index.md | 54 | ||||
-rw-r--r-- | doc/development/usage_ping.md | 4 | ||||
-rw-r--r-- | doc/development/usage_ping/metrics_dictionary.md | 14 | ||||
-rw-r--r-- | doc/development/usage_ping/product_intelligence_review.md | 80 |
4 files changed, 119 insertions, 33 deletions
diff --git a/doc/api/graphql/reference/index.md b/doc/api/graphql/reference/index.md index 9315993368f..aecc7608f38 100644 --- a/doc/api/graphql/reference/index.md +++ b/doc/api/graphql/reference/index.md @@ -5417,33 +5417,33 @@ Iteration ID wildcard values. | Value | Description | | ----- | ----------- | -| `ACCESSIBILITY` | | -| `API_FUZZING` | | -| `ARCHIVE` | | -| `BROWSER_PERFORMANCE` | | -| `CLUSTER_APPLICATIONS` | | -| `COBERTURA` | | -| `CODEQUALITY` | | -| `CONTAINER_SCANNING` | | -| `COVERAGE_FUZZING` | | -| `DAST` | | -| `DEPENDENCY_SCANNING` | | -| `DOTENV` | | -| `JUNIT` | | -| `LICENSE_MANAGEMENT` | | -| `LICENSE_SCANNING` | | -| `LOAD_PERFORMANCE` | | -| `LSIF` | | -| `METADATA` | | -| `METRICS` | | -| `METRICS_REFEREE` | | -| `NETWORK_REFEREE` | | -| `PERFORMANCE` | | -| `REQUIREMENTS` | | -| `SAST` | | -| `SECRET_DETECTION` | | -| `TERRAFORM` | | -| `TRACE` | | +| `ACCESSIBILITY` | ACCESSIBILITY job artifact file type. | +| `API_FUZZING` | API FUZZING job artifact file type. | +| `ARCHIVE` | ARCHIVE job artifact file type. | +| `BROWSER_PERFORMANCE` | BROWSER PERFORMANCE job artifact file type. | +| `CLUSTER_APPLICATIONS` | CLUSTER APPLICATIONS job artifact file type. | +| `COBERTURA` | COBERTURA job artifact file type. | +| `CODEQUALITY` | CODE QUALITY job artifact file type. | +| `CONTAINER_SCANNING` | CONTAINER SCANNING job artifact file type. | +| `COVERAGE_FUZZING` | COVERAGE FUZZING job artifact file type. | +| `DAST` | DAST job artifact file type. | +| `DEPENDENCY_SCANNING` | DEPENDENCY SCANNING job artifact file type. | +| `DOTENV` | DOTENV job artifact file type. | +| `JUNIT` | JUNIT job artifact file type. | +| `LICENSE_MANAGEMENT` | LICENSE MANAGEMENT job artifact file type. | +| `LICENSE_SCANNING` | LICENSE SCANNING job artifact file type. | +| `LOAD_PERFORMANCE` | LOAD PERFORMANCE job artifact file type. | +| `LSIF` | LSIF job artifact file type. | +| `METADATA` | METADATA job artifact file type. | +| `METRICS` | METRICS job artifact file type. | +| `METRICS_REFEREE` | METRICS REFEREE job artifact file type. | +| `NETWORK_REFEREE` | NETWORK REFEREE job artifact file type. | +| `PERFORMANCE` | PERFORMANCE job artifact file type. | +| `REQUIREMENTS` | REQUIREMENTS job artifact file type. | +| `SAST` | SAST job artifact file type. | +| `SECRET_DETECTION` | SECRET DETECTION job artifact file type. | +| `TERRAFORM` | TERRAFORM job artifact file type. | +| `TRACE` | TRACE job artifact file type. | ### ListLimitMetric diff --git a/doc/development/usage_ping.md b/doc/development/usage_ping.md index fc807b4a2f8..7fa253e75f5 100644 --- a/doc/development/usage_ping.md +++ b/doc/development/usage_ping.md @@ -752,7 +752,7 @@ alt_usage_data(999) ### Adding counters to build new metrics -When adding the results of two counters, use the `add` usage data method that +When adding the results of two counters, use the `add` usage data method that handles fallback values and exceptions. It also generates a valid [SQL export](#exporting-usage-ping-sql-queries-and-definitions). Example usage: @@ -869,7 +869,7 @@ Ensure you comply with the [Changelog entries guide](changelog.md). ### 9. Ask for a Product Intelligence Review -On GitLab.com, we have DangerBot setup to monitor Product Intelligence related files and DangerBot recommends a Product Intelligence review. Mention `@gitlab-org/growth/product_intelligence/engineers` in your MR for a review. +On GitLab.com, we have DangerBot setup to monitor Product Intelligence related files and DangerBot recommends a [Product Intelligence review](usage_ping/product_intelligence_review.md). Mention `@gitlab-org/growth/product_intelligence/engineers` in your MR for a review. ### 10. Verify your metric diff --git a/doc/development/usage_ping/metrics_dictionary.md b/doc/development/usage_ping/metrics_dictionary.md index f27e258a9c2..a1f24ccd99c 100644 --- a/doc/development/usage_ping/metrics_dictionary.md +++ b/doc/development/usage_ping/metrics_dictionary.md @@ -35,14 +35,14 @@ Each metric is defined in a separate YAML file consisting of a number of fields: | `value_type` | yes | `string`; one of `string`, `number`, `boolean`. | | `status` | yes | `string`; status of the metric, may be set to `data_available`, `planned`, `in_progress`, `implemented`, `not_used`, `deprecated` | | `time_frame` | yes | `string`; may be set to a value like `7d`, `28d`, `all`, `none`. | -| `data_source` | yes | `string`: may be set to a value like `database`, `redis`, `redis_hll`, `prometheus`, `ruby`. | -| `distribution` | yes | The [distribution](https://about.gitlab.com/handbook/marketing/strategic-marketing/tiers/#definitions) where the metric applies. | -| `tier` | yes | The [tier]( https://about.gitlab.com/handbook/marketing/strategic-marketing/tiers/) where the metric applies. | +| `data_source` | yes | `string`; may be set to a value like `database`, `redis`, `redis_hll`, `prometheus`, `ruby`. | +| `distribution` | yes | `array`; may be set to one of `ce, ee` or `ee`. The [distribution](https://about.gitlab.com/handbook/marketing/strategic-marketing/tiers/#definitions) where the tracked feature is available. | +| `tier` | yes | `array`; may be set to one of `free, premium, ultimate`, `premium, ultimate` or `ultimate`. The [tier]( https://about.gitlab.com/handbook/marketing/strategic-marketing/tiers/) where the tracked feature is available. | | `milestone` | no | The milestone when the metric is introduced. | | `milestone_removed` | no | The milestone when the metric is removed. | | `introduced_by_url` | no | The URL to the Merge Request that introduced the metric. | -### Example metric definition +### Example YAML metric definition The linked [`uuid`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/license/uuid.yml) YAML file includes an example metric definition, where the `uuid` metric is the GitLab @@ -93,3 +93,9 @@ To create a metric definition used in EE, add the `--ee` flag. bundle exec rails generate gitlab:usage_metric_definition counts.issues --ee --dir=7d create ee/config/metrics/counts_7d/issues.yml ``` + +## Metrics added dynamic to Usage Ping payload + +The [Redis HLL metrics](../usage_ping.md#known-events-are-added-automatically-in-usage-data-payload) are added automatically to Usage Ping payload. + +A YAML metric definition is required for each metric. diff --git a/doc/development/usage_ping/product_intelligence_review.md b/doc/development/usage_ping/product_intelligence_review.md new file mode 100644 index 00000000000..852166cc7a3 --- /dev/null +++ b/doc/development/usage_ping/product_intelligence_review.md @@ -0,0 +1,80 @@ +--- +stage: Growth +group: Product Intelligence +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments +--- + +# Product Intelligence review guidelines + +This page includes introductory material for a +[Product Intelligence](https://about.gitlab.com/handbook/engineering/development/growth/product-intelligence/) +review, and is specific to Product Intelligence reviews. For broader advice and +general best practices for code reviews, refer to our [code review guide](../code_review.md). + +## Resources for Product Intelligence reviewers + +- [Usage Ping Guide](../usage_ping.md) +- [Snowplow Guide](../snowplow.md) +- [Metrics Dictionary](metrics_dictionary.md) + +## Review process + +We recommend a Product Intelligence review when an application update touches +Product Intelligence files. + +- Changes that touch `usage_data*` files. +- Changes to the Metrics Dictionary including files in: + - [`config/metrics`](https://gitlab.com/gitlab-org/gitlab/-/tree/master/config/metrics). + - [`ee/config/metrics`](https://gitlab.com/gitlab-org/gitlab/-/tree/master/ee/config/metrics). + - [`dictionary.md`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/development/usage_ping/dictionary.md). + - [`schema.json`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/config/metrics/schema.json). +- Changes to `tracking` files. +- Changes to Product Intelligence tooling. For example, + [`Gitlab::UsageMetricDefinitionGenerator`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/generators/gitlab/usage_metric_definition_generator.rb) + +### Roles and process + +The merge request **author** should: + +- Decide whether a Product Intelligence review is needed. +- If a Product Intelligence review is needed, add the labels + `~product intelligence` and `~product intelligence::review pending`. +- Assign an + [engineer](https://gitlab.com/groups/gitlab-org/growth/product-intelligence/engineers/-/group_members?with_inherited_permissions=exclude) from the Product Intelligence team for a review. +- Set the correct attributes in YAML metrics: + - `product_section`, `product_stage`, `product_group`, `product_category` + - Provide a clear description of the metric. +- Update the + [Metrics Dictionary](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/development/usage_ping/dictionary.md) if it is needed. +- Add a changelog [according to guidelines](../changelog.md). + +The Product Intelligence **reviewer** should: + +- Perform a first-pass review on the merge request and suggest improvements to the author. +- Approve the MR, and relabel the MR with `~"product intelligence::approved"`. + +## Review workload distribution + +[Danger bot](../dangerbot.md) adds the list of Product Intelligence changed files +and pings the +[`@gitlab-org/growth/product-intelligence/engineers`](https://gitlab.com/groups/gitlab-org/growth/product-intelligence/engineers/-/group_members?with_inherited_permissions=exclude) group for merge requests +that are not drafts. + +Any of the Product Intelligence engineers can be assigned for the Product Intelligence review. + +### How to review for Product Intelligence + +- Check the [metrics location](../usage_ping.md#1-naming-and-placing-the-metrics) in + the Usage Ping JSON payload. +- Add `~database` label and ask for [database review](../database_review.md) for + metrics that are based on Database. +- For tracking using Redis HLL (HyperLogLog): + - Check the Redis slot. + - Check if a [feature flag is needed](../usage_ping.md#recommendations). +- Metrics YAML definitions: + - Check the metric `description`. + - Check the metrics `key_path`. + - Check the `product_section`, `product_stage`, `product_group`, `product_category`. + Read the [stages file](https://gitlab.com/gitlab-com/www-gitlab-com/blob/master/data/stages.yml). + - Check the file location. Consider the time frame, and if the file should be under `ee`. + - Check the tiers. |