forked from harness/ff-python-server-sdk
-
Notifications
You must be signed in to change notification settings - Fork 0
/
metrics.yaml
141 lines (141 loc) · 3.3 KB
/
metrics.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
openapi: 3.0.0
info:
title: Harness feature flag analytics service
version: 1.0.0
contact:
name: Feature Flag - developers
url: 'https://www.harness.io'
email: [email protected]
servers:
- url: /api/1.0
description: no host specified
- url: 'http://localhost:3000/api/1.0'
description: CfClient description
paths:
'/metrics/{environment}':
post:
summary: Send metrics to the Analytics server.
description: Send metrics to Analytics server
operationId: postMetrics
parameters:
- $ref: '#/components/parameters/environmentPathParam'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Metrics'
security:
- BearerAuth: []
responses:
'200':
description: OK
'401':
$ref: '#/components/responses/Unauthenticated'
'403':
$ref: '#/components/responses/Unauthorized'
'500':
$ref: '#/components/responses/InternalServerError'
components:
schemas:
KeyValue:
type: object
properties:
key:
type: string
value:
type: string
required:
- key
- value
TargetData:
type: object
properties:
identifier:
type: string
name:
type: string
attributes:
type: array
items:
$ref: '#/components/schemas/KeyValue'
required:
- name
- identifier
- attributes
MetricsData:
type: object
properties:
timestamp:
type: integer
format: int64
example: 1608175465
description: time at when this data was recorded
count:
type: integer
metricsType:
type: string
enum:
- FFMETRICS
description: This can be of type FeatureMetrics
attributes:
type: array
items:
$ref: '#/components/schemas/KeyValue'
required:
- attributes
- count
- timestamp
- metricsType
Metrics:
type: object
properties:
targetData:
type: array
items:
$ref: '#/components/schemas/TargetData'
metricsData:
type: array
items:
$ref: '#/components/schemas/MetricsData'
Error:
type: object
properties:
code:
type: string
message:
type: string
required:
- code
- message
securitySchemes:
BearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
parameters:
environmentPathParam:
name: environment
in: path
required: true
description: environment parameter in query.
schema:
type: string
responses:
Unauthenticated:
description: Unauthenticated
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Unauthorized:
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
InternalServerError:
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'