Skip to content

Commit

Permalink
PMM-8673 mongodb backup logs (#775)
Browse files Browse the repository at this point in the history
* PMM-8673 backup logs

* PMM-8673 Add chunk_id

* logs done field

* Paging to logs

* Add chunk id to response

* PMM-8673 End flag

* PMM-8673 Rename message to data

* PMM-8673 Removed time

Co-authored-by: Artem Gavrilov <[email protected]>
  • Loading branch information
Dasio and artemgavrilov authored Oct 5, 2021
1 parent 0b785f0 commit a3a8d2d
Show file tree
Hide file tree
Showing 13 changed files with 1,639 additions and 401 deletions.
662 changes: 381 additions & 281 deletions api/agentpb/agent.pb.go

Large diffs are not rendered by default.

7 changes: 7 additions & 0 deletions api/agentpb/agent.proto
Original file line number Diff line number Diff line change
Expand Up @@ -526,11 +526,18 @@ message JobProgress {
// MySQLRestoreBackup contains restore backup job status update.
message MySQLRestoreBackup {}

// Logs contains generic logs from job.
message Logs {
uint32 chunk_id = 1;
string data = 2;
bool done = 3;
}
string job_id = 1;
google.protobuf.Timestamp timestamp = 2;
oneof result {
MySQLBackup mysql_backup = 11;
MySQLRestoreBackup mysql_restore_backup = 12;
Logs logs = 20;
}
}

Expand Down
10 changes: 10 additions & 0 deletions api/agentpb/agent.validator.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

517 changes: 397 additions & 120 deletions api/managementpb/backup/backups.pb.go

Large diffs are not rendered by default.

81 changes: 81 additions & 0 deletions api/managementpb/backup/backups.pb.gw.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

28 changes: 28 additions & 0 deletions api/managementpb/backup/backups.proto
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,27 @@ message RemoveScheduledBackupRequest {

message RemoveScheduledBackupResponse {}

message GetLogsRequest {
string artifact_id = 1 [
(validator.field) = {
string_not_empty: true
}
];
uint32 offset = 2;
uint32 limit = 3;
}

message GetLogsResponse {
repeated LogChunk logs = 1;
bool end = 2;
}

// LogChunk represent one chunk of logs.
message LogChunk {
uint32 chunk_id = 1;
string data = 2;
}

// Backups service handles backup operations to DB.
service Backups {
// StartBackup request backup specified service to location.
Expand Down Expand Up @@ -243,4 +264,11 @@ service Backups {
body: "*"
};
}
// GetLogs returns logs for provided artifact.
rpc GetLogs(GetLogsRequest) returns (GetLogsResponse) {
option (google.api.http) = {
post: "/v1/management/backup/Backups/GetLogs"
body: "*"
};
}
}
19 changes: 19 additions & 0 deletions api/managementpb/backup/backups.validator.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

107 changes: 107 additions & 0 deletions api/managementpb/backup/json/backup.json
Original file line number Diff line number Diff line change
Expand Up @@ -353,6 +353,113 @@
}
}
},
"/v1/management/backup/Backups/GetLogs": {
"post": {
"tags": [
"Backups"
],
"summary": "GetLogs returns logs for provided artifact.",
"operationId": "GetLogs",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"type": "object",
"properties": {
"artifact_id": {
"type": "string",
"x-order": 0
},
"limit": {
"type": "integer",
"format": "int64",
"x-order": 2
},
"offset": {
"type": "integer",
"format": "int64",
"x-order": 1
}
}
}
}
],
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"type": "object",
"properties": {
"end": {
"type": "boolean",
"x-order": 1
},
"logs": {
"type": "array",
"items": {
"description": "LogChunk represent one chunk of logs.",
"type": "object",
"properties": {
"chunk_id": {
"type": "integer",
"format": "int64",
"x-order": 0
},
"data": {
"type": "string",
"x-order": 1
}
}
},
"x-order": 0
}
}
}
},
"default": {
"description": "An unexpected error response.",
"schema": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32",
"x-order": 1
},
"details": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type_url": {
"type": "string",
"x-order": 0
},
"value": {
"type": "string",
"format": "byte",
"x-order": 1
}
}
},
"x-order": 3
},
"error": {
"type": "string",
"x-order": 0
},
"message": {
"type": "string",
"x-order": 2
}
}
}
}
}
}
},
"/v1/management/backup/Backups/ListArtifactCompatibleServices": {
"post": {
"tags": [
Expand Down
35 changes: 35 additions & 0 deletions api/managementpb/backup/json/client/backups/backups_client.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit a3a8d2d

Please sign in to comment.