add /usage-metrics endpoint definition
This commit is contained in:
parent
dd71f0a866
commit
d1f62263ef
1 changed files with 162 additions and 0 deletions
|
@ -684,6 +684,36 @@ paths:
|
|||
$ref: "#/definitions/ErrorResponse"
|
||||
security:
|
||||
- JWTAuthorizer: []
|
||||
/usage-metrics:
|
||||
post:
|
||||
description: Post usage metrics from a LP or a bouncer
|
||||
summary: Send usage metrics
|
||||
tags:
|
||||
- bouncers
|
||||
- watchers
|
||||
operationId: usage-metrics
|
||||
produces:
|
||||
- application/json
|
||||
parameters:
|
||||
- name: body
|
||||
in: body
|
||||
required: true
|
||||
schema:
|
||||
$ref: '#/definitions/AllMetrics'
|
||||
description: 'All metrics'
|
||||
responses:
|
||||
'200':
|
||||
description: successful operation
|
||||
schema:
|
||||
$ref: '#/definitions/SuccessResponse'
|
||||
headers: {}
|
||||
'400':
|
||||
description: "400 response"
|
||||
schema:
|
||||
$ref: "#/definitions/ErrorResponse"
|
||||
security:
|
||||
- APIKeyAuthorizer: []
|
||||
- JWTAuthorizer: []
|
||||
definitions:
|
||||
WatcherRegistrationRequest:
|
||||
title: WatcherRegistrationRequest
|
||||
|
@ -994,6 +1024,128 @@ definitions:
|
|||
type: string
|
||||
value:
|
||||
type: string
|
||||
RemediationComponentsMetrics:
|
||||
title: RemediationComponentsMetrics
|
||||
type: array
|
||||
maxItems: 1
|
||||
items:
|
||||
allOf:
|
||||
- $ref: '#/definitions/BaseMetrics'
|
||||
- type: object
|
||||
properties:
|
||||
type:
|
||||
type: string
|
||||
description: type of the remediation component
|
||||
LogProcessorsMetrics:
|
||||
title: LogProcessorsMetrics
|
||||
type: array
|
||||
maxItems: 1
|
||||
items:
|
||||
allOf:
|
||||
- $ref: '#/definitions/BaseMetrics'
|
||||
- type: object
|
||||
properties:
|
||||
console_options:
|
||||
$ref: '#/definitions/ConsoleOptions'
|
||||
datasources:
|
||||
type: object
|
||||
description: Number of datasources per type
|
||||
additionalProperties:
|
||||
type: integer
|
||||
AllMetrics:
|
||||
title: AllMetrics
|
||||
type: object
|
||||
properties:
|
||||
remediation_components:
|
||||
type: array
|
||||
items:
|
||||
$ref: '#/definitions/RemediationComponentsMetrics'
|
||||
description: remediation components metrics
|
||||
log_processors:
|
||||
type: array
|
||||
items:
|
||||
$ref: '#/definitions/LogProcessorsMetrics'
|
||||
description: log processors metrics
|
||||
BaseMetrics:
|
||||
title: BaseMetrics
|
||||
type: object
|
||||
properties:
|
||||
version:
|
||||
type: string
|
||||
description: version of the remediation component
|
||||
meta:
|
||||
type: object
|
||||
$ref: '#/definitions/MetricsMeta'
|
||||
description: metrics meta
|
||||
os:
|
||||
type: object
|
||||
$ref: '#/definitions/OSversion'
|
||||
description: OS information
|
||||
metrics:
|
||||
type: array
|
||||
items:
|
||||
$ref: '#/definitions/MetricsDetailItem'
|
||||
description: metrics details
|
||||
feature_flags:
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
description: feature flags (expected to be empty for remediation components)
|
||||
required:
|
||||
- version
|
||||
- os
|
||||
- meta
|
||||
OSversion:
|
||||
title: OSversion
|
||||
type: object
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
description: name of the OS
|
||||
version:
|
||||
type: string
|
||||
description: version of the OS
|
||||
MetricsDetailItem:
|
||||
title: MetricsDetailItem
|
||||
type: object
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
description: name of the metric
|
||||
value:
|
||||
type: number
|
||||
description: value of the metric
|
||||
unit:
|
||||
type: string
|
||||
description: unit of the metric
|
||||
labels:
|
||||
$ref: '#/definitions/MetricsLabels'
|
||||
description: labels of the metric
|
||||
MetricsMeta:
|
||||
title: MetricsMeta
|
||||
type: object
|
||||
properties:
|
||||
window_size_seconds:
|
||||
type: integer
|
||||
description: Size, in seconds, of the window used to compute the metric
|
||||
utc_startup_timestamp:
|
||||
type: number
|
||||
description: UTC timestamp of the startup of the software
|
||||
utc_now_timestamp:
|
||||
type: number
|
||||
description: UTC timestamp of the current time
|
||||
MetricsLabels:
|
||||
title: MetricsLabels
|
||||
type: object
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: label of the metric
|
||||
ConsoleOptions:
|
||||
title: ConsoleOptions
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
description: enabled console options
|
||||
ErrorResponse:
|
||||
type: "object"
|
||||
required:
|
||||
|
@ -1007,6 +1159,16 @@ definitions:
|
|||
description: "more detail on individual errors"
|
||||
title: "error response"
|
||||
description: "error response return by the API"
|
||||
SuccessResponse:
|
||||
type: "object"
|
||||
required:
|
||||
- "message"
|
||||
properties:
|
||||
message:
|
||||
type: "string"
|
||||
description: "message"
|
||||
title: "success response"
|
||||
description: "success response return by the API"
|
||||
tags:
|
||||
- name: bouncers
|
||||
description: 'Operations about decisions : bans, captcha, rate-limit etc.'
|
||||
|
|
Loading…
Reference in a new issue