Initial rest endpoint for metrics data

This commit is contained in:
2023-06-14 14:33:36 +02:00
parent 59008ec013
commit c662ced7e7
5 changed files with 509 additions and 23 deletions

View File

@@ -100,6 +100,8 @@ definitions:
description: The unique identifier of a cluster
example: fritz
type: string
concurrentJobs:
$ref: '#/definitions/schema.JobLinkResultList'
duration:
description: Duration of job in seconds (Min > 0)
example: 43200
@@ -124,6 +126,13 @@ definitions:
allOf:
- $ref: '#/definitions/schema.JobState'
description: Final state of job
enum:
- completed
- failed
- cancelled
- stopped
- timeout
- out_of_memory
example: completed
metaData:
additionalProperties:
@@ -143,7 +152,9 @@ definitions:
minimum: 1
type: integer
numHwthreads:
description: Number of HWThreads used (Min > 0)
description: NumCores int32 `json:"numCores" db:"num_cores"
example:"20" minimum:"1"` //
Number of HWThreads used (Min > 0)
example: 20
minimum: 1
type: integer
@@ -191,6 +202,22 @@ definitions:
minimum: 1
type: integer
type: object
schema.JobLink:
properties:
id:
type: integer
jobId:
type: integer
type: object
schema.JobLinkResultList:
properties:
count:
type: integer
items:
items:
$ref: '#/definitions/schema.JobLink'
type: array
type: object
schema.JobMeta:
description: Meta data information of a HPC job.
properties:
@@ -202,6 +229,8 @@ definitions:
description: The unique identifier of a cluster
example: fritz
type: string
concurrentJobs:
$ref: '#/definitions/schema.JobLinkResultList'
duration:
description: Duration of job in seconds (Min > 0)
example: 43200
@@ -226,6 +255,13 @@ definitions:
allOf:
- $ref: '#/definitions/schema.JobState'
description: Final state of job
enum:
- completed
- failed
- cancelled
- stopped
- timeout
- out_of_memory
example: completed
metaData:
additionalProperties:
@@ -245,7 +281,9 @@ definitions:
minimum: 1
type: integer
numHwthreads:
description: Number of HWThreads used (Min > 0)
description: NumCores int32 `json:"numCores" db:"num_cores"
example:"20" minimum:"1"` //
Number of HWThreads used (Min > 0)
example: 20
minimum: 1
type: integer
@@ -339,9 +377,7 @@ definitions:
minimum: 0
type: number
unit:
description: Metric unit (see schema/unit.schema.json)
example: GHz
type: string
$ref: '#/definitions/schema.Unit'
type: object
schema.Resource:
description: A resource used by a job
@@ -367,7 +403,9 @@ definitions:
description: Defines a tag using name and type.
properties:
id:
description: The unique DB identifier of a tag
description: |-
The unique DB identifier of a tag
The unique DB identifier of a tag
type: integer
name:
description: Tag Name
@@ -378,6 +416,13 @@ definitions:
example: Debug
type: string
type: object
schema.Unit:
properties:
base:
type: string
prefix:
type: string
type: object
host: localhost:8080
info:
contact:
@@ -389,7 +434,7 @@ info:
name: MIT License
url: https://opensource.org/licenses/MIT
title: ClusterCockpit REST API
version: 0.2.0
version: "1"
paths:
/jobs/:
get:
@@ -456,6 +501,64 @@ paths:
summary: Lists all jobs
tags:
- query
/jobs/{id}:
get:
consumes:
- application/json
description: |-
Job to get is specified by database ID
Returns full job resource information according to 'JobMeta' scheme and all metrics according to 'JobData'.
parameters:
- description: Database ID of Job
in: path
name: id
required: true
type: integer
- description: Array of metric names
in: body
name: request
required: true
schema:
items:
type: string
type: array
produces:
- application/json
responses:
"200":
description: Job resource
schema:
$ref: '#/definitions/schema.JobMeta'
"400":
description: Bad Request
schema:
$ref: '#/definitions/api.ErrorResponse'
"401":
description: Unauthorized
schema:
$ref: '#/definitions/api.ErrorResponse'
"403":
description: Forbidden
schema:
$ref: '#/definitions/api.ErrorResponse'
"404":
description: Resource not found
schema:
$ref: '#/definitions/api.ErrorResponse'
"422":
description: 'Unprocessable Entity: finding job failed: sql: no rows in
result set'
schema:
$ref: '#/definitions/api.ErrorResponse'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/api.ErrorResponse'
security:
- ApiKeyAuth: []
summary: Get complete job meta and metric data
tags:
- query
/jobs/delete_job/:
delete:
consumes: