{
  "swagger": "2.0",
  "info": {
    "description": "This is a Ngm API",
    "title": "Ngm API",
    "contact": {},
    "version": "1.0"
  },
  "paths": {
    "/continuous_profiling/action_token": {
      "get": {
        "description": "Get action token for download or view profile",
        "produces": ["application/json"],
        "tags": ["conprof"],
        "summary": "Get action token for download or view profile",
        "parameters": [
          {
            "type": "string",
            "description": "provider aws/gcp",
            "name": "x-provider",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "region",
            "name": "x-region",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "organization id from dbaas",
            "name": "x-org-id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "project id from dbaas",
            "name": "x-project-id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "cluster id from dbaas",
            "name": "x-cluster-id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "target query string",
            "name": "q",
            "in": "query",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "string"
            }
          }
        }
      }
    },
    "/continuous_profiling/download": {
      "get": {
        "description": "Download profile",
        "tags": ["conprof"],
        "summary": "Download profile",
        "parameters": [
          {
            "type": "string",
            "description": "token for download or view profile",
            "name": "token",
            "in": "query",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "file"
            }
          }
        }
      }
    },
    "/continuous_profiling/group_profile/detail": {
      "get": {
        "description": "Get detail of profile",
        "produces": ["application/json"],
        "tags": ["conprof"],
        "summary": "Get detail of profile",
        "parameters": [
          {
            "type": "string",
            "description": "provider aws/gcp",
            "name": "x-provider",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "region",
            "name": "x-region",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "organization id from dbaas",
            "name": "x-org-id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "project id from dbaas",
            "name": "x-project-id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "cluster id from dbaas",
            "name": "x-cluster-id",
            "in": "header",
            "required": true
          },
          {
            "type": "integer",
            "description": "timestamp in seconds",
            "name": "ts",
            "in": "query",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/conprof.detailResponse"
            }
          }
        }
      }
    },
    "/continuous_profiling/group_profiles": {
      "get": {
        "description": "Get list of profile",
        "produces": ["application/json"],
        "tags": ["conprof"],
        "summary": "Get list of profile",
        "parameters": [
          {
            "type": "string",
            "description": "provider aws/gcp",
            "name": "x-provider",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "region",
            "name": "x-region",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "organization id from dbaas",
            "name": "x-org-id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "project id from dbaas",
            "name": "x-project-id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "cluster id from dbaas",
            "name": "x-cluster-id",
            "in": "header",
            "required": true
          },
          {
            "type": "integer",
            "description": "begin time in unix seconds",
            "name": "begin_time",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "end time in unix seconds",
            "name": "end_time",
            "in": "query",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/conprof.listResponseItem"
              }
            }
          }
        }
      }
    },
    "/continuous_profiling/single_profile/view": {
      "get": {
        "description": "Single view profile for speedscope",
        "tags": ["conprof"],
        "summary": "Single view profile for speedscope",
        "parameters": [
          {
            "type": "string",
            "description": "token for download or view profile",
            "name": "token",
            "in": "query",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "file"
            }
          }
        }
      }
    },
    "/keyvisual/config": {
      "get": {
        "description": "Mock config for keyvisual",
        "summary": "Key Visual Config",
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/keyviz.KeyVisualConfig"
            }
          }
        }
      }
    },
    "/keyvisual/heatmaps": {
      "get": {
        "description": "Heatmaps in a given range to visualize TiKV usage",
        "summary": "Key Visual Heatmaps",
        "parameters": [
          {
            "type": "string",
            "description": "The start of the key range",
            "name": "startkey",
            "in": "query"
          },
          {
            "type": "string",
            "description": "The end of the key range",
            "name": "endkey",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "The start of the time range (Unix)",
            "name": "starttime",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "The end of the time range (Unix)",
            "name": "endtime",
            "in": "query"
          },
          {
            "enum": ["written_bytes", "read_bytes", "written_keys", "read_keys", "integration"],
            "type": "string",
            "description": "Main types of data",
            "name": "type",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/k.Matrix"
            }
          }
        }
      }
    },
    "/oom_record/files": {
      "get": {
        "description": "download file for oom record",
        "produces": ["application/json"],
        "tags": ["oom record"],
        "summary": "Download file for oom record",
        "parameters": [
          {
            "type": "string",
            "description": "provider aws/gcp",
            "name": "provider",
            "in": "query",
            "required": true
          },
          {
            "type": "string",
            "description": "region",
            "name": "region",
            "in": "query",
            "required": true
          },
          {
            "type": "string",
            "description": "object key",
            "name": "key",
            "in": "query",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "file"
            }
          }
        }
      }
    },
    "/oom_record/list": {
      "get": {
        "description": "list file info for oom record",
        "produces": ["application/json"],
        "tags": ["oom record"],
        "summary": "List file info for oom record",
        "parameters": [
          {
            "type": "string",
            "description": "provider aws/gcp",
            "name": "X-Provider",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "region",
            "name": "X-Region",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "organization id from dbaas",
            "name": "X-Org-Id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "project id from dbaas",
            "name": "X-Project-Id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "cluster id from dbaas",
            "name": "X-Cluster-Id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "instances, separate by comma",
            "name": "instances",
            "in": "query"
          },
          {
            "type": "string",
            "description": "start time in unix seconds",
            "name": "start",
            "in": "query",
            "required": true
          },
          {
            "type": "string",
            "description": "end time in unix seconds",
            "name": "end",
            "in": "query",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/api.ListData"
            }
          }
        }
      }
    },
    "/oom_record/top10_mem_usage": {
      "get": {
        "description": "get top 10 memory usage from heap profile",
        "produces": ["application/json"],
        "tags": ["oom record"],
        "summary": "Get top 10 memory usage from heap profile",
        "parameters": [
          {
            "type": "string",
            "description": "provider aws/gcp",
            "name": "provider",
            "in": "query",
            "required": true
          },
          {
            "type": "string",
            "description": "region",
            "name": "region",
            "in": "query",
            "required": true
          },
          {
            "type": "string",
            "description": "object key",
            "name": "key",
            "in": "query",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/api.HeapResult"
            }
          }
        }
      }
    },
    "/performance_insight/index_advisor/results": {
      "get": {
        "description": "List results of index advisor.",
        "produces": ["application/json"],
        "tags": ["performance_insight_index_advisor"],
        "summary": "List Index Advises",
        "parameters": [
          {
            "type": "string",
            "description": "dbaas user header, added automatically by clinic api-gateway, {id:1} encodes to eyJpZCI6MX0=",
            "name": "X-CLOUD-USER",
            "in": "header",
            "required": true
          },
          {
            "enum": ["asc", "desc"],
            "type": "string",
            "default": "desc",
            "description": "sort by update time before pagination",
            "name": "order_by_update_time",
            "in": "query"
          },
          {
            "type": "integer",
            "default": 30,
            "description": "the number of items per page",
            "name": "limit",
            "in": "query"
          },
          {
            "type": "integer",
            "default": 1,
            "description": "the page index",
            "name": "page",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/api.ListIndexAdvisesResponse"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "412": {
            "description": "Precondition Failed",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          }
        }
      }
    },
    "/performance_insight/index_advisor/results/{id}": {
      "get": {
        "description": "Get details of index advisor result.",
        "produces": ["application/json"],
        "tags": ["performance_insight_index_advisor"],
        "summary": "Get Details of Index Advise",
        "parameters": [
          {
            "type": "string",
            "description": "dbaas user header, added automatically by clinic api-gateway, {id:1} encodes to eyJpZCI6MX0=",
            "name": "X-CLOUD-USER",
            "in": "header",
            "required": true
          },
          {
            "type": "integer",
            "description": "result id",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/api.IndexAdvisorResult"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "412": {
            "description": "Precondition Failed",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          }
        }
      }
    },
    "/performance_insight/tasks": {
      "get": {
        "description": "List performance insight tasks.",
        "produces": ["application/json"],
        "tags": ["performance_insight_task"],
        "summary": "List Task Overview",
        "parameters": [
          {
            "type": "string",
            "description": "dbaas user header, added automatically by clinic api-gateway, {id:1} encodes to eyJpZCI6MX0=",
            "name": "X-CLOUD-USER",
            "in": "header",
            "required": true
          },
          {
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "csv",
            "description": "task status list; if not specified, any status is allowed",
            "name": "status",
            "in": "query"
          },
          {
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "csv",
            "description": "task type list; if not specified, any type is allowed",
            "name": "types",
            "in": "query"
          },
          {
            "enum": ["asc", "desc"],
            "type": "string",
            "default": "desc",
            "description": "sort by update time before pagination",
            "name": "order_by_update_time",
            "in": "query"
          },
          {
            "type": "integer",
            "default": 30,
            "description": "the number of items per page",
            "name": "limit",
            "in": "query"
          },
          {
            "type": "integer",
            "default": 1,
            "description": "the page index",
            "name": "page",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/api.ListTaskResponse"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "412": {
            "description": "Precondition Failed",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          }
        }
      },
      "post": {
        "description": "Create a performance insight task for a specific dbaas cluster.",
        "produces": ["application/json"],
        "tags": ["performance_insight_task"],
        "summary": "Create Task",
        "parameters": [
          {
            "type": "string",
            "description": "dbaas user header, added automatically by clinic api-gateway, {id:1} encodes to eyJpZCI6MX0=",
            "name": "X-CLOUD-USER",
            "in": "header",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/api.CreateTaskResponse"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "412": {
            "description": "Precondition Failed",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          }
        }
      }
    },
    "/performance_insight/tasks/latest": {
      "get": {
        "description": "Get the latest performance insight task.",
        "produces": ["application/json"],
        "tags": ["performance_insight_task"],
        "summary": "Get Details of the Latest Task",
        "parameters": [
          {
            "type": "string",
            "description": "dbaas user header, added automatically by clinic api-gateway, {id:1} encodes to eyJpZCI6MX0=",
            "name": "X-CLOUD-USER",
            "in": "header",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/api.LatestTaskResponse"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "412": {
            "description": "Precondition Failed",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          }
        }
      }
    },
    "/performance_insight/tasks/{task_id}": {
      "get": {
        "description": "Get a performance insight task.",
        "produces": ["application/json"],
        "tags": ["performance_insight_task"],
        "summary": "Get Details of A Task",
        "parameters": [
          {
            "type": "string",
            "description": "dbaas user header, added automatically by clinic api-gateway, {id:1} encodes to eyJpZCI6MX0=",
            "name": "X-CLOUD-USER",
            "in": "header",
            "required": true
          },
          {
            "type": "integer",
            "description": "cluster id from dbaas",
            "name": "task_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/api.Task"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "412": {
            "description": "Precondition Failed",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          }
        }
      },
      "delete": {
        "description": "cancel a performance insight task.",
        "produces": ["application/json"],
        "tags": ["performance_insight_task"],
        "summary": "Cancel A Task",
        "parameters": [
          {
            "type": "string",
            "description": "dbaas user header, added automatically by clinic api-gateway, {id:1} encodes to eyJpZCI6MX0=",
            "name": "X-CLOUD-USER",
            "in": "header",
            "required": true
          },
          {
            "type": "integer",
            "description": "cluster id from dbaas",
            "name": "task_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "succeeded",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "412": {
            "description": "Precondition Failed",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          }
        }
      }
    },
    "/performance_insight/tidb_connection": {
      "get": {
        "description": "Check if the cluster is activated",
        "produces": ["application/json"],
        "tags": ["performance_insight_connection"],
        "summary": "Check if the cluster is activated",
        "parameters": [
          {
            "type": "string",
            "description": "dbaas user header, added automatically by clinic api-gateway, {id:1} encodes to eyJpZCI6MX0=",
            "name": "X-CLOUD-USER",
            "in": "header",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "boolean"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "412": {
            "description": "Precondition Failed",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          }
        }
      },
      "post": {
        "description": "Submit mysql account and password. Performance insight tasks use them to execute sql directly against TiDB cluster.",
        "produces": ["application/json"],
        "tags": ["performance_insight_connection"],
        "summary": "Activate and Submit MySQL Account/Password",
        "parameters": [
          {
            "type": "string",
            "description": "dbaas user header, added automatically by clinic api-gateway, {id:1} encodes to eyJpZCI6MX0=",
            "name": "X-CLOUD-USER",
            "in": "header",
            "required": true
          },
          {
            "description": "mysql account",
            "name": "account",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/api.SubmitMysqlAccountRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "succeeded",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "412": {
            "description": "Precondition Failed",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          }
        }
      },
      "delete": {
        "description": "Delete cluster info, task info and all results.",
        "produces": ["application/json"],
        "tags": ["performance_insight_connection"],
        "summary": "Deactivate and Delete All records",
        "parameters": [
          {
            "type": "string",
            "description": "dbaas user header, added automatically by clinic api-gateway, {id:1} encodes to eyJpZCI6MX0=",
            "name": "X-CLOUD-USER",
            "in": "header",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "succeeded",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "412": {
            "description": "Precondition Failed",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          }
        }
      }
    },
    "/performance_insight/tidb_connection/clinic_outbound_public_addresses": {
      "get": {
        "description": "Get clinic public addresses, so that customers can add them into the ip whitelist.",
        "produces": ["application/json"],
        "tags": ["performance_insight_connection"],
        "summary": "Get Clinic Public Addresses",
        "parameters": [
          {
            "type": "string",
            "description": "dbaas user header, added automatically by clinic api-gateway, {id:1} encodes to eyJpZCI6MX0=",
            "name": "X-CLOUD-USER",
            "in": "header",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/api.GetClinicPublicAddressResponse"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "412": {
            "description": "Precondition Failed",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          }
        }
      }
    },
    "/performance_insight/unstable_plan/statements": {
      "get": {
        "description": "List statement overview of unstable plan insight results.",
        "produces": ["application/json"],
        "tags": ["performance_insight_unstable_plan"],
        "summary": "List Statement Overview",
        "parameters": [
          {
            "type": "string",
            "description": "dbaas user header, added automatically by clinic api-gateway, {id:1} encodes to eyJpZCI6MX0=",
            "name": "X-CLOUD-USER",
            "in": "header",
            "required": true
          },
          {
            "enum": ["asc", "desc"],
            "type": "string",
            "default": "desc",
            "description": "sort by update time before pagination",
            "name": "order_by_update_time",
            "in": "query"
          },
          {
            "type": "integer",
            "default": 30,
            "description": "the number of items per page",
            "name": "limit",
            "in": "query"
          },
          {
            "type": "integer",
            "default": 1,
            "description": "the page index",
            "name": "page",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/api.ListStatementsResponse"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "412": {
            "description": "Precondition Failed",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          }
        }
      }
    },
    "/performance_insight/unstable_plan/statements/{statement_id}": {
      "get": {
        "description": "Get details of a statement result, including analysis results and related plans.",
        "produces": ["application/json"],
        "tags": ["performance_insight_unstable_plan"],
        "summary": "Get Details of A Statement",
        "parameters": [
          {
            "type": "string",
            "description": "dbaas user header, added automatically by clinic api-gateway, {id:1} encodes to eyJpZCI6MX0=",
            "name": "X-CLOUD-USER",
            "in": "header",
            "required": true
          },
          {
            "type": "integer",
            "description": "statement result id",
            "name": "statement_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/api.StatementDetails"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "412": {
            "description": "Precondition Failed",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "429": {
            "description": "Too Many Requests",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/error.ErrorResponse"
            }
          }
        }
      }
    },
    "/plan_replayer/files": {
      "get": {
        "description": "download file for plan replayer",
        "produces": ["application/json"],
        "tags": ["plan replayer"],
        "summary": "Download file for plan replayer",
        "parameters": [
          {
            "type": "string",
            "description": "provider aws/gcp",
            "name": "provider",
            "in": "query",
            "required": true
          },
          {
            "type": "string",
            "description": "region",
            "name": "region",
            "in": "query",
            "required": true
          },
          {
            "type": "string",
            "description": "object key",
            "name": "key",
            "in": "query",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "file"
            }
          }
        }
      }
    },
    "/plan_replayer/list": {
      "get": {
        "description": "list file info for plan replayer",
        "produces": ["application/json"],
        "tags": ["plan replayer"],
        "summary": "List file info for plan replayer",
        "parameters": [
          {
            "type": "string",
            "description": "provider aws/gcp",
            "name": "X-Provider",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "region",
            "name": "X-Region",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "organization id from dbaas",
            "name": "X-Org-Id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "project id from dbaas",
            "name": "X-Project-Id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "cluster id from dbaas",
            "name": "X-Cluster-Id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "instances, separate by comma",
            "name": "instances",
            "in": "query"
          },
          {
            "type": "string",
            "description": "start time in unix seconds",
            "name": "start",
            "in": "query",
            "required": true
          },
          {
            "type": "string",
            "description": "end time in unix seconds",
            "name": "end",
            "in": "query",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/api.ListData"
            }
          }
        }
      }
    },
    "/slow_query/analyze": {
      "get": {
        "description": "Analyze slow logs and write result to victoria metrics",
        "produces": ["application/json"],
        "tags": ["slowquery"],
        "summary": "Analyze slow logs and write result to victoria metrics",
        "parameters": [
          {
            "type": "string",
            "description": "provider aws/gcp",
            "name": "x-provider",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "region",
            "name": "x-region",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "organization id from dbaas",
            "name": "x-org-id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "project id from dbaas",
            "name": "x-project-id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "cluster id from dbaas",
            "name": "x-cluster-id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "dedicated/shared",
            "name": "x-deploy-type",
            "in": "header",
            "required": true
          },
          {
            "type": "integer",
            "description": "begin time in unix seconds",
            "name": "begin_time",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "end time in unix seconds",
            "name": "end_time",
            "in": "query",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/slow_query/available_fields": {
      "get": {
        "description": "Get available fields of slow log",
        "produces": ["application/json"],
        "tags": ["slowquery"],
        "summary": "Get available fields of slow log",
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        }
      }
    },
    "/slow_query/databases": {
      "get": {
        "description": "Get database list of slow log",
        "produces": ["application/json"],
        "tags": ["slowquery"],
        "summary": "Get database list of slow log",
        "parameters": [
          {
            "type": "string",
            "description": "provider aws/gcp",
            "name": "x-provider",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "region",
            "name": "x-region",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "organization id from dbaas",
            "name": "x-org-id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "project id from dbaas",
            "name": "x-project-id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "cluster id from dbaas",
            "name": "x-cluster-id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "dedicated/shared",
            "name": "x-deploy-type",
            "in": "header",
            "required": true
          },
          {
            "type": "integer",
            "description": "begin time in unix seconds",
            "name": "begin_time",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "end time in unix seconds",
            "name": "end_time",
            "in": "query",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/slow_query/detail": {
      "get": {
        "description": "Get detail of slow query",
        "produces": ["application/json"],
        "tags": ["slowquery"],
        "summary": "Get detail of slow query",
        "parameters": [
          {
            "type": "string",
            "description": "provider aws/gcp",
            "name": "x-provider",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "region",
            "name": "x-region",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "organization id from dbaas",
            "name": "x-org-id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "project id from dbaas",
            "name": "x-project-id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "cluster id from dbaas",
            "name": "x-cluster-id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "dedicated/shared",
            "name": "x-deploy-type",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "sql digest to match slow log item",
            "name": "digest",
            "in": "query",
            "required": true
          },
          {
            "type": "number",
            "description": "timestamp to match slow log item",
            "name": "timestamp",
            "in": "query",
            "required": true
          },
          {
            "type": "string",
            "description": "connection id to match slow log item",
            "name": "connect_id",
            "in": "query",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/slowquery.slowLogRespItem"
            }
          }
        }
      }
    },
    "/slow_query/files": {
      "get": {
        "description": "Download slow query file",
        "produces": ["application/json"],
        "tags": ["slowquery"],
        "summary": "Download slow query file",
        "parameters": [
          {
            "type": "string",
            "description": "provider aws/gcp",
            "name": "x-provider",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "region",
            "name": "x-region",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "organization id from dbaas",
            "name": "x-org-id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "project id from dbaas",
            "name": "x-project-id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "cluster id from dbaas",
            "name": "x-cluster-id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "dedicated/shared",
            "name": "x-deploy-type",
            "in": "header",
            "required": true
          },
          {
            "type": "integer",
            "description": "begin time in unix seconds",
            "name": "begin_time",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "end time in unix seconds",
            "name": "end_time",
            "in": "query",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "file"
            }
          }
        }
      }
    },
    "/slow_query/list": {
      "get": {
        "description": "Get list of slow query",
        "produces": ["application/json"],
        "tags": ["slowquery"],
        "summary": "Get list of slow query",
        "parameters": [
          {
            "type": "string",
            "description": "provider aws/gcp",
            "name": "x-provider",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "region",
            "name": "x-region",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "organization id from dbaas",
            "name": "x-org-id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "project id from dbaas",
            "name": "x-project-id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "cluster id from dbaas",
            "name": "x-cluster-id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "dedicated/shared",
            "name": "x-deploy-type",
            "in": "header",
            "required": true
          },
          {
            "type": "integer",
            "description": "begin time in unix seconds",
            "name": "begin_time",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "end time in unix seconds",
            "name": "end_time",
            "in": "query",
            "required": true
          },
          {
            "type": "string",
            "description": "fields to return, separated by commas",
            "name": "fields",
            "in": "query"
          },
          {
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "csv",
            "description": "database names to search",
            "name": "db",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "result count limit",
            "name": "limit",
            "in": "query"
          },
          {
            "type": "string",
            "description": "text to search",
            "name": "text",
            "in": "query"
          },
          {
            "type": "string",
            "description": "order by which field",
            "name": "orderBy",
            "in": "query"
          },
          {
            "type": "boolean",
            "description": "descending order",
            "name": "desc",
            "in": "query"
          },
          {
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "csv",
            "description": "plan digests to search",
            "name": "plans",
            "in": "query"
          },
          {
            "type": "string",
            "description": "sql digest to search",
            "name": "digest",
            "in": "query"
          },
          {
            "type": "boolean",
            "description": "show internal slow queries",
            "name": "show_internal",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/slowquery.slowLogRespItem"
              }
            }
          }
        }
      }
    },
    "/slow_query/stats": {
      "get": {
        "description": "Get slow query statistics",
        "produces": ["application/json"],
        "tags": ["slowquery"],
        "summary": "Get slow query statistics",
        "parameters": [
          {
            "type": "string",
            "description": "provider aws/gcp",
            "name": "x-provider",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "region",
            "name": "x-region",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "organization id from dbaas",
            "name": "x-org-id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "project id from dbaas",
            "name": "x-project-id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "cluster id from dbaas",
            "name": "x-cluster-id",
            "in": "header",
            "required": true
          },
          {
            "type": "integer",
            "description": "hour begin time in unix seconds",
            "name": "begin_time",
            "in": "query",
            "required": true
          },
          {
            "type": "integer",
            "description": "n hours (3/6/12/24/)",
            "name": "hours",
            "in": "query",
            "required": true
          },
          {
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "csv",
            "description": "statement types, default empty array for all",
            "name": "statement_types",
            "in": "query"
          },
          {
            "type": "boolean",
            "description": "statement types not in, default false",
            "name": "statement_types_not_in",
            "in": "query"
          },
          {
            "type": "string",
            "description": "database name, default empty string for all",
            "name": "database",
            "in": "query"
          },
          {
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "csv",
            "description": "database names, default empty array for all",
            "name": "databases",
            "in": "query"
          },
          {
            "type": "string",
            "description": "order by field, default empty string for count",
            "name": "order_by",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "top limit, default 10",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        }
      }
    },
    "/slow_query/stats/databases": {
      "get": {
        "description": "Get slow query statistics database list",
        "produces": ["application/json"],
        "tags": ["slowquery"],
        "summary": "Get slow query statistics database list",
        "parameters": [
          {
            "type": "string",
            "description": "provider aws/gcp",
            "name": "x-provider",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "region",
            "name": "x-region",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "organization id from dbaas",
            "name": "x-org-id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "project id from dbaas",
            "name": "x-project-id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "cluster id from dbaas",
            "name": "x-cluster-id",
            "in": "header",
            "required": true
          },
          {
            "type": "integer",
            "description": "hour begin time in unix seconds",
            "name": "begin_time",
            "in": "query",
            "required": true
          },
          {
            "type": "integer",
            "description": "n hours (3/6/12/24/)",
            "name": "hours",
            "in": "query",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        }
      }
    },
    "/slow_query/stats/metric": {
      "get": {
        "description": "Get slow query statistics metric",
        "produces": ["application/json"],
        "tags": ["slowquery"],
        "summary": "Get slow query statistics metric",
        "parameters": [
          {
            "type": "string",
            "description": "provider aws/gcp",
            "name": "x-provider",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "region",
            "name": "x-region",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "organization id from dbaas",
            "name": "x-org-id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "project id from dbaas",
            "name": "x-project-id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "cluster id from dbaas",
            "name": "x-cluster-id",
            "in": "header",
            "required": true
          },
          {
            "type": "integer",
            "description": "hour begin time in unix seconds",
            "name": "begin_time",
            "in": "query",
            "required": true
          },
          {
            "type": "integer",
            "description": "n hours (3/6/12/24/)",
            "name": "hours",
            "in": "query",
            "required": true
          },
          {
            "type": "string",
            "description": "e.g. count_per_minute (default)",
            "name": "metric_name",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        }
      }
    },
    "/statements/available_fields": {
      "get": {
        "description": "get available fields of Statements",
        "produces": ["application/json"],
        "tags": ["statements"],
        "summary": "Get available fields of Statements",
        "parameters": [
          {
            "type": "string",
            "description": "provider aws/gcp",
            "name": "X-Provider",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "region",
            "name": "X-Region",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "organization id from dbaas",
            "name": "X-Org-Id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "project id from dbaas",
            "name": "X-Project-Id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "cluster id from dbaas",
            "name": "X-Cluster-Id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "deploy type, dedicated/shared",
            "name": "X-Deploy-Type",
            "in": "header",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        }
      }
    },
    "/statements/list": {
      "get": {
        "description": "list overview of Statements",
        "produces": ["application/json"],
        "tags": ["statements"],
        "summary": "List overview of Statements",
        "parameters": [
          {
            "type": "string",
            "description": "provider aws/gcp",
            "name": "X-Provider",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "region",
            "name": "X-Region",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "organization id from dbaas",
            "name": "X-Org-Id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "project id from dbaas",
            "name": "X-Project-Id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "cluster id from dbaas",
            "name": "X-Cluster-Id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "deploy type, dedicated/shared",
            "name": "X-Deploy-Type",
            "in": "header",
            "required": true
          },
          {
            "type": "integer",
            "description": "begin time, unix timestamp",
            "name": "begin_time",
            "in": "query",
            "required": true
          },
          {
            "type": "integer",
            "description": "end time, unix timestamp",
            "name": "end_time",
            "in": "query",
            "required": true
          },
          {
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "csv",
            "description": "filter by schemas",
            "name": "schemas",
            "in": "query"
          },
          {
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "csv",
            "description": "filter by stmt_types",
            "name": "stmt_types",
            "in": "query"
          },
          {
            "type": "string",
            "description": "filter by text",
            "name": "text",
            "in": "query"
          },
          {
            "type": "string",
            "description": "fields to return, separated by comma",
            "name": "fields",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/api.Model"
              }
            }
          }
        }
      }
    },
    "/statements/plan/detail": {
      "get": {
        "description": "get details of plans of the certain statement",
        "produces": ["application/json"],
        "tags": ["statements"],
        "summary": "Get details of plans of the certain statement",
        "parameters": [
          {
            "type": "string",
            "description": "provider aws/gcp",
            "name": "X-Provider",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "region",
            "name": "X-Region",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "organization id from dbaas",
            "name": "X-Org-Id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "project id from dbaas",
            "name": "X-Project-Id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "cluster id from dbaas",
            "name": "X-Cluster-Id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "deploy type, dedicated/shared",
            "name": "X-Deploy-Type",
            "in": "header",
            "required": true
          },
          {
            "type": "integer",
            "description": "begin time, unix timestamp",
            "name": "begin_time",
            "in": "query",
            "required": true
          },
          {
            "type": "integer",
            "description": "end time, unix timestamp",
            "name": "end_time",
            "in": "query",
            "required": true
          },
          {
            "type": "string",
            "description": "the digest of the statement",
            "name": "digest",
            "in": "query",
            "required": true
          },
          {
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "csv",
            "description": "the plan digests of the statement",
            "name": "plans",
            "in": "query",
            "required": true
          },
          {
            "type": "string",
            "description": "filter by schema name",
            "name": "schema_name",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/api.Model"
            }
          }
        }
      }
    },
    "/statements/plans": {
      "get": {
        "description": "get certain statement",
        "produces": ["application/json"],
        "tags": ["statements"],
        "summary": "Get certain statement",
        "parameters": [
          {
            "type": "string",
            "description": "provider aws/gcp",
            "name": "X-Provider",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "region",
            "name": "X-Region",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "organization id from dbaas",
            "name": "X-Org-Id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "project id from dbaas",
            "name": "X-Project-Id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "cluster id from dbaas",
            "name": "X-Cluster-Id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "deploy type, dedicated/shared",
            "name": "X-Deploy-Type",
            "in": "header",
            "required": true
          },
          {
            "type": "integer",
            "description": "begin time, unix timestamp",
            "name": "begin_time",
            "in": "query",
            "required": true
          },
          {
            "type": "integer",
            "description": "end time, unix timestamp",
            "name": "end_time",
            "in": "query",
            "required": true
          },
          {
            "type": "string",
            "description": "the digest of the statement",
            "name": "digest",
            "in": "query",
            "required": true
          },
          {
            "type": "string",
            "description": "filter by schema name",
            "name": "schema_name",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/api.Model"
              }
            }
          }
        }
      }
    },
    "/statements/stmt_types": {
      "get": {
        "description": "get statement types of Statements",
        "produces": ["application/json"],
        "tags": ["statements"],
        "summary": "Get statement types of Statements",
        "parameters": [
          {
            "type": "string",
            "description": "provider aws/gcp",
            "name": "X-Provider",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "region",
            "name": "X-Region",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "organization id from dbaas",
            "name": "X-Org-Id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "project id from dbaas",
            "name": "X-Project-Id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "cluster id from dbaas",
            "name": "X-Cluster-Id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "deploy type, dedicated/shared",
            "name": "X-Deploy-Type",
            "in": "header",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        }
      }
    },
    "/topru/config": {
      "get": {
        "description": "TopRU is always enabled when using Delta Lake data source (O11Y diagnosisqueryswagger GET /topru/config).\nClinic forwards to O11Y `GET /internal/diagnosis/api/v1/topru/config`. Cluster headers are required by Clinic to resolve the O11Y internal read endpoint; query string is passed through.\nReference: https://github.com/tidbcloud/observability/blob/5c791d4717fe9fb90f26c0513444fb70a4e4957e/api/diagnosisqueryswagger/swagger.yaml",
        "produces": ["application/json"],
        "tags": ["topru"],
        "summary": "Get config of TopRU",
        "operationId": "getTopRUConfig",
        "parameters": [
          {
            "type": "string",
            "description": "Cloud provider where RU data is stored (aws/gcp/azure); required by Clinic for cluster resolution",
            "name": "X-Provider",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "Cloud region; required by Clinic for cluster resolution",
            "name": "X-Region",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "Organization ID (x-org-id)",
            "name": "X-Org-Id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "Project ID (x-project-id; optional)",
            "name": "X-Project-Id",
            "in": "header"
          },
          {
            "type": "string",
            "description": "Cluster ID (x-cluster-id)",
            "name": "X-Cluster-Id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "Deployment tier: dedicated/shared/nextgen/premium (and BYOC variants supported by Clinic)",
            "name": "X-Deploy-Type",
            "in": "header",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/topru.ConfigResponse"
            }
          }
        }
      }
    },
    "/topru/summary": {
      "get": {
        "description": "Aggregate ReadUnits (RU) grouped by sql_digest and plan_digest within the given time range. Optionally filter by user and rank the top results. Proxies to O11Y `GET /internal/diagnosis/api/v1/topru/summary`.\nReference: https://github.com/tidbcloud/observability/blob/5c791d4717fe9fb90f26c0513444fb70a4e4957e/api/diagnosisqueryswagger/swagger.yaml",
        "produces": ["application/json"],
        "tags": ["topru"],
        "summary": "Get TopRU summary (RU by SQL/plan)",
        "operationId": "getTopRUSummary",
        "parameters": [
          {
            "type": "string",
            "description": "Cloud provider where RU data is stored (aws/gcp/azure)",
            "name": "X-Provider",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "Cloud region where RU data is stored",
            "name": "X-Region",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "Organization ID (x-org-id)",
            "name": "X-Org-Id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "Project ID (x-project-id; optional)",
            "name": "X-Project-Id",
            "in": "header"
          },
          {
            "type": "string",
            "description": "Cluster ID (x-cluster-id)",
            "name": "X-Cluster-Id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "Deployment tier: dedicated/shared/nextgen/premium",
            "name": "X-Deploy-Type",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "Start time in Unix seconds (inclusive)",
            "name": "start",
            "in": "query",
            "required": true
          },
          {
            "type": "string",
            "description": "End time in Unix seconds (inclusive)",
            "name": "end",
            "in": "query",
            "required": true
          },
          {
            "type": "string",
            "description": "Top N SQL/plan groups to return",
            "name": "top",
            "in": "query",
            "required": true
          },
          {
            "type": "string",
            "description": "Metric used to rank results: ru | exec_count | duration (default: ru)",
            "name": "order_by",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Omit to not filter by user. Pass empty (user=) for empty/NULL user only; pass a name to filter by that user",
            "name": "user",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Data source identifier (expected: deltalake)",
            "name": "data_source",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "Bucket size in seconds. Default: 60",
            "name": "step",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/topru.SummaryEnvelope"
            }
          }
        }
      }
    },
    "/topru/user_stats": {
      "get": {
        "description": "Aggregate RU and execution stats grouped by user over the given time range. Proxies to O11Y `GET /internal/diagnosis/api/v1/topru/user_stats`.\nReference: https://github.com/tidbcloud/observability/blob/5c791d4717fe9fb90f26c0513444fb70a4e4957e/api/diagnosisqueryswagger/swagger.yaml",
        "produces": ["application/json"],
        "tags": ["topru"],
        "summary": "Get TopRU user statistics (RU per user)",
        "operationId": "getTopRUUserStats",
        "parameters": [
          {
            "type": "string",
            "description": "Cloud provider where RU data is stored (aws/gcp/azure)",
            "name": "X-Provider",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "Cloud region where RU data is stored",
            "name": "X-Region",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "Organization ID (x-org-id)",
            "name": "X-Org-Id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "Project ID (x-project-id; optional)",
            "name": "X-Project-Id",
            "in": "header"
          },
          {
            "type": "string",
            "description": "Cluster ID (x-cluster-id)",
            "name": "X-Cluster-Id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "Deployment tier",
            "name": "X-Deploy-Type",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "Start time in Unix seconds (inclusive)",
            "name": "start",
            "in": "query",
            "required": true
          },
          {
            "type": "string",
            "description": "End time in Unix seconds (inclusive)",
            "name": "end",
            "in": "query",
            "required": true
          },
          {
            "type": "string",
            "description": "Top N users to return (default: 20)",
            "name": "top",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/topru.UserStatsEnvelope"
            }
          }
        }
      }
    },
    "/topsql/config": {
      "get": {
        "description": "get config of TopSQL",
        "produces": ["application/json"],
        "tags": ["topsql"],
        "summary": "Get config of TopSQL",
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/topsql.configResponse"
            }
          }
        }
      }
    },
    "/topsql/instances": {
      "get": {
        "description": "get available instances of TopSQL",
        "produces": ["application/json"],
        "tags": ["topsql"],
        "summary": "Get available instances of TopSQL",
        "parameters": [
          {
            "type": "string",
            "description": "provider aws/gcp",
            "name": "X-Provider",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "region",
            "name": "X-Region",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "organization id from dbaas",
            "name": "X-Org-Id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "project id from dbaas",
            "name": "X-Project-Id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "cluster id from dbaas",
            "name": "X-Cluster-Id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "start time in unix seconds",
            "name": "start",
            "in": "query",
            "required": true
          },
          {
            "type": "string",
            "description": "end time in unix seconds",
            "name": "end",
            "in": "query",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/topsql.jsonResponse"
                },
                {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/definitions/api.InstanceItem"
                      }
                    }
                  }
                }
              ]
            }
          }
        }
      }
    },
    "/topsql/summary": {
      "get": {
        "description": "get summary of TopSQL",
        "produces": ["application/json"],
        "tags": ["topsql"],
        "summary": "Get summary of TopSQL",
        "parameters": [
          {
            "type": "string",
            "description": "provider aws/gcp",
            "name": "X-Provider",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "region",
            "name": "X-Region",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "organization id from dbaas",
            "name": "X-Org-Id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "project id from dbaas",
            "name": "X-Project-Id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "cluster id from dbaas",
            "name": "X-Cluster-Id",
            "in": "header",
            "required": true
          },
          {
            "type": "string",
            "description": "start time in unix seconds",
            "name": "start",
            "in": "query",
            "required": true
          },
          {
            "type": "string",
            "description": "end time in unix seconds",
            "name": "end",
            "in": "query",
            "required": true
          },
          {
            "type": "string",
            "description": "window in duration",
            "name": "window",
            "in": "query",
            "required": true
          },
          {
            "type": "integer",
            "description": "top n",
            "name": "top",
            "in": "query",
            "required": true
          },
          {
            "type": "string",
            "description": "instance name",
            "name": "instance",
            "in": "query",
            "required": true
          },
          {
            "type": "string",
            "description": "instance type",
            "name": "instance_type",
            "in": "query",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/topsql.jsonResponse"
                },
                {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/definitions/api.SummaryItem"
                      }
                    }
                  }
                }
              ]
            }
          }
        }
      }
    }
  },
  "definitions": {
    "api.CreateTaskResponse": {
      "type": "object",
      "properties": {
        "task_id": {
          "type": "integer",
          "example": 1
        }
      }
    },
    "api.FileMetaInfo": {
      "type": "object",
      "properties": {
        "created_at_unix_sec": {
          "type": "integer"
        },
        "download_path": {
          "type": "string"
        },
        "download_url": {
          "type": "string"
        },
        "filename": {
          "type": "string"
        },
        "key": {
          "type": "string"
        },
        "size": {
          "type": "integer"
        }
      }
    },
    "api.GetClinicPublicAddressResponse": {
      "type": "object",
      "properties": {
        "addresses": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "api.HeapProfile": {
      "type": "object",
      "properties": {
        "cum": {
          "type": "string"
        },
        "cum_perc": {
          "type": "number"
        },
        "flat": {
          "type": "string"
        },
        "flat_perc": {
          "type": "number"
        },
        "function": {
          "type": "string"
        },
        "sum_perc": {
          "type": "number"
        }
      }
    },
    "api.HeapResult": {
      "type": "object",
      "properties": {
        "top_inuse_space": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/api.HeapProfile"
          }
        },
        "total_inuse_space": {
          "type": "string"
        }
      }
    },
    "api.IndexAdvisorResult": {
      "type": "object",
      "properties": {
        "checked_time": {
          "type": "integer"
        },
        "db": {
          "type": "string"
        },
        "ddl": {
          "type": "string"
        },
        "id": {
          "type": "integer"
        },
        "indexes": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/index_advisor.Index"
          }
        },
        "slow_queries": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/index_advisor.SlowQuery"
          }
        },
        "table": {
          "type": "string"
        },
        "type": {
          "description": "missing_index",
          "type": "string"
        },
        "version": {
          "description": "\"\" / \"v1\"",
          "type": "string"
        }
      }
    },
    "api.InstanceItem": {
      "type": "object",
      "properties": {
        "instance": {
          "type": "string"
        },
        "instance_type": {
          "type": "string"
        }
      }
    },
    "api.LatestTaskResponse": {
      "type": "object",
      "properties": {
        "latest": {
          "$ref": "#/definitions/api.Task"
        },
        "latest_finished": {
          "$ref": "#/definitions/api.Task"
        }
      }
    },
    "api.ListData": {
      "type": "object",
      "properties": {
        "records": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/api.ListFileRecord"
          }
        }
      }
    },
    "api.ListFileRecord": {
      "type": "object",
      "properties": {
        "files": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/api.FileMetaInfo"
          }
        },
        "instance": {
          "type": "string"
        }
      }
    },
    "api.ListIndexAdvisesResponse": {
      "type": "object",
      "properties": {
        "count": {
          "type": "integer"
        },
        "results": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/api.IndexAdvisorResult"
          }
        }
      }
    },
    "api.ListStatementsResponse": {
      "type": "object",
      "properties": {
        "statements": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/api.Statement"
          }
        },
        "total": {
          "type": "integer"
        }
      }
    },
    "api.ListTaskResponse": {
      "type": "object",
      "properties": {
        "tasks": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/api.Task"
          }
        },
        "total": {
          "type": "integer"
        }
      }
    },
    "api.Model": {
      "type": "object",
      "properties": {
        "avg_affected_rows": {
          "type": "integer"
        },
        "avg_backoff_time": {
          "type": "integer"
        },
        "avg_commit_backoff_time": {
          "type": "integer"
        },
        "avg_commit_time": {
          "type": "integer"
        },
        "avg_compile_latency": {
          "type": "integer"
        },
        "avg_disk": {
          "type": "integer"
        },
        "avg_get_commit_ts_time": {
          "type": "integer"
        },
        "avg_ia_read_segment_count": {
          "type": "number"
        },
        "avg_ia_remote_read_segment_size": {
          "type": "number"
        },
        "avg_ia_remote_read_segment_wait_time": {
          "type": "number"
        },
        "avg_latency": {
          "type": "integer"
        },
        "avg_local_latch_wait_time": {
          "type": "integer"
        },
        "avg_mem": {
          "type": "integer"
        },
        "avg_parse_latency": {
          "type": "integer"
        },
        "avg_prewrite_regions": {
          "type": "integer"
        },
        "avg_prewrite_time": {
          "type": "integer"
        },
        "avg_process_time": {
          "type": "integer"
        },
        "avg_processed_keys": {
          "type": "integer"
        },
        "avg_resolve_lock_time": {
          "type": "integer"
        },
        "avg_rocksdb_block_cache_hit_count": {
          "type": "integer"
        },
        "avg_rocksdb_block_read_byte": {
          "type": "integer"
        },
        "avg_rocksdb_block_read_count": {
          "type": "integer"
        },
        "avg_rocksdb_delete_skipped_count": {
          "type": "integer"
        },
        "avg_rocksdb_key_skipped_count": {
          "type": "integer"
        },
        "avg_rru": {
          "type": "number"
        },
        "avg_ru": {
          "type": "number"
        },
        "avg_ru_v2": {
          "type": "number"
        },
        "avg_total_keys": {
          "type": "integer"
        },
        "avg_txn_retry": {
          "type": "integer"
        },
        "avg_wait_time": {
          "type": "integer"
        },
        "avg_write_keys": {
          "type": "integer"
        },
        "avg_write_size": {
          "type": "integer"
        },
        "avg_wru": {
          "type": "number"
        },
        "binary_plan": {
          "type": "string"
        },
        "binary_plan_text": {
          "type": "string"
        },
        "digest": {
          "type": "string"
        },
        "digest_text": {
          "type": "string"
        },
        "exec_count": {
          "type": "integer"
        },
        "first_seen": {
          "type": "integer"
        },
        "index_names": {
          "type": "string"
        },
        "last_seen": {
          "type": "integer"
        },
        "max_backoff_time": {
          "type": "integer"
        },
        "max_commit_backoff_time": {
          "type": "integer"
        },
        "max_commit_time": {
          "type": "integer"
        },
        "max_compile_latency": {
          "type": "integer"
        },
        "max_cop_process_time": {
          "type": "integer"
        },
        "max_cop_wait_time": {
          "type": "integer"
        },
        "max_disk": {
          "type": "integer"
        },
        "max_get_commit_ts_time": {
          "type": "integer"
        },
        "max_ia_read_segment_count": {
          "type": "integer"
        },
        "max_ia_remote_read_segment_size": {
          "type": "integer"
        },
        "max_ia_remote_read_segment_wait_time": {
          "type": "number"
        },
        "max_latency": {
          "type": "integer"
        },
        "max_local_latch_wait_time": {
          "type": "integer"
        },
        "max_mem": {
          "type": "integer"
        },
        "max_parse_latency": {
          "type": "integer"
        },
        "max_prewrite_regions": {
          "type": "integer"
        },
        "max_prewrite_time": {
          "type": "integer"
        },
        "max_process_time": {
          "type": "integer"
        },
        "max_processed_keys": {
          "type": "integer"
        },
        "max_resolve_lock_time": {
          "type": "integer"
        },
        "max_rocksdb_block_cache_hit_count": {
          "type": "integer"
        },
        "max_rocksdb_block_read_byte": {
          "type": "integer"
        },
        "max_rocksdb_block_read_count": {
          "type": "integer"
        },
        "max_rocksdb_delete_skipped_count": {
          "type": "integer"
        },
        "max_rocksdb_key_skipped_count": {
          "type": "integer"
        },
        "max_rru": {
          "type": "number"
        },
        "max_ru_v2": {
          "type": "number"
        },
        "max_ru_wait_duration": {
          "type": "integer"
        },
        "max_total_keys": {
          "type": "integer"
        },
        "max_txn_retry": {
          "type": "integer"
        },
        "max_wait_time": {
          "type": "integer"
        },
        "max_write_keys": {
          "type": "integer"
        },
        "max_write_size": {
          "type": "integer"
        },
        "max_wru": {
          "type": "number"
        },
        "min_latency": {
          "type": "integer"
        },
        "plan": {
          "type": "string"
        },
        "plan_cache_hits": {
          "type": "integer"
        },
        "plan_count": {
          "type": "integer"
        },
        "plan_digest": {
          "type": "string"
        },
        "plan_hint": {
          "type": "string"
        },
        "plan_in_binding": {
          "type": "boolean"
        },
        "plan_in_cache": {
          "type": "boolean"
        },
        "prev_sample_text": {
          "type": "string"
        },
        "query_sample_text": {
          "type": "string"
        },
        "sample_user": {
          "type": "string"
        },
        "schema_name": {
          "type": "string"
        },
        "stmt_type": {
          "type": "string"
        },
        "sum_backoff_times": {
          "type": "integer"
        },
        "sum_cop_task_num": {
          "type": "integer"
        },
        "sum_errors": {
          "type": "integer"
        },
        "sum_ia_read_segment_count": {
          "description": "IA remote read segment metrics",
          "type": "integer"
        },
        "sum_ia_remote_read_segment_size": {
          "type": "integer"
        },
        "sum_ia_remote_read_segment_wait_time": {
          "type": "number"
        },
        "sum_latency": {
          "type": "integer"
        },
        "sum_rru": {
          "type": "number"
        },
        "sum_ru": {
          "type": "number"
        },
        "sum_ru_v2": {
          "description": "RUv2 metrics",
          "type": "number"
        },
        "sum_ru_wait_duration": {
          "type": "integer"
        },
        "sum_warnings": {
          "type": "integer"
        },
        "sum_wru": {
          "type": "number"
        },
        "summary_begin_time": {
          "type": "integer"
        },
        "summary_end_time": {
          "type": "integer"
        },
        "table_names": {
          "type": "string"
        }
      }
    },
    "api.Plan": {
      "type": "object",
      "properties": {
        "avg_latency": {
          "type": "integer"
        },
        "avg_mem_byte": {
          "type": "integer"
        },
        "created_at": {
          "type": "integer",
          "example": 1672992422
        },
        "exec_count": {
          "type": "integer"
        },
        "is_suggested": {
          "type": "boolean"
        },
        "max_latency": {
          "type": "integer"
        },
        "max_mem_byte": {
          "type": "integer"
        },
        "min_latency": {
          "type": "integer"
        },
        "plan_digest": {
          "type": "string"
        },
        "plan_id": {
          "type": "integer"
        },
        "task_created_at": {
          "type": "integer",
          "example": 1672992422
        },
        "task_offset_hours": {
          "type": "integer",
          "example": 1
        },
        "updated_at": {
          "type": "integer",
          "example": 1672992422
        }
      }
    },
    "api.Statement": {
      "type": "object",
      "properties": {
        "created_at": {
          "type": "integer",
          "example": 1672992422
        },
        "digest": {
          "type": "string"
        },
        "digest_text": {
          "type": "string"
        },
        "has_suggested_plan": {
          "type": "boolean"
        },
        "impact": {
          "type": "string",
          "enum": ["HIGH", "MIDDLE", "LOW"],
          "example": "HIGH"
        },
        "index_names": {
          "type": "string"
        },
        "insight_type": {
          "type": "string",
          "enum": ["unstable_plan"],
          "example": "unstable_plan"
        },
        "m": {
          "type": "number"
        },
        "max_of_avg_latencies_of_plans": {
          "type": "integer"
        },
        "min_of_avg_latencies_of_plans": {
          "type": "integer"
        },
        "n": {
          "type": "number"
        },
        "plan_count": {
          "type": "integer"
        },
        "query_sample_text": {
          "type": "string"
        },
        "sample_user": {
          "type": "string"
        },
        "schema_name": {
          "type": "string"
        },
        "statement_id": {
          "type": "integer",
          "example": 1
        },
        "stmt_type": {
          "type": "string"
        },
        "suggest_plan_overview": {
          "$ref": "#/definitions/api.SuggestPlanOverview"
        },
        "table_names": {
          "type": "string"
        },
        "task_created_at": {
          "type": "integer",
          "example": 1672992422
        },
        "task_offset_hours": {
          "type": "integer",
          "example": 1
        },
        "updated_at": {
          "type": "integer",
          "example": 1672992422
        }
      }
    },
    "api.StatementDetails": {
      "type": "object",
      "properties": {
        "plans": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/api.Plan"
          }
        },
        "statement": {
          "$ref": "#/definitions/api.Statement"
        }
      }
    },
    "api.SubmitMysqlAccountRequest": {
      "type": "object",
      "properties": {
        "password": {
          "type": "string",
          "example": "bar"
        },
        "user": {
          "type": "string",
          "example": "foo"
        }
      }
    },
    "api.SuggestPlanOverview": {
      "type": "object",
      "properties": {
        "create_binding_statement": {
          "type": "string"
        },
        "drop_binding_statement": {
          "type": "string"
        },
        "plan_digest": {
          "type": "string"
        },
        "plan_id": {
          "type": "integer"
        }
      }
    },
    "api.SummaryItem": {
      "type": "object",
      "properties": {
        "cpu_time_ms": {
          "type": "integer"
        },
        "duration_per_exec_ms": {
          "type": "number"
        },
        "exec_count_per_sec": {
          "type": "number"
        },
        "is_other": {
          "type": "boolean"
        },
        "plans": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/api.SummaryPlanItem"
          }
        },
        "scan_indexes_per_sec": {
          "type": "number"
        },
        "scan_records_per_sec": {
          "type": "number"
        },
        "sql_digest": {
          "type": "string"
        },
        "sql_text": {
          "type": "string"
        }
      }
    },
    "api.SummaryPlanItem": {
      "type": "object",
      "properties": {
        "cpu_time_ms": {
          "type": "array",
          "items": {
            "type": "integer"
          }
        },
        "duration_per_exec_ms": {
          "type": "number"
        },
        "exec_count_per_sec": {
          "type": "number"
        },
        "plan_digest": {
          "type": "string"
        },
        "plan_text": {
          "type": "string"
        },
        "scan_indexes_per_sec": {
          "type": "number"
        },
        "scan_records_per_sec": {
          "type": "number"
        },
        "timestamp_sec": {
          "type": "array",
          "items": {
            "type": "integer"
          }
        }
      }
    },
    "api.Task": {
      "type": "object",
      "properties": {
        "advise_count": {
          "type": "integer",
          "example": 1
        },
        "cluster_id": {
          "type": "integer",
          "example": 1
        },
        "created_at": {
          "type": "integer",
          "example": 1672992422
        },
        "dbaas_cluster_id": {
          "type": "integer",
          "example": 1
        },
        "dbaas_org_id": {
          "type": "integer",
          "example": 1
        },
        "last_failed_message": {
          "type": "string",
          "example": "failed to connect to cluster"
        },
        "material_count": {
          "type": "integer",
          "example": 1
        },
        "perform_insight_cluster_id": {
          "type": "integer",
          "example": 1
        },
        "status": {
          "type": "string",
          "format": "string",
          "enum": ["created", "running", "succeeded", "failed"],
          "example": "succeeded"
        },
        "task_id": {
          "type": "integer",
          "example": 1
        },
        "type": {
          "type": "string",
          "format": "string",
          "enum": ["unstable_plan_insight", "index_insight", "hint_insight"],
          "example": "unstable_plan_insight"
        },
        "update_at": {
          "type": "integer",
          "example": 1672992422
        }
      }
    },
    "conprof.detailResponse": {
      "type": "object",
      "properties": {
        "profile_duration_secs": {
          "type": "integer"
        },
        "state": {
          "type": "string"
        },
        "target_profiles": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/conprof.detailResponseProfile"
          }
        },
        "ts": {
          "type": "integer"
        }
      }
    },
    "conprof.detailResponseProfile": {
      "type": "object",
      "properties": {
        "error": {
          "type": "string"
        },
        "profile_type": {
          "type": "string"
        },
        "state": {
          "type": "string"
        },
        "target": {
          "$ref": "#/definitions/conprof.detailResponseProfileTarget"
        }
      }
    },
    "conprof.detailResponseProfileTarget": {
      "type": "object",
      "properties": {
        "address": {
          "type": "string"
        },
        "component": {
          "type": "string"
        }
      }
    },
    "conprof.listResponseItem": {
      "type": "object",
      "properties": {
        "component_num": {
          "type": "object",
          "additionalProperties": {
            "type": "integer"
          }
        },
        "profile_duration_secs": {
          "type": "integer"
        },
        "state": {
          "type": "string"
        },
        "ts": {
          "type": "integer"
        }
      }
    },
    "error.ErrorResponse": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "error": {
          "type": "boolean"
        },
        "message": {
          "type": "string"
        }
      }
    },
    "index_advisor.Index": {
      "type": "object",
      "properties": {
        "clustered": {
          "type": "string"
        },
        "columns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "name": {
          "type": "string"
        },
        "visible": {
          "type": "string"
        }
      }
    },
    "index_advisor.SlowQuery": {
      "type": "object",
      "properties": {
        "avg_latency": {
          "type": "number"
        },
        "avg_memory": {
          "type": "number"
        },
        "count": {
          "type": "integer"
        },
        "digest": {
          "type": "string"
        },
        "query": {
          "type": "string"
        },
        "time_latencies": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/index_advisor.TimeLatency"
          }
        },
        "users": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "index_advisor.TimeLatency": {
      "type": "object",
      "properties": {
        "latency": {
          "type": "number"
        },
        "time": {
          "type": "integer"
        }
      }
    },
    "k.LabelKey": {
      "type": "object",
      "required": ["key", "labels"],
      "properties": {
        "key": {
          "type": "string"
        },
        "labels": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "k.Matrix": {
      "type": "object",
      "required": ["data", "keyAxis", "timeAxis"],
      "properties": {
        "data": {
          "type": "object",
          "additionalProperties": {
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "type": "integer"
              }
            }
          }
        },
        "keyAxis": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/k.LabelKey"
          }
        },
        "timeAxis": {
          "type": "array",
          "items": {
            "type": "integer"
          }
        }
      }
    },
    "keyviz.KeyVisualConfig": {
      "type": "object",
      "properties": {
        "auto_collection_disabled": {
          "type": "boolean"
        },
        "policy": {
          "type": "string"
        },
        "policy_kv_separator": {
          "type": "string"
        }
      }
    },
    "slowquery.RequestUnitV2Metrics": {
      "type": "object",
      "properties": {
        "executor_l1": {
          "type": "number"
        },
        "executor_l2": {
          "type": "number"
        },
        "executor_l3": {
          "type": "number"
        },
        "executor_l5_insert_rows": {
          "type": "number"
        },
        "plan_cnt": {
          "type": "number"
        },
        "plan_derive_stats_paths": {
          "type": "number"
        },
        "resource_manager_read_cnt": {
          "type": "number"
        },
        "resource_manager_write_cnt": {
          "type": "number"
        },
        "result_chunk_cells": {
          "description": "Optional detail fields (only present when non-zero)",
          "type": "number"
        },
        "session_parser_total": {
          "type": "number"
        },
        "tidb_ru": {
          "type": "number"
        },
        "tiflash_ru": {
          "type": "number"
        },
        "tikv_coprocessor_executor_iterations": {
          "type": "number"
        },
        "tikv_coprocessor_executor_work_total": {
          "type": "object",
          "additionalProperties": {
            "type": "number"
          }
        },
        "tikv_coprocessor_response_bytes": {
          "type": "number"
        },
        "tikv_kv_engine_cache_miss": {
          "type": "number"
        },
        "tikv_raftstore_store_write_trigger_wb_bytes": {
          "type": "number"
        },
        "tikv_ru": {
          "type": "number"
        },
        "tikv_storage_processed_keys_batch_get": {
          "type": "number"
        },
        "tikv_storage_processed_keys_get": {
          "type": "number"
        },
        "total_ru": {
          "type": "number"
        },
        "txn_cnt": {
          "type": "number"
        }
      }
    },
    "slowquery.slowLogRespItem": {
      "type": "object",
      "properties": {
        "backoff_time": {
          "type": "number"
        },
        "backoff_types": {
          "type": "string"
        },
        "commit_backoff_time": {
          "type": "number"
        },
        "commit_time": {
          "type": "number"
        },
        "compile_time": {
          "type": "number"
        },
        "connection_id": {
          "description": "TODO: Switch back to uint64 when modern browser as well as Swagger handles BigInt well.",
          "type": "string"
        },
        "cop_proc_addr": {
          "type": "string"
        },
        "cop_proc_avg": {
          "type": "number"
        },
        "cop_proc_max": {
          "type": "number"
        },
        "cop_proc_p90": {
          "type": "number"
        },
        "cop_time": {
          "type": "number"
        },
        "cop_wait_addr": {
          "type": "string"
        },
        "cop_wait_avg": {
          "type": "number"
        },
        "cop_wait_max": {
          "type": "number"
        },
        "cop_wait_p90": {
          "type": "number"
        },
        "db": {
          "type": "string"
        },
        "digest": {
          "type": "string"
        },
        "disk_max": {
          "type": "integer"
        },
        "exec_retry_time": {
          "type": "number"
        },
        "get_commit_ts_time": {
          "type": "number"
        },
        "host": {
          "type": "string"
        },
        "ia_remote_read_segment_count": {
          "type": "integer"
        },
        "ia_remote_read_segment_size": {
          "type": "integer"
        },
        "ia_remote_read_segment_wait_time": {
          "type": "number"
        },
        "index_names": {
          "type": "string"
        },
        "instance": {
          "type": "string"
        },
        "is_internal": {
          "description": "Basic",
          "type": "integer"
        },
        "local_latch_wait_time": {
          "type": "number"
        },
        "lock_keys_time": {
          "type": "number"
        },
        "memory_max": {
          "type": "integer"
        },
        "optimize_time": {
          "type": "number"
        },
        "parse_time": {
          "type": "number"
        },
        "plan": {
          "type": "string"
        },
        "plan_from_binding": {
          "type": "integer"
        },
        "plan_from_cache": {
          "type": "integer"
        },
        "prepared": {
          "type": "integer"
        },
        "preproc_subqueries_time": {
          "type": "number"
        },
        "prev_stmt": {
          "description": "Detail",
          "type": "string"
        },
        "prewrite_region": {
          "type": "integer"
        },
        "prewrite_time": {
          "type": "number"
        },
        "process_keys": {
          "type": "integer"
        },
        "process_time": {
          "description": "Time",
          "type": "number"
        },
        "query": {
          "type": "string"
        },
        "query_time": {
          "description": "latency",
          "type": "number"
        },
        "request_count": {
          "description": "Coprocessor",
          "type": "integer"
        },
        "resolve_lock_time": {
          "type": "number"
        },
        "resource_group": {
          "type": "string"
        },
        "rewrite_time": {
          "type": "number"
        },
        "rocksdb_block_cache_hit_count": {
          "type": "integer"
        },
        "rocksdb_block_read_byte": {
          "type": "integer"
        },
        "rocksdb_block_read_count": {
          "type": "integer"
        },
        "rocksdb_delete_skipped_count": {
          "description": "RocksDB",
          "type": "integer"
        },
        "rocksdb_key_skipped_count": {
          "type": "integer"
        },
        "ru": {
          "description": "Resource Control",
          "type": "number"
        },
        "ru_v2": {
          "description": "RUv2 metrics",
          "type": "number"
        },
        "ru_v2_detail": {
          "type": "string"
        },
        "ru_v2_metrics": {
          "$ref": "#/definitions/slowquery.RequestUnitV2Metrics"
        },
        "stats": {
          "type": "string"
        },
        "success": {
          "type": "integer"
        },
        "time_queued_by_rc": {
          "type": "number"
        },
        "timestamp": {
          "description": "finish time",
          "type": "number"
        },
        "total_keys": {
          "type": "integer"
        },
        "txn_retry": {
          "type": "integer"
        },
        "txn_start_ts": {
          "description": "TODO: Switch back to uint64 when modern browser as well as Swagger handles BigInt well.",
          "type": "string"
        },
        "user": {
          "description": "Connection",
          "type": "string"
        },
        "wait_prewrite_binlog_time": {
          "type": "number"
        },
        "wait_time": {
          "type": "number"
        },
        "wait_ts": {
          "type": "number"
        },
        "warnings": {
          "type": "string"
        },
        "write_keys": {
          "description": "Transaction",
          "type": "integer"
        },
        "write_size": {
          "type": "integer"
        },
        "write_sql_response_total": {
          "type": "number"
        }
      }
    },
    "topru.ConfigResponse": {
      "type": "object",
      "properties": {
        "enable": {
          "type": "boolean"
        }
      }
    },
    "topru.SummaryEnvelope": {
      "type": "object",
      "properties": {
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/topru.TopRUSummaryItem"
          }
        },
        "status": {
          "type": "string"
        }
      }
    },
    "topru.TopRUSummaryItem": {
      "type": "object",
      "properties": {
        "duration_ns": {
          "type": "integer"
        },
        "duration_per_exec_ms": {
          "type": "number"
        },
        "exec_count": {
          "type": "integer"
        },
        "exec_count_per_sec": {
          "type": "number"
        },
        "plan_digest": {
          "type": "string"
        },
        "plan_text": {
          "type": "string"
        },
        "sql_digest": {
          "type": "string"
        },
        "sql_text": {
          "type": "string"
        },
        "timestamp_sec": {
          "type": "array",
          "items": {
            "type": "integer"
          }
        },
        "total_ru": {
          "type": "number"
        },
        "total_ru_by_time": {
          "type": "array",
          "items": {
            "type": "number"
          }
        }
      }
    },
    "topru.UserStatsEnvelope": {
      "type": "object",
      "properties": {
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/topru.UserStatsItem"
          }
        },
        "status": {
          "type": "string"
        }
      }
    },
    "topru.UserStatsItem": {
      "type": "object",
      "properties": {
        "duration_ns": {
          "type": "integer"
        },
        "exec_count": {
          "type": "integer"
        },
        "total_ru": {
          "type": "number"
        },
        "user": {
          "type": "string"
        }
      }
    },
    "topsql.configResponse": {
      "type": "object",
      "properties": {
        "enable": {
          "type": "boolean"
        }
      }
    },
    "topsql.jsonResponse": {
      "type": "object",
      "properties": {
        "data": {},
        "status": {
          "type": "string"
        }
      }
    }
  }
}
