openapi: 3.2.0 info: contact: name: https://docs.yugabyte.com description: ALPHA - NOT FOR EXTERNAL USE license: name: Polyform Free Trial License 1.0.0 url: https://github.com/yugabyte/yugabyte-db/blob/master/licenses/POLYFORM-FREE-TRIAL-LICENSE-1.0.0.txt termsOfService: TODO(chirag) title: YugabyteDB Anywhere Performance Advisor API version: v1 servers: - url: / tags: - name: Performance Advisor paths: /api/v1/customers/{cUUID}/performance_recommendation_state_change/page: post: description: 'WARNING: This is a preview API that could change.' operationId: pageAuditInfo parameters: - in: path name: cUUID required: true schema: format: uuid type: string - in: query name: request schema: {} requestBody: content: application/json: schema: $ref: '#/components/schemas/StateChangeAuditInfoPagedQuery' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/StateChangeAuditInfoPagedResponse' description: successful operation security: - apiKeyAuth: [] summary: List performance recommendations state change audit events (paginated) tags: - Performance Advisor x-codegen-request-body-name: PageStateChangeAuditInfoRequest /api/v1/customers/{cUUID}/performance_recommendations: delete: description: 'WARNING: This is a preview API that could change.' operationId: delete parameters: - in: path name: cUUID required: true schema: format: uuid type: string - in: query name: request schema: {} requestBody: content: application/json: schema: $ref: '#/components/schemas/PerformanceRecommendationFilter' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/YBPSuccess' description: successful operation security: - apiKeyAuth: [] summary: Delete performance recommendations tags: - Performance Advisor x-codegen-request-body-name: DeletePerformanceRecommendationsRequest /api/v1/customers/{cUUID}/performance_recommendations/hide: post: description: YbaApi Internal. operationId: hide parameters: - in: path name: cUUID required: true schema: format: uuid type: string - in: query name: request schema: {} requestBody: content: application/json: schema: $ref: '#/components/schemas/PerformanceRecommendationFilter' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/YBPSuccess' description: successful operation security: - apiKeyAuth: [] summary: Hide performance recommendations tags: - Performance Advisor x-codegen-request-body-name: HidePerformanceRecommendationsRequest /api/v1/customers/{cUUID}/performance_recommendations/page: post: description: 'WARNING: This is a preview API that could change.' operationId: page parameters: - in: path name: cUUID required: true schema: format: uuid type: string - in: query name: request schema: {} requestBody: content: application/json: schema: $ref: '#/components/schemas/PerformanceRecommendationPagedQuery' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/PerformanceRecommendationPagedResponse' description: successful operation security: - apiKeyAuth: [] summary: List performance recommendations (paginated) tags: - Performance Advisor x-codegen-request-body-name: PagePerformanceRecommendationRequest /api/v1/customers/{cUUID}/performance_recommendations/resolve: post: description: YbaApi Internal. operationId: resolve parameters: - in: path name: cUUID required: true schema: format: uuid type: string - in: query name: request schema: {} requestBody: content: application/json: schema: $ref: '#/components/schemas/PerformanceRecommendationFilter' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/YBPSuccess' description: successful operation security: - apiKeyAuth: [] summary: Resolve performance recommendations tags: - Performance Advisor x-codegen-request-body-name: ResolvePerformanceRecommendationsRequest /api/v1/customers/{cUUID}/performance_recommendations/{rUUID}: get: description: 'WARNING: This is a preview API that could change.' operationId: get parameters: - in: path name: cUUID required: true schema: format: uuid type: string - in: path name: rUUID required: true schema: format: uuid type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/PerformanceRecommendation' description: successful operation security: - apiKeyAuth: [] summary: Get performance recommendation details tags: - Performance Advisor /api/v1/customers/{cUUID}/universes/{uniUUID}/last_run: get: description: 'WARNING: This is a preview API that could change.' operationId: getLatestRun parameters: - in: path name: cUUID required: true schema: format: uuid type: string - in: path name: uniUUID required: true schema: format: uuid type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/YBPSuccess' description: successful operation security: - apiKeyAuth: [] summary: Get last performance advisor run details tags: - Performance Advisor /api/v1/customers/{cUUID}/universes/{uniUUID}/perf_advisor_settings: get: description: 'WARNING: This is a preview API that could change.' operationId: getSettings parameters: - in: path name: cUUID required: true schema: format: uuid type: string - in: path name: uniUUID required: true schema: format: uuid type: string - in: query name: request schema: {} responses: '200': content: application/json: schema: $ref: '#/components/schemas/PerfAdvisorSettingsWithDefaults' description: successful operation security: - apiKeyAuth: [] summary: Get universe performance advisor settings tags: - Performance Advisor post: description: 'WARNING: This is a preview API that could change.' operationId: updateSettings parameters: - in: path name: cUUID required: true schema: format: uuid type: string - in: path name: uniUUID required: true schema: format: uuid type: string - in: query name: request schema: {} requestBody: content: application/json: schema: $ref: '#/components/schemas/PerfAdvisorSettingsFormData' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/YBPSuccess' description: successful operation security: - apiKeyAuth: [] summary: Update universe performance advisor settings tags: - Performance Advisor x-codegen-request-body-name: PerformanceAdvisorSettingsRequest /api/v1/customers/{cUUID}/universes/{uniUUID}/start_manually: post: description: 'WARNING: This is a preview API that could change.' operationId: runPerfAdvisor parameters: - in: path name: cUUID required: true schema: format: uuid type: string - in: path name: uniUUID required: true schema: format: uuid type: string - in: query name: request schema: {} responses: '200': content: application/json: schema: $ref: '#/components/schemas/PerfAdvisorManualRunStatus' description: successful operation security: - apiKeyAuth: [] summary: Start performance advisor run for universe tags: - Performance Advisor components: schemas: PerformanceRecommendation: example: new: true recommendationPriority: HIGH entityType: UNIVERSE observation: observation stateChangeAuditInfoList: - new: true fieldName: fieldName customerId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 previousValue: previousValue userId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 updatedValue: updatedValue timestamp: 0 - new: true fieldName: fieldName customerId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 previousValue: previousValue userId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 updatedValue: updatedValue timestamp: 0 universeId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 entityNames: entityNames recommendation: recommendation recommendationTimestamp: 0 recommendationInfo: key: '{}' recommendationState: OPEN customerId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 isStale: true recommendationType: UNUSED_INDEX properties: customerId: format: uuid type: string entityNames: type: string entityType: enum: - UNIVERSE - NODE - TABLE - DATABASE - INDEX type: string id: format: uuid type: string isStale: type: boolean new: type: boolean observation: type: string recommendation: type: string recommendationInfo: additionalProperties: properties: {} type: object type: object recommendationPriority: enum: - HIGH - MEDIUM - LOW type: string recommendationState: enum: - OPEN - HIDDEN - RESOLVED type: string recommendationTimestamp: format: int64 type: integer recommendationType: enum: - UNUSED_INDEX - RANGE_SHARDING - QUERY_LOAD_SKEW - CONNECTION_SKEW - CPU_SKEW - CPU_USAGE - REJECTED_CONNECTIONS - HOT_SHARD type: string stateChangeAuditInfoList: items: $ref: '#/components/schemas/StateChangeAuditInfo' type: array universeId: format: uuid type: string required: - customerId - entityNames - entityType - id - isStale - new - observation - recommendation - recommendationInfo - recommendationPriority - recommendationState - recommendationTimestamp - recommendationType - stateChangeAuditInfoList - universeId type: object PerformanceRecommendationPagedResponse: example: entities: - new: true recommendationPriority: HIGH entityType: UNIVERSE observation: observation stateChangeAuditInfoList: - new: true fieldName: fieldName customerId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 previousValue: previousValue userId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 updatedValue: updatedValue timestamp: 0 - new: true fieldName: fieldName customerId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 previousValue: previousValue userId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 updatedValue: updatedValue timestamp: 0 universeId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 entityNames: entityNames recommendation: recommendation recommendationTimestamp: 0 recommendationInfo: key: '{}' recommendationState: OPEN customerId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 isStale: true recommendationType: UNUSED_INDEX - new: true recommendationPriority: HIGH entityType: UNIVERSE observation: observation stateChangeAuditInfoList: - new: true fieldName: fieldName customerId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 previousValue: previousValue userId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 updatedValue: updatedValue timestamp: 0 - new: true fieldName: fieldName customerId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 previousValue: previousValue userId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 updatedValue: updatedValue timestamp: 0 universeId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 entityNames: entityNames recommendation: recommendation recommendationTimestamp: 0 recommendationInfo: key: '{}' recommendationState: OPEN customerId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 isStale: true recommendationType: UNUSED_INDEX hasPrev: true hasNext: true totalCount: 6 properties: entities: items: $ref: '#/components/schemas/PerformanceRecommendation' type: array hasNext: type: boolean hasPrev: type: boolean totalCount: format: int32 type: integer required: - entities - hasNext - hasPrev - totalCount type: object StateChangeAuditInfoPagedQuery: example: filter: customerId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 ids: - 046b6c7f-0b8a-43b9-b35d-6489e6daee91 - 046b6c7f-0b8a-43b9-b35d-6489e6daee91 recommendationId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 userId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 offset: 6 needTotalCount: true limit: 0 sortBy: id direction: ASC properties: direction: enum: - ASC - DESC type: string filter: $ref: '#/components/schemas/StateChangeAuditInfoFilter' limit: format: int32 type: integer needTotalCount: type: boolean offset: format: int32 type: integer sortBy: enum: - id - timestamp type: string required: - direction - filter - limit - needTotalCount - offset - sortBy type: object PerfAdvisorSettingsWithDefaults: example: defaultSettings: cpu_skew_interval_mins: 1 hot_shard_interval_mins: 1 query_skew_min_queries: 1 query_skew_interval_mins: 1 cpu_usage_interval_mins: 1 hot_shard_write_skew_threshold_pct: 1.1231513536777256 rejected_conn_interval_mins: 1 connection_skew_threshold_pct: 1.1465812980502945 enabled: true universe_frequency_mins: 5 hot_shard_min_node_writes: 1 hot_shard_read_skew_threshold_pct: 1.7386281948385884 cpu_skew_min_usage_pct: 1.5637376656633328 hot_shard_min_node_reads: 1 cpu_usage_threshold: 1.9301444243932577 cpu_skew_threshold_pct: 1.2302135886934766 query_skew_threshold_pct: 1.684685269835264 rejected_conn_threshold: 1 connection_skew_min_connections: 1 connection_skew_interval_mins: 1 universeSettings: cpu_skew_interval_mins: 1 hot_shard_interval_mins: 1 query_skew_min_queries: 1 query_skew_interval_mins: 1 cpu_usage_interval_mins: 1 hot_shard_write_skew_threshold_pct: 1.1231513536777256 rejected_conn_interval_mins: 1 connection_skew_threshold_pct: 1.1465812980502945 enabled: true universe_frequency_mins: 5 hot_shard_min_node_writes: 1 hot_shard_read_skew_threshold_pct: 1.7386281948385884 cpu_skew_min_usage_pct: 1.5637376656633328 hot_shard_min_node_reads: 1 cpu_usage_threshold: 1.9301444243932577 cpu_skew_threshold_pct: 1.2302135886934766 query_skew_threshold_pct: 1.684685269835264 rejected_conn_threshold: 1 connection_skew_min_connections: 1 connection_skew_interval_mins: 1 properties: defaultSettings: $ref: '#/components/schemas/PerfAdvisorSettingsFormData' universeSettings: $ref: '#/components/schemas/PerfAdvisorSettingsFormData' type: object StateChangeAuditInfoFilter: example: customerId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 ids: - 046b6c7f-0b8a-43b9-b35d-6489e6daee91 - 046b6c7f-0b8a-43b9-b35d-6489e6daee91 recommendationId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 userId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 properties: customerId: format: uuid type: string ids: items: format: uuid type: string type: array uniqueItems: true recommendationId: format: uuid type: string userId: format: uuid type: string required: - customerId - ids - recommendationId - userId type: object StateChangeAuditInfo: example: new: true fieldName: fieldName customerId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 previousValue: previousValue userId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 updatedValue: updatedValue timestamp: 0 properties: customerId: format: uuid type: string fieldName: type: string id: format: uuid type: string new: type: boolean previousValue: type: string timestamp: format: int64 type: integer updatedValue: type: string userId: format: uuid type: string required: - customerId - fieldName - id - new - previousValue - timestamp - updatedValue - userId type: object StateChangeAuditInfoPagedResponse: example: entities: - new: true fieldName: fieldName customerId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 previousValue: previousValue userId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 updatedValue: updatedValue timestamp: 0 - new: true fieldName: fieldName customerId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 previousValue: previousValue userId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 updatedValue: updatedValue timestamp: 0 hasPrev: true hasNext: true totalCount: 6 properties: entities: items: $ref: '#/components/schemas/StateChangeAuditInfo' type: array hasNext: type: boolean hasPrev: type: boolean totalCount: format: int32 type: integer required: - entities - hasNext - hasPrev - totalCount type: object YBPSuccess: example: success: true message: message properties: message: description: API response message. readOnly: true type: string success: description: API operation status. A value of true indicates the operation was successful. readOnly: true type: boolean type: object Universe_performance_advisor_status: example: scheduleTime: 2022-12-12 13:07:18+00:00 universeUUID: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 customerUUID: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 startTime: 2022-12-12 13:07:18+00:00 endTime: 2022-12-12 13:07:18+00:00 state: PENDING manual: true uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 properties: customerUUID: description: Customer UUID format: uuid readOnly: true type: string endTime: description: Time perf advisor run was finished example: 2022-12-12 13:07:18+00:00 format: date-time readOnly: true type: string manual: description: Scheduled or manual run readOnly: true type: boolean scheduleTime: description: Time perf advisor run was scheduled example: 2022-12-12 13:07:18+00:00 format: date-time readOnly: true type: string startTime: description: Time perf advisor run was started example: 2022-12-12 13:07:18+00:00 format: date-time readOnly: true type: string state: description: State enum: - PENDING - RUNNING - COMPLETED - FAILED readOnly: true type: string universeUUID: description: Universe UUID format: uuid readOnly: true type: string uuid: description: Perf advisor run UUID format: uuid readOnly: true type: string required: - customerUUID - state - universeUUID - uuid type: object PerformanceRecommendationPagedQuery: example: filter: priorities: - HIGH - HIGH types: - UNUSED_INDEX - UNUSED_INDEX customerId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 universeId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 ids: - 046b6c7f-0b8a-43b9-b35d-6489e6daee91 - 046b6c7f-0b8a-43b9-b35d-6489e6daee91 createdInstantBefore: 0 isStale: true states: - OPEN - OPEN offset: 6 needTotalCount: true limit: 0 sortBy: id direction: ASC properties: direction: enum: - ASC - DESC type: string filter: $ref: '#/components/schemas/PerformanceRecommendationFilter' limit: format: int32 type: integer needTotalCount: type: boolean offset: format: int32 type: integer sortBy: enum: - id - recommendationType - recommendationState - recommendationPriority - recommendationTimestamp type: string required: - direction - filter - limit - needTotalCount - offset - sortBy type: object PerfAdvisorManualRunStatus: example: activeRun: scheduleTime: 2022-12-12 13:07:18+00:00 universeUUID: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 customerUUID: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 startTime: 2022-12-12 13:07:18+00:00 endTime: 2022-12-12 13:07:18+00:00 state: PENDING manual: true uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 success: true message: message properties: activeRun: $ref: '#/components/schemas/Universe_performance_advisor_status' message: description: API response message. readOnly: true type: string success: description: API operation status. A value of true indicates the operation was successful. readOnly: true type: boolean type: object PerformanceRecommendationFilter: example: priorities: - HIGH - HIGH types: - UNUSED_INDEX - UNUSED_INDEX customerId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 universeId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 ids: - 046b6c7f-0b8a-43b9-b35d-6489e6daee91 - 046b6c7f-0b8a-43b9-b35d-6489e6daee91 createdInstantBefore: 0 isStale: true states: - OPEN - OPEN properties: createdInstantBefore: format: int64 type: integer customerId: format: uuid type: string ids: items: format: uuid type: string type: array uniqueItems: true isStale: type: boolean priorities: items: enum: - HIGH - MEDIUM - LOW type: string type: array uniqueItems: true states: items: enum: - OPEN - HIDDEN - RESOLVED type: string type: array uniqueItems: true types: items: enum: - UNUSED_INDEX - RANGE_SHARDING - QUERY_LOAD_SKEW - CONNECTION_SKEW - CPU_SKEW - CPU_USAGE - REJECTED_CONNECTIONS - HOT_SHARD type: string type: array uniqueItems: true universeId: format: uuid type: string required: - createdInstantBefore - customerId - ids - isStale - priorities - states - types - universeId type: object PerfAdvisorSettingsFormData: example: cpu_skew_interval_mins: 1 hot_shard_interval_mins: 1 query_skew_min_queries: 1 query_skew_interval_mins: 1 cpu_usage_interval_mins: 1 hot_shard_write_skew_threshold_pct: 1.1231513536777256 rejected_conn_interval_mins: 1 connection_skew_threshold_pct: 1.1465812980502945 enabled: true universe_frequency_mins: 5 hot_shard_min_node_writes: 1 hot_shard_read_skew_threshold_pct: 1.7386281948385884 cpu_skew_min_usage_pct: 1.5637376656633328 hot_shard_min_node_reads: 1 cpu_usage_threshold: 1.9301444243932577 cpu_skew_threshold_pct: 1.2302135886934766 query_skew_threshold_pct: 1.684685269835264 rejected_conn_threshold: 1 connection_skew_min_connections: 1 connection_skew_interval_mins: 1 properties: connection_skew_interval_mins: description: Perf advisor connection skew check interval format: int32 minimum: 1 type: integer connection_skew_min_connections: description: Perf advisor connection skew min connections format: int32 minimum: 1 type: integer connection_skew_threshold_pct: description: Perf advisor connection skew threshold format: double minimum: 1 type: number cpu_skew_interval_mins: description: Perf advisor cpu skew check interval format: int32 minimum: 1 type: integer cpu_skew_min_usage_pct: description: Perf advisor cpu skew min cpu usage format: double minimum: 1 type: number cpu_skew_threshold_pct: description: Perf advisor cpu skew threshold format: double minimum: 1 type: number cpu_usage_interval_mins: description: Perf advisor CPU usage check interval format: int32 minimum: 1 type: integer cpu_usage_threshold: description: Perf advisor CPU usage threshold format: double minimum: 1 type: number enabled: description: Enable/disable perf advisor runs for the universe type: boolean hot_shard_interval_mins: description: Perf Advisor hot shard check interval format: int32 minimum: 1 type: integer hot_shard_min_node_reads: description: Perf advisor hot shard minimal node reads format: int32 minimum: 1 type: integer hot_shard_min_node_writes: description: Perf advisor hot shard minimal node writes format: int32 minimum: 1 type: integer hot_shard_read_skew_threshold_pct: description: Perf Advisor hot shard read skew threshold format: double minimum: 1 type: number hot_shard_write_skew_threshold_pct: description: Perf Advisor hot shard write skew threshold format: double minimum: 1 type: number query_skew_interval_mins: description: Perf advisor query skew check interval format: int32 minimum: 1 type: integer query_skew_min_queries: description: Perf advisor query skew min queries format: int32 minimum: 1 type: integer query_skew_threshold_pct: description: Perf advisor query skew threshold format: double minimum: 1 type: number rejected_conn_interval_mins: description: Perf advisor rejected connections check interval format: int32 minimum: 1 type: integer rejected_conn_threshold: description: Perf advisor rejected connections threshold format: int32 minimum: 1 type: integer universe_frequency_mins: description: Perf advisor runs frequency, in minutes format: int32 minimum: 5 type: integer type: object securitySchemes: apiKeyAuth: description: API token passed as header in: header name: X-AUTH-YW-API-TOKEN type: apiKey externalDocs: description: About YugabyteDB Anywhere url: https://docs.yugabyte.com/latest/yugabyte-platform/ x-original-swagger-version: '2.0'