MM-60283 Add standard response and API docs to /client_perf API (#28124)
* MM-60283 Add standard response to /client_perf API * Add API docs for /client_perf endpoint * Fix invalid response schema
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
d5e9aa9fb3
Коммит
c74f830b76
@@ -56,6 +56,7 @@ build-v4: node_modules playbooks
|
|||||||
@cat $(V4_SRC)/limits.yaml >> $(V4_YAML)
|
@cat $(V4_SRC)/limits.yaml >> $(V4_YAML)
|
||||||
@cat $(V4_SRC)/logs.yaml >> $(V4_YAML)
|
@cat $(V4_SRC)/logs.yaml >> $(V4_YAML)
|
||||||
@cat $(V4_SRC)/outgoing_oauth_connections.yaml >> $(V4_YAML)
|
@cat $(V4_SRC)/outgoing_oauth_connections.yaml >> $(V4_YAML)
|
||||||
|
@cat $(V4_SRC)/metrics.yaml >> $(V4_YAML)
|
||||||
@if [ -r $(PLAYBOOKS_SRC)/paths.yaml ]; then cat $(PLAYBOOKS_SRC)/paths.yaml >> $(V4_YAML); fi
|
@if [ -r $(PLAYBOOKS_SRC)/paths.yaml ]; then cat $(PLAYBOOKS_SRC)/paths.yaml >> $(V4_YAML); fi
|
||||||
@if [ -r $(PLAYBOOKS_SRC)/merged-definitions.yaml ]; then cat $(PLAYBOOKS_SRC)/merged-definitions.yaml >> $(V4_YAML); else cat $(V4_SRC)/definitions.yaml >> $(V4_YAML); fi
|
@if [ -r $(PLAYBOOKS_SRC)/merged-definitions.yaml ]; then cat $(PLAYBOOKS_SRC)/merged-definitions.yaml >> $(V4_YAML); else cat $(V4_SRC)/definitions.yaml >> $(V4_YAML); fi
|
||||||
@echo Extracting code samples
|
@echo Extracting code samples
|
||||||
|
|||||||
102
api/v4/source/metrics.yaml
Обычный файл
102
api/v4/source/metrics.yaml
Обычный файл
@@ -0,0 +1,102 @@
|
|||||||
|
/api/v4/client_perf:
|
||||||
|
post:
|
||||||
|
summary: Report client performance metrics
|
||||||
|
description: >
|
||||||
|
Uploads client performance measurements to the server as part of the Client Performance Monitoring feature.
|
||||||
|
|
||||||
|
__Minimum server version__: 9.9.0
|
||||||
|
operationId: SubmitPerformanceReport
|
||||||
|
requestBody:
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- version
|
||||||
|
- start
|
||||||
|
- end
|
||||||
|
properties:
|
||||||
|
version:
|
||||||
|
type: string
|
||||||
|
description: An identifier for the schema of the data being submitted which currently must be "0.1.0"
|
||||||
|
client_id:
|
||||||
|
type: string
|
||||||
|
description: Not currently used
|
||||||
|
labels:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
description: Labels to be applied to all metrics when recorded by the metrics backend
|
||||||
|
start:
|
||||||
|
type: integer
|
||||||
|
format: int64
|
||||||
|
description: The time in milliseconds of the first metric in this report
|
||||||
|
end:
|
||||||
|
type: integer
|
||||||
|
format: int64
|
||||||
|
description: The time in milliseconds of the last metric in this report
|
||||||
|
counters:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- metric
|
||||||
|
- value
|
||||||
|
properties:
|
||||||
|
metric:
|
||||||
|
type: string
|
||||||
|
description: The name of the counter
|
||||||
|
value:
|
||||||
|
type: number
|
||||||
|
format: double
|
||||||
|
description: The value to increment the counter by
|
||||||
|
timestamp:
|
||||||
|
type: integer
|
||||||
|
format: int64
|
||||||
|
description: The time that the counter was incremented
|
||||||
|
labels:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
description: Labels to be applied to this metric when recorded by the metrics backend
|
||||||
|
description: An array of counter metrics to be reported
|
||||||
|
histograms:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- metric
|
||||||
|
- value
|
||||||
|
properties:
|
||||||
|
metric:
|
||||||
|
type: string
|
||||||
|
description: The name of the measurement
|
||||||
|
value:
|
||||||
|
type: number
|
||||||
|
format: double
|
||||||
|
description: The value of the measurement
|
||||||
|
timestamp:
|
||||||
|
type: integer
|
||||||
|
format: int64
|
||||||
|
description: The time that the measurement was taken
|
||||||
|
labels:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
description: Labels to be applied to this metric when recorded by the metrics backend
|
||||||
|
description: An array of histogram measurements to be reported
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: Measurements reported successfully
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: "#/components/schemas/StatusOK"
|
||||||
|
"400":
|
||||||
|
$ref: "#/components/responses/BadRequest"
|
||||||
|
"401":
|
||||||
|
$ref: "#/components/responses/Unauthorized"
|
||||||
|
"403":
|
||||||
|
$ref: "#/components/responses/Forbidden"
|
||||||
|
"500":
|
||||||
|
$ref: "#/components/responses/InternalServerError"
|
||||||
@@ -35,4 +35,6 @@ func submitPerformanceReport(c *Context, w http.ResponseWriter, r *http.Request)
|
|||||||
c.Err = appErr
|
c.Err = appErr
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ReturnStatusOK(w)
|
||||||
}
|
}
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user