diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-03-24 06:09:28 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-03-24 06:09:28 +0300 |
commit | be2f4c5788975597dd7be1c8a3525549770c1216 (patch) | |
tree | 083ed0d7e29e26d479c00e00d9cb89d74ebbb0ef /doc/development | |
parent | 2711c26beaca6c3a5a3be4b65e01557faf0185b6 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'doc/development')
-rw-r--r-- | doc/development/architecture.md | 8 | ||||
-rw-r--r-- | doc/development/diffs.md | 2 | ||||
-rw-r--r-- | doc/development/documentation/styleguide.md | 20 | ||||
-rw-r--r-- | doc/development/filtering_by_label.md | 2 | ||||
-rw-r--r-- | doc/development/merge_request_performance_guidelines.md | 2 | ||||
-rw-r--r-- | doc/development/sidekiq_style_guide.md | 4 | ||||
-rw-r--r-- | doc/development/understanding_explain_plans.md | 12 |
7 files changed, 29 insertions, 21 deletions
diff --git a/doc/development/architecture.md b/doc/development/architecture.md index d1ae4fbec18..fd2a6cb0f3c 100644 --- a/doc/development/architecture.md +++ b/doc/development/architecture.md @@ -144,7 +144,7 @@ Component statuses are linked to configuration documentation for each component. | [GitLab self-monitoring: Sentry](#sentry) | Track errors generated by the GitLab instance | [⤓][sentry-omnibus] | [❌][sentry-charts] | [❌][sentry-charts] | [✅](https://about.gitlab.com/handbook/support/workflows/500_errors.html#searching-sentry) | [⤓][gitlab-yml] | [⤓][gitlab-yml] | CE & EE | | [GitLab self-monitoring: Jaeger](#jaeger) | View traces generated by the GitLab instance | [❌][jaeger-omnibus] | [❌][jaeger-charts] | [❌][jaeger-charts] | [❌](https://gitlab.com/gitlab-org/omnibus-gitlab/issues/4104) | [⤓][jaeger-source] | [⚙][jaeger-gdk] | CE & EE | | [Redis Exporter](#redis-exporter) | Prometheus endpoint with Redis metrics | [✅][redis-exporter-omnibus] | [✅][redis-exporter-charts] | [✅][redis-exporter-charts] | [✅](https://about.gitlab.com/handbook/engineering/monitoring/) | ❌ | ❌ | CE & EE | -| [Postgres Exporter](#postgres-exporter) | Prometheus endpoint with PostgreSQL metrics | [✅][postgres-exporter-omnibus] | [✅][postgres-exporter-charts] | [✅][postgres-exporter-charts] | [✅](https://about.gitlab.com/handbook/engineering/monitoring/) | ❌ | ❌ | CE & EE | +| [PostgreSQL Exporter](#postgresql-exporter) | Prometheus endpoint with PostgreSQL metrics | [✅][postgres-exporter-omnibus] | [✅][postgres-exporter-charts] | [✅][postgres-exporter-charts] | [✅](https://about.gitlab.com/handbook/engineering/monitoring/) | ❌ | ❌ | CE & EE | | [PgBouncer Exporter](#pgbouncer-exporter) | Prometheus endpoint with PgBouncer metrics | [⚙][pgbouncer-exporter-omnibus] | [❌][pgbouncer-exporter-charts] | [❌][pgbouncer-exporter-charts] | [✅](https://about.gitlab.com/handbook/engineering/monitoring/) | ❌ | ❌ | CE & EE | | [GitLab Exporter](#gitlab-exporter) | Generates a variety of GitLab metrics | [✅][gitlab-exporter-omnibus] | [✅][gitlab-exporter-charts] | [✅][gitlab-exporter-charts] | [✅](https://about.gitlab.com/handbook/engineering/monitoring/) | ❌ | ❌ | CE & EE | | [Node Exporter](#node-exporter) | Prometheus endpoint with system metrics | [✅][node-exporter-omnibus] | [N/A][node-exporter-charts] | [N/A][node-exporter-charts] | [✅](https://about.gitlab.com/handbook/engineering/monitoring/) | ❌ | ❌ | CE & EE | @@ -366,14 +366,14 @@ Prometheus exporter for PgBouncer. Exports metrics at 9127/metrics. GitLab packages the popular Database to provide storage for Application meta data and user information. -#### Postgres Exporter +#### PostgreSQL Exporter - [Project page](https://github.com/wrouesnel/postgres_exporter/blob/master/README.md) - Configuration: [Omnibus][postgres-exporter-omnibus], [Charts][postgres-exporter-charts] - Layer: Monitoring - Process: `postgres-exporter` -[Postgres-exporter](https://github.com/wrouesnel/postgres_exporter) is the community provided Prometheus exporter that will deliver data about Postgres to Prometheus for use in Grafana Dashboards. +[`postgres_exporter`](https://github.com/wrouesnel/postgres_exporter) is the community provided Prometheus exporter that will deliver data about PostgreSQL to Prometheus for use in Grafana Dashboards. #### Prometheus @@ -486,7 +486,7 @@ When making a request to an HTTP Endpoint (think `/users/sign_in`) the request w - NGINX - Acts as our first line reverse proxy. - GitLab Workhorse - This determines if it needs to go to the Rails application or somewhere else to reduce load on Unicorn. - Unicorn - Since this is a web request, and it needs to access the application it will go to Unicorn. -- Postgres/Gitaly/Redis - Depending on the type of request, it may hit these services to store or retrieve data. +- PostgreSQL/Gitaly/Redis - Depending on the type of request, it may hit these services to store or retrieve data. ### GitLab Git Request Cycle diff --git a/doc/development/diffs.md b/doc/development/diffs.md index 43d0d6b4902..3f855d90756 100644 --- a/doc/development/diffs.md +++ b/doc/development/diffs.md @@ -26,7 +26,7 @@ The diffs fetching process _limits_ single file diff sizes and the overall size then persisted on `merge_request_diff_files` table. Even though diffs larger than 10% of the value of `ApplicationSettings#diff_max_patch_bytes` are collapsed, -we still keep them on Postgres. However, diff files larger than defined _safety limits_ +we still keep them on PostgreSQL. However, diff files larger than defined _safety limits_ (see the [Diff limits section](#diff-limits)) are _not_ persisted in the database. In order to present diffs information on the Merge Request diffs page, we: diff --git a/doc/development/documentation/styleguide.md b/doc/development/documentation/styleguide.md index 23faeed13a3..f2b59b60fe6 100644 --- a/doc/development/documentation/styleguide.md +++ b/doc/development/documentation/styleguide.md @@ -1132,26 +1132,28 @@ a helpful link back to how the feature was developed. - For features that need to declare the GitLab version that the feature was introduced. Text similar to the following should be added immediately below the heading as a blockquote: - - ```md - > Introduced in GitLab 11.3. - ``` + - `> Introduced in GitLab 11.3.`. - Whenever possible, version text should have a link to the issue, merge request, or epic that introduced the feature. An issue is preferred over a merge request, and a merge request is preferred over an epic. For example: - - ```md - > [Introduced](<link-to-issue>) in GitLab 11.3. - ``` + - `> [Introduced](<link-to-issue>) in GitLab 11.3.`. - If the feature is only available in GitLab Enterprise Edition, mention the [paid tier](https://about.gitlab.com/handbook/marketing/product-marketing/#tiers) the feature is available in: + - `> [Introduced](<link-to-issue>) in [GitLab Starter](https://about.gitlab.com/pricing/) 11.3.`. + +- If listing information for multiple version as a feature evolves, add the information to a + block-quoted bullet list. For example: ```md - > [Introduced](<link-to-issue>) in [GitLab Starter](https://about.gitlab.com/pricing/) 11.3. + > - [Introduced](<link-to-issue>) in GitLab 11.3. + > - Enabled by default in GitLab 11.4. ``` +NOTE: **Note:** +Version text must be on its own line and surounded by blank lines to render correctly. + ### Importance of referencing GitLab versions and tiers Mentioning GitLab versions and tiers is important to all users and contributors diff --git a/doc/development/filtering_by_label.md b/doc/development/filtering_by_label.md index c8610315012..6f6d7afc040 100644 --- a/doc/development/filtering_by_label.md +++ b/doc/development/filtering_by_label.md @@ -80,7 +80,7 @@ it did not improve query performance. ## Attempt B: Denormalize using an array column Having [removed MySQL support in GitLab 12.1](https://about.gitlab.com/blog/2019/06/27/removing-mysql-support/), -using [Postgres's arrays](https://www.postgresql.org/docs/9.6/arrays.html) became more +using [PostgreSQL's arrays](https://www.postgresql.org/docs/9.6/arrays.html) became more tractable as we didn't have to support two databases. We discussed denormalizing the `label_links` table for querying in [issue #49651](https://gitlab.com/gitlab-org/gitlab-foss/issues/49651), diff --git a/doc/development/merge_request_performance_guidelines.md b/doc/development/merge_request_performance_guidelines.md index 031a8b515e6..7f5ffe525af 100644 --- a/doc/development/merge_request_performance_guidelines.md +++ b/doc/development/merge_request_performance_guidelines.md @@ -205,7 +205,7 @@ Using [`ReactiveCaching`](utilities.md#reactivecaching) is one of the best solut **Summary:** You should avoid accessing to external services like Gitaly during database transactions, otherwise it leads to severe contention problems -as an open transaction basically blocks the release of a Postgres backend connection. +as an open transaction basically blocks the release of a PostgreSQL backend connection. For keeping transaction as minimal as possible, please consider using `AfterCommitQueue` module or `after_commit` AR hook. diff --git a/doc/development/sidekiq_style_guide.md b/doc/development/sidekiq_style_guide.md index 1590c7a6d44..b44730b3c88 100644 --- a/doc/development/sidekiq_style_guide.md +++ b/doc/development/sidekiq_style_guide.md @@ -181,7 +181,7 @@ execution latency requirements (but also has lower scheduling targets). ## Jobs with External Dependencies Most background jobs in the GitLab application communicate with other GitLab -services. For example, Postgres, Redis, Gitaly, and Object Storage. These are considered +services. For example, PostgreSQL, Redis, Gitaly, and Object Storage. These are considered to be "internal" dependencies for a job. However, some jobs will be dependent on external services in order to complete @@ -224,7 +224,7 @@ Workers that are constrained by CPU or memory resource limitations should be annotated with the `worker_resource_boundary` method. Most workers tend to spend most of their time blocked, wait on network responses -from other services such as Redis, Postgres and Gitaly. Since Sidekiq is a +from other services such as Redis, PostgreSQL, and Gitaly. Since Sidekiq is a multithreaded environment, these jobs can be scheduled with high concurrency. Some workers, however, spend large amounts of time _on-CPU_ running logic in diff --git a/doc/development/understanding_explain_plans.md b/doc/development/understanding_explain_plans.md index 8b1a6df72c4..97225e48976 100644 --- a/doc/development/understanding_explain_plans.md +++ b/doc/development/understanding_explain_plans.md @@ -651,8 +651,8 @@ different queries. The only _rule_ is that you _must always measure_ your query (preferably using a production-like database) using `EXPLAIN (ANALYZE, BUFFERS)` and related tools such as: -- <https://explain.depesz.com/> -- <http://tatiyants.com/postgres-query-plan-visualization/> +- [`explain.depesz.com`](https://explain.depesz.com/). +- [Pev](http://tatiyants.com/postgres-query-plan-visualization/). ## Producing query plans @@ -707,7 +707,13 @@ For more information about the available options, run: ### `#database-lab` -Another tool GitLab employees can use is a chatbot powered by [Joe](https://gitlab.com/postgres-ai/joe) which uses [Database Lab](https://gitlab.com/postgres-ai/database-lab) to instantly provide developers with their own clone of the production database. Joe is available in the [`#database-lab`](https://gitlab.slack.com/archives/CLJMDRD8C) channel on Slack. +Another tool GitLab employees can use is a chatbot powered by [Joe](https://gitlab.com/postgres-ai/joe) +which uses [Database Lab](https://gitlab.com/postgres-ai/database-lab) to instantly provide developers +with their own clone of the production database. + +Joe is available in the +[`#database-lab`](https://gitlab.slack.com/archives/CLJMDRD8C) channel on Slack. + Unlike chatops, it gives you a way to execute DDL statements (like creating indexes and tables) and get query plan not only for `SELECT` but also `UPDATE` and `DELETE`. For example, in order to test new index you can do the following: |