Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'doc/development/database_query_comments.md')
-rw-r--r--doc/development/database_query_comments.md65
1 files changed, 7 insertions, 58 deletions
diff --git a/doc/development/database_query_comments.md b/doc/development/database_query_comments.md
index 2798071bc06..7f9def7e567 100644
--- a/doc/development/database_query_comments.md
+++ b/doc/development/database_query_comments.md
@@ -1,62 +1,11 @@
---
-stage: Data Stores
-group: Database
-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
+redirect_to: 'database/database_query_comments.md'
+remove_date: '2022-11-05'
---
-# Database query comments with Marginalia
+This document was moved to [another location](database/database_query_comments.md).
-The [Marginalia gem](https://github.com/basecamp/marginalia) is used to add
-query comments containing application related context information to PostgreSQL
-queries generated by ActiveRecord.
-
-It is very useful for tracing problematic queries back to the application source.
-
-An engineer during an on-call incident has the full context of a query
-and its application source from the comments.
-
-## Metadata information in comments
-
-Queries generated from **Rails** include the following metadata in comments:
-
-- `application`
-- `correlation_id`
-- `endpoint_id`
-- `line`
-
-Queries generated from **Sidekiq** workers include the following metadata
-in comments:
-
-- `application`
-- `jid`
-- `correlation_id`
-- `endpoint_id`
-- `line`
-
-`endpoint_id` is a single field that can represent any endpoint in the application:
-
-- For Rails controllers, it's the controller and action. For example, `Projects::BlobController#show`.
-- For Grape API endpoints, it's the route. For example, `/api/:version/users/:id`.
-- For Sidekiq workers, it's the worker class name. For example, `UserStatusCleanup::BatchWorker`.
-
-`line` is not present in production logs due to the additional overhead required.
-
-Examples of queries with comments:
-
-- Rails:
-
- ```sql
- /*application:web,controller:blob,action:show,correlation_id:01EZVMR923313VV44ZJDJ7PMEZ,endpoint_id:Projects::BlobController#show*/ SELECT "routes".* FROM "routes" WHERE "routes"."source_id" = 75 AND "routes"."source_type" = 'Namespace' LIMIT 1
- ```
-
-- Grape:
-
- ```sql
- /*application:web,correlation_id:01EZVN0DAYGJF5XHG9N4VX8FAH,endpoint_id:/api/:version/users/:id*/ SELECT COUNT(*) FROM "users" INNER JOIN "user_follow_users" ON "users"."id" = "user_follow_users"."followee_id" WHERE "user_follow_users"."follower_id" = 1
- ```
-
-- Sidekiq:
-
- ```sql
- /*application:sidekiq,correlation_id:df643992563683313bc0a0288fb55e23,jid:15fbc506590c625d7664b074,endpoint_id:UserStatusCleanup::BatchWorker,line:/app/workers/user_status_cleanup/batch_worker.rb:19:in `perform'*/ SELECT $1 AS one FROM "user_statuses" WHERE "user_statuses"."clear_status_at" <= $2 LIMIT $3
- ```
+<!-- This redirect file can be deleted after <2022-11-05>. -->
+<!-- Redirects that point to other docs in the same project expire in three months. -->
+<!-- Redirects that point to docs in a different project or site (for example, link is not relative and starts with `https:`) expire in one year. -->
+<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/redirects.html -->