feat(coderd): return agent script timings (#14923)

Add the agent script timings into the
`/workspacebuilds/:workspacebuild/timings` response.

Close https://github.com/coder/coder/issues/14876
This commit is contained in:
Bruno Quaresma
2024-10-14 09:31:03 -03:00
committed by GitHub
parent 79d24d2101
commit 9c8ecb82a3
23 changed files with 982 additions and 296 deletions
+78 -12
View File
@@ -7473,6 +7473,41 @@ const docTemplate = `{
}
}
},
"/workspacebuilds/{workspacebuild}/timings": {
"get": {
"security": [
{
"CoderSessionToken": []
}
],
"produces": [
"application/json"
],
"tags": [
"Builds"
],
"summary": "Get workspace build timings by ID",
"operationId": "get-workspace-build-timings-by-id",
"parameters": [
{
"type": "string",
"format": "uuid",
"description": "Workspace build ID",
"name": "workspacebuild",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/codersdk.WorkspaceBuildTimings"
}
}
}
}
},
"/workspaceproxies": {
"get": {
"security": [
@@ -8506,7 +8541,7 @@ const docTemplate = `{
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/codersdk.WorkspaceTimings"
"$ref": "#/definitions/codersdk.WorkspaceBuildTimings"
}
}
}
@@ -8940,6 +8975,31 @@ const docTemplate = `{
}
}
},
"codersdk.AgentScriptTiming": {
"type": "object",
"properties": {
"display_name": {
"type": "string"
},
"ended_at": {
"type": "string",
"format": "date-time"
},
"exit_code": {
"type": "integer"
},
"stage": {
"type": "string"
},
"started_at": {
"type": "string",
"format": "date-time"
},
"status": {
"type": "string"
}
}
},
"codersdk.AgentSubsystem": {
"type": "string",
"enum": [
@@ -14684,6 +14744,23 @@ const docTemplate = `{
}
}
},
"codersdk.WorkspaceBuildTimings": {
"type": "object",
"properties": {
"agent_script_timings": {
"type": "array",
"items": {
"$ref": "#/definitions/codersdk.AgentScriptTiming"
}
},
"provisioner_timings": {
"type": "array",
"items": {
"$ref": "#/definitions/codersdk.ProvisionerTiming"
}
}
}
},
"codersdk.WorkspaceConnectionLatencyMS": {
"type": "object",
"properties": {
@@ -14927,17 +15004,6 @@ const docTemplate = `{
"WorkspaceStatusDeleted"
]
},
"codersdk.WorkspaceTimings": {
"type": "object",
"properties": {
"provisioner_timings": {
"type": "array",
"items": {
"$ref": "#/definitions/codersdk.ProvisionerTiming"
}
}
}
},
"codersdk.WorkspaceTransition": {
"type": "string",
"enum": [
+74 -12
View File
@@ -6609,6 +6609,37 @@
}
}
},
"/workspacebuilds/{workspacebuild}/timings": {
"get": {
"security": [
{
"CoderSessionToken": []
}
],
"produces": ["application/json"],
"tags": ["Builds"],
"summary": "Get workspace build timings by ID",
"operationId": "get-workspace-build-timings-by-id",
"parameters": [
{
"type": "string",
"format": "uuid",
"description": "Workspace build ID",
"name": "workspacebuild",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/codersdk.WorkspaceBuildTimings"
}
}
}
}
},
"/workspaceproxies": {
"get": {
"security": [
@@ -7524,7 +7555,7 @@
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/codersdk.WorkspaceTimings"
"$ref": "#/definitions/codersdk.WorkspaceBuildTimings"
}
}
}
@@ -7922,6 +7953,31 @@
}
}
},
"codersdk.AgentScriptTiming": {
"type": "object",
"properties": {
"display_name": {
"type": "string"
},
"ended_at": {
"type": "string",
"format": "date-time"
},
"exit_code": {
"type": "integer"
},
"stage": {
"type": "string"
},
"started_at": {
"type": "string",
"format": "date-time"
},
"status": {
"type": "string"
}
}
},
"codersdk.AgentSubsystem": {
"type": "string",
"enum": ["envbox", "envbuilder", "exectrace"],
@@ -13359,6 +13415,23 @@
}
}
},
"codersdk.WorkspaceBuildTimings": {
"type": "object",
"properties": {
"agent_script_timings": {
"type": "array",
"items": {
"$ref": "#/definitions/codersdk.AgentScriptTiming"
}
},
"provisioner_timings": {
"type": "array",
"items": {
"$ref": "#/definitions/codersdk.ProvisionerTiming"
}
}
}
},
"codersdk.WorkspaceConnectionLatencyMS": {
"type": "object",
"properties": {
@@ -13598,17 +13671,6 @@
"WorkspaceStatusDeleted"
]
},
"codersdk.WorkspaceTimings": {
"type": "object",
"properties": {
"provisioner_timings": {
"type": "array",
"items": {
"$ref": "#/definitions/codersdk.ProvisionerTiming"
}
}
}
},
"codersdk.WorkspaceTransition": {
"type": "string",
"enum": ["start", "stop", "delete"],