temporal-flowrensic-python-sdk 0.6.63__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. temporal_flowrensic/__init__.py +2 -0
  2. temporal_flowrensic/_calls.py +185 -0
  3. temporal_flowrensic/_ci.py +56 -0
  4. temporal_flowrensic/_deploy.py +65 -0
  5. temporal_flowrensic/_gen/flowrensic/v1/activity_metrics_pb2.py +76 -0
  6. temporal_flowrensic/_gen/flowrensic/v1/activity_metrics_pb2.pyi +301 -0
  7. temporal_flowrensic/_gen/flowrensic/v1/catalog_pb2.py +60 -0
  8. temporal_flowrensic/_gen/flowrensic/v1/catalog_pb2.pyi +127 -0
  9. temporal_flowrensic/_gen/flowrensic/v1/catch_up_pb2.py +42 -0
  10. temporal_flowrensic/_gen/flowrensic/v1/catch_up_pb2.pyi +71 -0
  11. temporal_flowrensic/_gen/flowrensic/v1/client_calls_pb2.py +49 -0
  12. temporal_flowrensic/_gen/flowrensic/v1/client_calls_pb2.pyi +90 -0
  13. temporal_flowrensic/_gen/flowrensic/v1/cost_pb2.py +52 -0
  14. temporal_flowrensic/_gen/flowrensic/v1/cost_pb2.pyi +107 -0
  15. temporal_flowrensic/_gen/flowrensic/v1/deploy_pb2.py +51 -0
  16. temporal_flowrensic/_gen/flowrensic/v1/deploy_pb2.pyi +92 -0
  17. temporal_flowrensic/_gen/flowrensic/v1/ephemeral_run_pb2.py +107 -0
  18. temporal_flowrensic/_gen/flowrensic/v1/ephemeral_run_pb2.pyi +344 -0
  19. temporal_flowrensic/_gen/flowrensic/v1/finding_pb2.py +76 -0
  20. temporal_flowrensic/_gen/flowrensic/v1/finding_pb2.pyi +371 -0
  21. temporal_flowrensic/_gen/flowrensic/v1/job_pb2.py +46 -0
  22. temporal_flowrensic/_gen/flowrensic/v1/job_pb2.pyi +51 -0
  23. temporal_flowrensic/_gen/flowrensic/v1/load_pb2.py +51 -0
  24. temporal_flowrensic/_gen/flowrensic/v1/load_pb2.pyi +118 -0
  25. temporal_flowrensic/_gen/flowrensic/v1/page_pb2.py +38 -0
  26. temporal_flowrensic/_gen/flowrensic/v1/page_pb2.pyi +23 -0
  27. temporal_flowrensic/_gen/flowrensic/v1/remediation_pb2.py +60 -0
  28. temporal_flowrensic/_gen/flowrensic/v1/remediation_pb2.pyi +157 -0
  29. temporal_flowrensic/_gen/flowrensic/v1/replay_pb2.py +84 -0
  30. temporal_flowrensic/_gen/flowrensic/v1/replay_pb2.pyi +309 -0
  31. temporal_flowrensic/_gen/flowrensic/v1/server_config_pb2.py +48 -0
  32. temporal_flowrensic/_gen/flowrensic/v1/server_config_pb2.pyi +97 -0
  33. temporal_flowrensic/_gen/flowrensic/v1/services_connect.py +3621 -0
  34. temporal_flowrensic/_gen/flowrensic/v1/services_pb2.py +60 -0
  35. temporal_flowrensic/_gen/flowrensic/v1/services_pb2.pyi +20 -0
  36. temporal_flowrensic/_gen/flowrensic/v1/stored_data_pb2.py +43 -0
  37. temporal_flowrensic/_gen/flowrensic/v1/stored_data_pb2.pyi +50 -0
  38. temporal_flowrensic/_gen/flowrensic/v1/workflow_history_pb2.py +47 -0
  39. temporal_flowrensic/_gen/flowrensic/v1/workflow_history_pb2.pyi +102 -0
  40. temporal_flowrensic/_gen/flowrensic/v1/workflow_types_pb2.py +55 -0
  41. temporal_flowrensic/_gen/flowrensic/v1/workflow_types_pb2.pyi +197 -0
  42. temporal_flowrensic/_names.py +42 -0
  43. temporal_flowrensic/_queries.py +61 -0
  44. temporal_flowrensic/_replay.py +378 -0
  45. temporal_flowrensic/_sink.py +574 -0
  46. temporal_flowrensic/_telemetry.py +559 -0
  47. temporal_flowrensic/activity.py +136 -0
  48. temporal_flowrensic/client.py +166 -0
  49. temporal_flowrensic/py.typed +0 -0
  50. temporal_flowrensic/workflow.py +103 -0
  51. temporal_flowrensic_python_sdk-0.6.63.dist-info/METADATA +74 -0
  52. temporal_flowrensic_python_sdk-0.6.63.dist-info/RECORD +54 -0
  53. temporal_flowrensic_python_sdk-0.6.63.dist-info/WHEEL +4 -0
  54. temporal_flowrensic_python_sdk-0.6.63.dist-info/licenses/LICENSE +202 -0
@@ -0,0 +1,371 @@
1
+ import datetime
2
+
3
+ from temporal_flowrensic._gen.flowrensic.v1 import page_pb2 as _page_pb2
4
+ from google.protobuf import timestamp_pb2 as _timestamp_pb2
5
+ from google.protobuf.internal import containers as _containers
6
+ from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import message as _message
9
+ from collections.abc import Iterable as _Iterable, Mapping as _Mapping
10
+ from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union
11
+
12
+ DESCRIPTOR: _descriptor.FileDescriptor
13
+
14
+ class FindingClass(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
15
+ __slots__ = ()
16
+ FINDING_CLASS_UNSPECIFIED: _ClassVar[FindingClass]
17
+ FINDING_CLASS_WEDGED: _ClassVar[FindingClass]
18
+ FINDING_CLASS_DANGLING_HANDLER: _ClassVar[FindingClass]
19
+ FINDING_CLASS_STUCK_LOOP: _ClassVar[FindingClass]
20
+ FINDING_CLASS_HISTORY_BLOAT: _ClassVar[FindingClass]
21
+ FINDING_CLASS_ORPHANED_ACTIVITY: _ClassVar[FindingClass]
22
+ FINDING_CLASS_INITIALIZATION_RACE: _ClassVar[FindingClass]
23
+ FINDING_CLASS_INVALID_STATE_COMBINATION: _ClassVar[FindingClass]
24
+ FINDING_CLASS_TWO_STORE_DRIFT: _ClassVar[FindingClass]
25
+ FINDING_CLASS_TIMEOUT_MISCONFIGURATION: _ClassVar[FindingClass]
26
+ FINDING_CLASS_OVERLAP_TOO_LONG: _ClassVar[FindingClass]
27
+ FINDING_CLASS_DECLARED_NOT_DONE: _ClassVar[FindingClass]
28
+ FINDING_CLASS_OLD_VERSION_DURING_ROLLOUT: _ClassVar[FindingClass]
29
+ FINDING_CLASS_RETRY_MISCONFIGURATION: _ClassVar[FindingClass]
30
+ FINDING_CLASS_REFUSED_UPDATES: _ClassVar[FindingClass]
31
+ FINDING_CLASS_PULL_GAP: _ClassVar[FindingClass]
32
+ FINDING_CLASS_STOPPED_AFTER_DEPLOY: _ClassVar[FindingClass]
33
+ FINDING_CLASS_FAILED_RUN: _ClassVar[FindingClass]
34
+ FINDING_CLASS_SERVER_METRICS_GAP: _ClassVar[FindingClass]
35
+ FINDING_CLASS_WORKER_SLOTS_USED_UP: _ClassVar[FindingClass]
36
+ FINDING_CLASS_STICKY_CACHE_TOO_SMALL: _ClassVar[FindingClass]
37
+ FINDING_CLASS_SLOW_WORKFLOW_TASK: _ClassVar[FindingClass]
38
+ FINDING_CLASS_LONG_REPLAY: _ClassVar[FindingClass]
39
+ FINDING_CLASS_ACTIVITY_FAILING: _ClassVar[FindingClass]
40
+ FINDING_CLASS_ACTIVITY_SLOW: _ClassVar[FindingClass]
41
+ FINDING_CLASS_WORKER_POLLERS: _ClassVar[FindingClass]
42
+ FINDING_CLASS_WORKER_CANNOT_REACH_SERVER: _ClassVar[FindingClass]
43
+ FINDING_CLASS_SCHEDULE_TO_START_INCREASE: _ClassVar[FindingClass]
44
+ FINDING_CLASS_BACKLOG_GROWING: _ClassVar[FindingClass]
45
+ FINDING_CLASS_NO_POLLERS: _ClassVar[FindingClass]
46
+ FINDING_CLASS_HIGH_SCHEDULE_TO_START: _ClassVar[FindingClass]
47
+ FINDING_CLASS_LOW_SYNC_MATCH: _ClassVar[FindingClass]
48
+ FINDING_CLASS_RESOURCE_EXHAUSTED: _ClassVar[FindingClass]
49
+ FINDING_CLASS_TEMPORAL_DATABASE: _ClassVar[FindingClass]
50
+ FINDING_CLASS_WORKFLOW_TASK_FAILURES: _ClassVar[FindingClass]
51
+ FINDING_CLASS_ACTIVITY_TIMEOUTS_RISING: _ClassVar[FindingClass]
52
+ FINDING_CLASS_HISTORY_TOO_LARGE: _ClassVar[FindingClass]
53
+ FINDING_CLASS_HISTORY_SERVICE_TROUBLE: _ClassVar[FindingClass]
54
+ FINDING_CLASS_ACTIVITY_ATTEMPTS: _ClassVar[FindingClass]
55
+ FINDING_CLASS_ERROR_RETRIES: _ClassVar[FindingClass]
56
+ FINDING_CLASS_LONG_ACTIVITY_WITHOUT_HEARTBEAT: _ClassVar[FindingClass]
57
+ FINDING_CLASS_LOST_ATTEMPTS: _ClassVar[FindingClass]
58
+ FINDING_CLASS_UNHANDLED_MESSAGES: _ClassVar[FindingClass]
59
+ FINDING_CLASS_WORKER_RECORDS_DROPPED: _ClassVar[FindingClass]
60
+ FINDING_CLASS_NAMESPACE_NEAR_LIMIT: _ClassVar[FindingClass]
61
+ FINDING_CLASS_NAMESPACE_THROTTLED: _ClassVar[FindingClass]
62
+ FINDING_CLASS_ENGINE_METRICS_MISSING: _ClassVar[FindingClass]
63
+ FINDING_CLASS_DATA_STOPPED: _ClassVar[FindingClass]
64
+ FINDING_CLASS_ACTIVITY_NEAR_TIMEOUT: _ClassVar[FindingClass]
65
+ FINDING_CLASS_ACTIVITY_TIMED_OUT: _ClassVar[FindingClass]
66
+ FINDING_CLASS_ENGINE_REFUSED: _ClassVar[FindingClass]
67
+ FINDING_CLASS_ENGINE_UNREACHABLE: _ClassVar[FindingClass]
68
+ FINDING_CLASS_WORKER_CALLS_REFUSED: _ClassVar[FindingClass]
69
+ FINDING_CLASS_NAMESPACE_NOT_FOUND: _ClassVar[FindingClass]
70
+ FINDING_CLASS_ENV_WITHOUT_NAMESPACE: _ClassVar[FindingClass]
71
+ FINDING_CLASS_E2E_WITH_OLD_WORKERS: _ClassVar[FindingClass]
72
+ FINDING_CLASS_E2E_ATTEMPTS_LOST: _ClassVar[FindingClass]
73
+ FINDING_CLASS_FORGOTTEN: _ClassVar[FindingClass]
74
+ FINDING_CLASS_REPLAY_INTERCEPTOR_DRIFT: _ClassVar[FindingClass]
75
+ FINDING_CLASS_INTERCEPTORS_CHANGED: _ClassVar[FindingClass]
76
+ FINDING_CLASS_JOB_BEHIND: _ClassVar[FindingClass]
77
+ FINDING_CLASS_JOB_LATE: _ClassVar[FindingClass]
78
+ FINDING_CLASS_OVER_LIMIT: _ClassVar[FindingClass]
79
+ FINDING_CLASS_JOB_BACKLOG_GROWING: _ClassVar[FindingClass]
80
+ FINDING_CLASS_UNREADABLE_HISTORY: _ClassVar[FindingClass]
81
+
82
+ class FindingTag(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
83
+ __slots__ = ()
84
+ FINDING_TAG_UNSPECIFIED: _ClassVar[FindingTag]
85
+ FINDING_TAG_WORKFLOWS: _ClassVar[FindingTag]
86
+ FINDING_TAG_FLOWRENSIC: _ClassVar[FindingTag]
87
+
88
+ class Severity(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
89
+ __slots__ = ()
90
+ SEVERITY_UNSPECIFIED: _ClassVar[Severity]
91
+ SEVERITY_INFO: _ClassVar[Severity]
92
+ SEVERITY_WARNING: _ClassVar[Severity]
93
+ SEVERITY_CRITICAL: _ClassVar[Severity]
94
+
95
+ class FindingStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
96
+ __slots__ = ()
97
+ FINDING_STATUS_UNSPECIFIED: _ClassVar[FindingStatus]
98
+ FINDING_STATUS_ACTIVE: _ClassVar[FindingStatus]
99
+ FINDING_STATUS_ARCHIVED: _ClassVar[FindingStatus]
100
+ FINDING_CLASS_UNSPECIFIED: FindingClass
101
+ FINDING_CLASS_WEDGED: FindingClass
102
+ FINDING_CLASS_DANGLING_HANDLER: FindingClass
103
+ FINDING_CLASS_STUCK_LOOP: FindingClass
104
+ FINDING_CLASS_HISTORY_BLOAT: FindingClass
105
+ FINDING_CLASS_ORPHANED_ACTIVITY: FindingClass
106
+ FINDING_CLASS_INITIALIZATION_RACE: FindingClass
107
+ FINDING_CLASS_INVALID_STATE_COMBINATION: FindingClass
108
+ FINDING_CLASS_TWO_STORE_DRIFT: FindingClass
109
+ FINDING_CLASS_TIMEOUT_MISCONFIGURATION: FindingClass
110
+ FINDING_CLASS_OVERLAP_TOO_LONG: FindingClass
111
+ FINDING_CLASS_DECLARED_NOT_DONE: FindingClass
112
+ FINDING_CLASS_OLD_VERSION_DURING_ROLLOUT: FindingClass
113
+ FINDING_CLASS_RETRY_MISCONFIGURATION: FindingClass
114
+ FINDING_CLASS_REFUSED_UPDATES: FindingClass
115
+ FINDING_CLASS_PULL_GAP: FindingClass
116
+ FINDING_CLASS_STOPPED_AFTER_DEPLOY: FindingClass
117
+ FINDING_CLASS_FAILED_RUN: FindingClass
118
+ FINDING_CLASS_SERVER_METRICS_GAP: FindingClass
119
+ FINDING_CLASS_WORKER_SLOTS_USED_UP: FindingClass
120
+ FINDING_CLASS_STICKY_CACHE_TOO_SMALL: FindingClass
121
+ FINDING_CLASS_SLOW_WORKFLOW_TASK: FindingClass
122
+ FINDING_CLASS_LONG_REPLAY: FindingClass
123
+ FINDING_CLASS_ACTIVITY_FAILING: FindingClass
124
+ FINDING_CLASS_ACTIVITY_SLOW: FindingClass
125
+ FINDING_CLASS_WORKER_POLLERS: FindingClass
126
+ FINDING_CLASS_WORKER_CANNOT_REACH_SERVER: FindingClass
127
+ FINDING_CLASS_SCHEDULE_TO_START_INCREASE: FindingClass
128
+ FINDING_CLASS_BACKLOG_GROWING: FindingClass
129
+ FINDING_CLASS_NO_POLLERS: FindingClass
130
+ FINDING_CLASS_HIGH_SCHEDULE_TO_START: FindingClass
131
+ FINDING_CLASS_LOW_SYNC_MATCH: FindingClass
132
+ FINDING_CLASS_RESOURCE_EXHAUSTED: FindingClass
133
+ FINDING_CLASS_TEMPORAL_DATABASE: FindingClass
134
+ FINDING_CLASS_WORKFLOW_TASK_FAILURES: FindingClass
135
+ FINDING_CLASS_ACTIVITY_TIMEOUTS_RISING: FindingClass
136
+ FINDING_CLASS_HISTORY_TOO_LARGE: FindingClass
137
+ FINDING_CLASS_HISTORY_SERVICE_TROUBLE: FindingClass
138
+ FINDING_CLASS_ACTIVITY_ATTEMPTS: FindingClass
139
+ FINDING_CLASS_ERROR_RETRIES: FindingClass
140
+ FINDING_CLASS_LONG_ACTIVITY_WITHOUT_HEARTBEAT: FindingClass
141
+ FINDING_CLASS_LOST_ATTEMPTS: FindingClass
142
+ FINDING_CLASS_UNHANDLED_MESSAGES: FindingClass
143
+ FINDING_CLASS_WORKER_RECORDS_DROPPED: FindingClass
144
+ FINDING_CLASS_NAMESPACE_NEAR_LIMIT: FindingClass
145
+ FINDING_CLASS_NAMESPACE_THROTTLED: FindingClass
146
+ FINDING_CLASS_ENGINE_METRICS_MISSING: FindingClass
147
+ FINDING_CLASS_DATA_STOPPED: FindingClass
148
+ FINDING_CLASS_ACTIVITY_NEAR_TIMEOUT: FindingClass
149
+ FINDING_CLASS_ACTIVITY_TIMED_OUT: FindingClass
150
+ FINDING_CLASS_ENGINE_REFUSED: FindingClass
151
+ FINDING_CLASS_ENGINE_UNREACHABLE: FindingClass
152
+ FINDING_CLASS_WORKER_CALLS_REFUSED: FindingClass
153
+ FINDING_CLASS_NAMESPACE_NOT_FOUND: FindingClass
154
+ FINDING_CLASS_ENV_WITHOUT_NAMESPACE: FindingClass
155
+ FINDING_CLASS_E2E_WITH_OLD_WORKERS: FindingClass
156
+ FINDING_CLASS_E2E_ATTEMPTS_LOST: FindingClass
157
+ FINDING_CLASS_FORGOTTEN: FindingClass
158
+ FINDING_CLASS_REPLAY_INTERCEPTOR_DRIFT: FindingClass
159
+ FINDING_CLASS_INTERCEPTORS_CHANGED: FindingClass
160
+ FINDING_CLASS_JOB_BEHIND: FindingClass
161
+ FINDING_CLASS_JOB_LATE: FindingClass
162
+ FINDING_CLASS_OVER_LIMIT: FindingClass
163
+ FINDING_CLASS_JOB_BACKLOG_GROWING: FindingClass
164
+ FINDING_CLASS_UNREADABLE_HISTORY: FindingClass
165
+ FINDING_TAG_UNSPECIFIED: FindingTag
166
+ FINDING_TAG_WORKFLOWS: FindingTag
167
+ FINDING_TAG_FLOWRENSIC: FindingTag
168
+ SEVERITY_UNSPECIFIED: Severity
169
+ SEVERITY_INFO: Severity
170
+ SEVERITY_WARNING: Severity
171
+ SEVERITY_CRITICAL: Severity
172
+ FINDING_STATUS_UNSPECIFIED: FindingStatus
173
+ FINDING_STATUS_ACTIVE: FindingStatus
174
+ FINDING_STATUS_ARCHIVED: FindingStatus
175
+
176
+ class Evidence(_message.Message):
177
+ __slots__ = ("event_seq", "note", "run_id", "at", "workflow_id", "temporal_ui_url")
178
+ EVENT_SEQ_FIELD_NUMBER: _ClassVar[int]
179
+ NOTE_FIELD_NUMBER: _ClassVar[int]
180
+ RUN_ID_FIELD_NUMBER: _ClassVar[int]
181
+ AT_FIELD_NUMBER: _ClassVar[int]
182
+ WORKFLOW_ID_FIELD_NUMBER: _ClassVar[int]
183
+ TEMPORAL_UI_URL_FIELD_NUMBER: _ClassVar[int]
184
+ event_seq: int
185
+ note: str
186
+ run_id: str
187
+ at: _timestamp_pb2.Timestamp
188
+ workflow_id: str
189
+ temporal_ui_url: str
190
+ def __init__(self, event_seq: _Optional[int] = ..., note: _Optional[str] = ..., run_id: _Optional[str] = ..., at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., workflow_id: _Optional[str] = ..., temporal_ui_url: _Optional[str] = ...) -> None: ...
191
+
192
+ class Finding(_message.Message):
193
+ __slots__ = ("id", "run_id", "severity", "summary", "analyzer", "evidence", "detected_at", "deploy_id", "workflow_id", "workflow_type", "details", "url", "run_count", "first_run_at", "last_run_at", "ended_at", "status", "archived_at", "mistaken_at", "mistaken_by", "temporal_ui_url", "tag")
194
+ class DetailsEntry(_message.Message):
195
+ __slots__ = ("key", "value")
196
+ KEY_FIELD_NUMBER: _ClassVar[int]
197
+ VALUE_FIELD_NUMBER: _ClassVar[int]
198
+ key: str
199
+ value: str
200
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
201
+ ID_FIELD_NUMBER: _ClassVar[int]
202
+ RUN_ID_FIELD_NUMBER: _ClassVar[int]
203
+ CLASS_FIELD_NUMBER: _ClassVar[int]
204
+ SEVERITY_FIELD_NUMBER: _ClassVar[int]
205
+ SUMMARY_FIELD_NUMBER: _ClassVar[int]
206
+ ANALYZER_FIELD_NUMBER: _ClassVar[int]
207
+ EVIDENCE_FIELD_NUMBER: _ClassVar[int]
208
+ DETECTED_AT_FIELD_NUMBER: _ClassVar[int]
209
+ DEPLOY_ID_FIELD_NUMBER: _ClassVar[int]
210
+ WORKFLOW_ID_FIELD_NUMBER: _ClassVar[int]
211
+ WORKFLOW_TYPE_FIELD_NUMBER: _ClassVar[int]
212
+ DETAILS_FIELD_NUMBER: _ClassVar[int]
213
+ URL_FIELD_NUMBER: _ClassVar[int]
214
+ RUN_COUNT_FIELD_NUMBER: _ClassVar[int]
215
+ FIRST_RUN_AT_FIELD_NUMBER: _ClassVar[int]
216
+ LAST_RUN_AT_FIELD_NUMBER: _ClassVar[int]
217
+ ENDED_AT_FIELD_NUMBER: _ClassVar[int]
218
+ STATUS_FIELD_NUMBER: _ClassVar[int]
219
+ ARCHIVED_AT_FIELD_NUMBER: _ClassVar[int]
220
+ MISTAKEN_AT_FIELD_NUMBER: _ClassVar[int]
221
+ MISTAKEN_BY_FIELD_NUMBER: _ClassVar[int]
222
+ TEMPORAL_UI_URL_FIELD_NUMBER: _ClassVar[int]
223
+ TAG_FIELD_NUMBER: _ClassVar[int]
224
+ id: str
225
+ run_id: str
226
+ severity: Severity
227
+ summary: str
228
+ analyzer: str
229
+ evidence: _containers.RepeatedCompositeFieldContainer[Evidence]
230
+ detected_at: _timestamp_pb2.Timestamp
231
+ deploy_id: str
232
+ workflow_id: str
233
+ workflow_type: str
234
+ details: _containers.ScalarMap[str, str]
235
+ url: str
236
+ run_count: int
237
+ first_run_at: _timestamp_pb2.Timestamp
238
+ last_run_at: _timestamp_pb2.Timestamp
239
+ ended_at: _timestamp_pb2.Timestamp
240
+ status: FindingStatus
241
+ archived_at: _timestamp_pb2.Timestamp
242
+ mistaken_at: _timestamp_pb2.Timestamp
243
+ mistaken_by: str
244
+ temporal_ui_url: str
245
+ tag: FindingTag
246
+ def __init__(self, id: _Optional[str] = ..., run_id: _Optional[str] = ..., severity: _Optional[_Union[Severity, str]] = ..., summary: _Optional[str] = ..., analyzer: _Optional[str] = ..., evidence: _Optional[_Iterable[_Union[Evidence, _Mapping]]] = ..., detected_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., deploy_id: _Optional[str] = ..., workflow_id: _Optional[str] = ..., workflow_type: _Optional[str] = ..., details: _Optional[_Mapping[str, str]] = ..., url: _Optional[str] = ..., run_count: _Optional[int] = ..., first_run_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., last_run_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., ended_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., status: _Optional[_Union[FindingStatus, str]] = ..., archived_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., mistaken_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., mistaken_by: _Optional[str] = ..., temporal_ui_url: _Optional[str] = ..., tag: _Optional[_Union[FindingTag, str]] = ..., **kwargs) -> None: ...
247
+
248
+ class ListFindingsRequest(_message.Message):
249
+ __slots__ = ("run_id", "deploy_id", "severity", "env", "workflow_type", "sort", "descending", "stored_only", "status", "mistaken", "tag", "worker_name", "page")
250
+ RUN_ID_FIELD_NUMBER: _ClassVar[int]
251
+ DEPLOY_ID_FIELD_NUMBER: _ClassVar[int]
252
+ SEVERITY_FIELD_NUMBER: _ClassVar[int]
253
+ CLASS_FIELD_NUMBER: _ClassVar[int]
254
+ ENV_FIELD_NUMBER: _ClassVar[int]
255
+ WORKFLOW_TYPE_FIELD_NUMBER: _ClassVar[int]
256
+ SORT_FIELD_NUMBER: _ClassVar[int]
257
+ DESCENDING_FIELD_NUMBER: _ClassVar[int]
258
+ STORED_ONLY_FIELD_NUMBER: _ClassVar[int]
259
+ STATUS_FIELD_NUMBER: _ClassVar[int]
260
+ MISTAKEN_FIELD_NUMBER: _ClassVar[int]
261
+ TAG_FIELD_NUMBER: _ClassVar[int]
262
+ WORKER_NAME_FIELD_NUMBER: _ClassVar[int]
263
+ PAGE_FIELD_NUMBER: _ClassVar[int]
264
+ run_id: str
265
+ deploy_id: str
266
+ severity: Severity
267
+ env: str
268
+ workflow_type: str
269
+ sort: str
270
+ descending: bool
271
+ stored_only: bool
272
+ status: FindingStatus
273
+ mistaken: bool
274
+ tag: FindingTag
275
+ worker_name: str
276
+ page: _page_pb2.PageRequest
277
+ def __init__(self, run_id: _Optional[str] = ..., deploy_id: _Optional[str] = ..., severity: _Optional[_Union[Severity, str]] = ..., env: _Optional[str] = ..., workflow_type: _Optional[str] = ..., sort: _Optional[str] = ..., descending: bool = ..., stored_only: bool = ..., status: _Optional[_Union[FindingStatus, str]] = ..., mistaken: bool = ..., tag: _Optional[_Union[FindingTag, str]] = ..., worker_name: _Optional[str] = ..., page: _Optional[_Union[_page_pb2.PageRequest, _Mapping]] = ..., **kwargs) -> None: ...
278
+
279
+ class ListFindingsResponse(_message.Message):
280
+ __slots__ = ("run_id", "findings", "page")
281
+ RUN_ID_FIELD_NUMBER: _ClassVar[int]
282
+ FINDINGS_FIELD_NUMBER: _ClassVar[int]
283
+ PAGE_FIELD_NUMBER: _ClassVar[int]
284
+ run_id: str
285
+ findings: _containers.RepeatedCompositeFieldContainer[Finding]
286
+ page: _page_pb2.PageResponse
287
+ def __init__(self, run_id: _Optional[str] = ..., findings: _Optional[_Iterable[_Union[Finding, _Mapping]]] = ..., page: _Optional[_Union[_page_pb2.PageResponse, _Mapping]] = ...) -> None: ...
288
+
289
+ class ListThresholdsRequest(_message.Message):
290
+ __slots__ = ()
291
+ def __init__(self) -> None: ...
292
+
293
+ class Threshold(_message.Message):
294
+ __slots__ = ("env_variable", "classes", "default_value", "value")
295
+ ENV_VARIABLE_FIELD_NUMBER: _ClassVar[int]
296
+ CLASSES_FIELD_NUMBER: _ClassVar[int]
297
+ DEFAULT_VALUE_FIELD_NUMBER: _ClassVar[int]
298
+ VALUE_FIELD_NUMBER: _ClassVar[int]
299
+ env_variable: str
300
+ classes: _containers.RepeatedScalarFieldContainer[FindingClass]
301
+ default_value: str
302
+ value: str
303
+ def __init__(self, env_variable: _Optional[str] = ..., classes: _Optional[_Iterable[_Union[FindingClass, str]]] = ..., default_value: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
304
+
305
+ class ListThresholdsResponse(_message.Message):
306
+ __slots__ = ("thresholds",)
307
+ THRESHOLDS_FIELD_NUMBER: _ClassVar[int]
308
+ thresholds: _containers.RepeatedCompositeFieldContainer[Threshold]
309
+ def __init__(self, thresholds: _Optional[_Iterable[_Union[Threshold, _Mapping]]] = ...) -> None: ...
310
+
311
+ class GetFindingRequest(_message.Message):
312
+ __slots__ = ("id", "stored_only", "runs_page")
313
+ ID_FIELD_NUMBER: _ClassVar[int]
314
+ STORED_ONLY_FIELD_NUMBER: _ClassVar[int]
315
+ RUNS_PAGE_FIELD_NUMBER: _ClassVar[int]
316
+ id: str
317
+ stored_only: bool
318
+ runs_page: _page_pb2.PageRequest
319
+ def __init__(self, id: _Optional[str] = ..., stored_only: bool = ..., runs_page: _Optional[_Union[_page_pb2.PageRequest, _Mapping]] = ...) -> None: ...
320
+
321
+ class GetFindingResponse(_message.Message):
322
+ __slots__ = ("finding", "runs_page")
323
+ FINDING_FIELD_NUMBER: _ClassVar[int]
324
+ RUNS_PAGE_FIELD_NUMBER: _ClassVar[int]
325
+ finding: Finding
326
+ runs_page: _page_pb2.PageResponse
327
+ def __init__(self, finding: _Optional[_Union[Finding, _Mapping]] = ..., runs_page: _Optional[_Union[_page_pb2.PageResponse, _Mapping]] = ...) -> None: ...
328
+
329
+ class SetFindingStatusRequest(_message.Message):
330
+ __slots__ = ("id", "status")
331
+ ID_FIELD_NUMBER: _ClassVar[int]
332
+ STATUS_FIELD_NUMBER: _ClassVar[int]
333
+ id: str
334
+ status: FindingStatus
335
+ def __init__(self, id: _Optional[str] = ..., status: _Optional[_Union[FindingStatus, str]] = ...) -> None: ...
336
+
337
+ class SetFindingStatusResponse(_message.Message):
338
+ __slots__ = ("finding",)
339
+ FINDING_FIELD_NUMBER: _ClassVar[int]
340
+ finding: Finding
341
+ def __init__(self, finding: _Optional[_Union[Finding, _Mapping]] = ...) -> None: ...
342
+
343
+ class Alert(_message.Message):
344
+ __slots__ = ("id", "rule", "raised_at", "finding")
345
+ ID_FIELD_NUMBER: _ClassVar[int]
346
+ RULE_FIELD_NUMBER: _ClassVar[int]
347
+ RAISED_AT_FIELD_NUMBER: _ClassVar[int]
348
+ FINDING_FIELD_NUMBER: _ClassVar[int]
349
+ id: str
350
+ rule: str
351
+ raised_at: _timestamp_pb2.Timestamp
352
+ finding: Finding
353
+ def __init__(self, id: _Optional[str] = ..., rule: _Optional[str] = ..., raised_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., finding: _Optional[_Union[Finding, _Mapping]] = ...) -> None: ...
354
+
355
+ class ListAlertsRequest(_message.Message):
356
+ __slots__ = ("page", "env")
357
+ PAGE_FIELD_NUMBER: _ClassVar[int]
358
+ ENV_FIELD_NUMBER: _ClassVar[int]
359
+ page: _page_pb2.PageRequest
360
+ env: str
361
+ def __init__(self, page: _Optional[_Union[_page_pb2.PageRequest, _Mapping]] = ..., env: _Optional[str] = ...) -> None: ...
362
+
363
+ class ListAlertsResponse(_message.Message):
364
+ __slots__ = ("alerts", "page", "envs")
365
+ ALERTS_FIELD_NUMBER: _ClassVar[int]
366
+ PAGE_FIELD_NUMBER: _ClassVar[int]
367
+ ENVS_FIELD_NUMBER: _ClassVar[int]
368
+ alerts: _containers.RepeatedCompositeFieldContainer[Alert]
369
+ page: _page_pb2.PageResponse
370
+ envs: _containers.RepeatedScalarFieldContainer[str]
371
+ def __init__(self, alerts: _Optional[_Iterable[_Union[Alert, _Mapping]]] = ..., page: _Optional[_Union[_page_pb2.PageResponse, _Mapping]] = ..., envs: _Optional[_Iterable[str]] = ...) -> None: ...
@@ -0,0 +1,46 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: flowrensic/v1/job.proto
5
+ # Protobuf Python Version: 6.31.1
6
+ """Generated protocol buffer code."""
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ from google.protobuf.internal import builder as _builder
12
+ _runtime_version.ValidateProtobufRuntimeVersion(
13
+ _runtime_version.Domain.PUBLIC,
14
+ 6,
15
+ 31,
16
+ 1,
17
+ '',
18
+ 'flowrensic/v1/job.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
26
+
27
+
28
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17\x66lowrensic/v1/job.proto\x12\rflowrensic.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"7\n\rRunJobRequest\x12\x10\n\x03job\x18\x01 \x01(\tR\x03job\x12\x14\n\x05scope\x18\x02 \x01(\tR\x05scope\"\xc4\x02\n\x07JobPart\x12\x14\n\x05scope\x18\x01 \x01(\tR\x05scope\x12\x16\n\x06server\x18\x02 \x01(\tR\x06server\x12\x34\n\x07started\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x07started\x12\x30\n\x05\x65nded\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x05\x65nded\x12\x14\n\x05\x65rror\x18\x05 \x01(\tR\x05\x65rror\x12:\n\x06\x63ounts\x18\x06 \x03(\x0b\x32\".flowrensic.v1.JobPart.CountsEntryR\x06\x63ounts\x12\x16\n\x06waited\x18\x07 \x01(\x08R\x06waited\x1a\x39\n\x0b\x43ountsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\x03R\x05value:\x02\x38\x01\"P\n\x0eRunJobResponse\x12\x10\n\x03job\x18\x01 \x01(\tR\x03job\x12,\n\x05parts\x18\x02 \x03(\x0b\x32\x16.flowrensic.v1.JobPartR\x05partsBiZggithub.com/flowrensic/temporal-flowrensic/internal/7-shared-model/domain/gen/flowrensic/v1;flowrensicv1b\x06proto3')
29
+
30
+ _globals = globals()
31
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
32
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'flowrensic.v1.job_pb2', _globals)
33
+ if not _descriptor._USE_C_DESCRIPTORS:
34
+ _globals['DESCRIPTOR']._loaded_options = None
35
+ _globals['DESCRIPTOR']._serialized_options = b'Zggithub.com/flowrensic/temporal-flowrensic/internal/7-shared-model/domain/gen/flowrensic/v1;flowrensicv1'
36
+ _globals['_JOBPART_COUNTSENTRY']._loaded_options = None
37
+ _globals['_JOBPART_COUNTSENTRY']._serialized_options = b'8\001'
38
+ _globals['_RUNJOBREQUEST']._serialized_start=75
39
+ _globals['_RUNJOBREQUEST']._serialized_end=130
40
+ _globals['_JOBPART']._serialized_start=133
41
+ _globals['_JOBPART']._serialized_end=457
42
+ _globals['_JOBPART_COUNTSENTRY']._serialized_start=400
43
+ _globals['_JOBPART_COUNTSENTRY']._serialized_end=457
44
+ _globals['_RUNJOBRESPONSE']._serialized_start=459
45
+ _globals['_RUNJOBRESPONSE']._serialized_end=539
46
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,51 @@
1
+ import datetime
2
+
3
+ from google.protobuf import timestamp_pb2 as _timestamp_pb2
4
+ from google.protobuf.internal import containers as _containers
5
+ from google.protobuf import descriptor as _descriptor
6
+ from google.protobuf import message as _message
7
+ from collections.abc import Iterable as _Iterable, Mapping as _Mapping
8
+ from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union
9
+
10
+ DESCRIPTOR: _descriptor.FileDescriptor
11
+
12
+ class RunJobRequest(_message.Message):
13
+ __slots__ = ("job", "scope")
14
+ JOB_FIELD_NUMBER: _ClassVar[int]
15
+ SCOPE_FIELD_NUMBER: _ClassVar[int]
16
+ job: str
17
+ scope: str
18
+ def __init__(self, job: _Optional[str] = ..., scope: _Optional[str] = ...) -> None: ...
19
+
20
+ class JobPart(_message.Message):
21
+ __slots__ = ("scope", "server", "started", "ended", "error", "counts", "waited")
22
+ class CountsEntry(_message.Message):
23
+ __slots__ = ("key", "value")
24
+ KEY_FIELD_NUMBER: _ClassVar[int]
25
+ VALUE_FIELD_NUMBER: _ClassVar[int]
26
+ key: str
27
+ value: int
28
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[int] = ...) -> None: ...
29
+ SCOPE_FIELD_NUMBER: _ClassVar[int]
30
+ SERVER_FIELD_NUMBER: _ClassVar[int]
31
+ STARTED_FIELD_NUMBER: _ClassVar[int]
32
+ ENDED_FIELD_NUMBER: _ClassVar[int]
33
+ ERROR_FIELD_NUMBER: _ClassVar[int]
34
+ COUNTS_FIELD_NUMBER: _ClassVar[int]
35
+ WAITED_FIELD_NUMBER: _ClassVar[int]
36
+ scope: str
37
+ server: str
38
+ started: _timestamp_pb2.Timestamp
39
+ ended: _timestamp_pb2.Timestamp
40
+ error: str
41
+ counts: _containers.ScalarMap[str, int]
42
+ waited: bool
43
+ def __init__(self, scope: _Optional[str] = ..., server: _Optional[str] = ..., started: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., ended: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., error: _Optional[str] = ..., counts: _Optional[_Mapping[str, int]] = ..., waited: bool = ...) -> None: ...
44
+
45
+ class RunJobResponse(_message.Message):
46
+ __slots__ = ("job", "parts")
47
+ JOB_FIELD_NUMBER: _ClassVar[int]
48
+ PARTS_FIELD_NUMBER: _ClassVar[int]
49
+ job: str
50
+ parts: _containers.RepeatedCompositeFieldContainer[JobPart]
51
+ def __init__(self, job: _Optional[str] = ..., parts: _Optional[_Iterable[_Union[JobPart, _Mapping]]] = ...) -> None: ...
@@ -0,0 +1,51 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: flowrensic/v1/load.proto
5
+ # Protobuf Python Version: 6.31.1
6
+ """Generated protocol buffer code."""
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ from google.protobuf.internal import builder as _builder
12
+ _runtime_version.ValidateProtobufRuntimeVersion(
13
+ _runtime_version.Domain.PUBLIC,
14
+ 6,
15
+ 31,
16
+ 1,
17
+ '',
18
+ 'flowrensic/v1/load.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
26
+
27
+
28
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x18\x66lowrensic/v1/load.proto\x12\rflowrensic.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"\x10\n\x0eGetLoadRequest\"O\n\x07JobLoad\x12\x12\n\x04task\x18\x01 \x01(\tR\x04task\x12\x18\n\x07percent\x18\x02 \x01(\x01R\x07percent\x12\x16\n\x06server\x18\x03 \x01(\tR\x06server\"?\n\x0bServerShare\x12\x16\n\x06server\x18\x01 \x01(\tR\x06server\x12\x18\n\x07percent\x18\x02 \x01(\x01R\x07percent\"\x92\x01\n\nBusySignal\x12\x16\n\x06server\x18\x01 \x01(\tR\x06server\x12\x16\n\x06signal\x18\x02 \x01(\tR\x06signal\x12\x12\n\x04pool\x18\x03 \x01(\tR\x04pool\x12\x14\n\x05value\x18\x04 \x01(\x01R\x05value\x12\x14\n\x05limit\x18\x05 \x01(\x01R\x05limit\x12\x14\n\x05slows\x18\x06 \x01(\x08R\x05slows\"\xad\x05\n\x0fGetLoadResponse\x12\x1d\n\x07percent\x18\x01 \x01(\x01H\x00R\x07percent\x88\x01\x01\x12*\n\x04jobs\x18\x02 \x03(\x0b\x32\x16.flowrensic.v1.JobLoadR\x04jobs\x12,\n\x03\x63pu\x18\x03 \x03(\x0b\x32\x1a.flowrensic.v1.ServerShareR\x03\x63pu\x12,\n\x03now\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x03now\x12!\n\x0cjobs_percent\x18\x05 \x01(\x01R\x0bjobsPercent\x12.\n\x10requests_percent\x18\x06 \x01(\x01H\x01R\x0frequestsPercent\x88\x01\x01\x12\x36\n\x08requests\x18\x07 \x03(\x0b\x32\x1a.flowrensic.v1.ServerShareR\x08requests\x12\x16\n\x06slowed\x18\x08 \x01(\x08R\x06slowed\x12-\n\x04\x62usy\x18\t \x03(\x0b\x32\x19.flowrensic.v1.BusySignalR\x04\x62usy\x12.\n\x10\x64\x61tabase_percent\x18\n \x01(\x01H\x02R\x0f\x64\x61tabasePercent\x88\x01\x01\x12\x37\n\x08\x64\x61tabase\x18\x0b \x01(\x0b\x32\x1b.flowrensic.v1.DatabaseLoadR\x08\x64\x61tabase\x12;\n\x07refused\x18\x0c \x03(\x0b\x32!.flowrensic.v1.RefusedConnectionsR\x07refused\x12\x45\n\x0crate_limited\x18\r \x03(\x0b\x32\".flowrensic.v1.TemporalRateLimitedR\x0brateLimitedB\n\n\x08_percentB\x13\n\x11_requests_percentB\x13\n\x11_database_percent\"~\n\x13TemporalRateLimited\x12\x16\n\x06server\x18\x01 \x01(\tR\x06server\x12\x1c\n\tnamespace\x18\x02 \x01(\tR\tnamespace\x12\x18\n\x07\x61nswers\x18\x03 \x01(\x03R\x07\x61nswers\x12\x17\n\x07gave_up\x18\x04 \x01(\x03R\x06gaveUp\"V\n\x12RefusedConnections\x12\x16\n\x06server\x18\x01 \x01(\tR\x06server\x12\x12\n\x04pool\x18\x02 \x01(\tR\x04pool\x12\x14\n\x05\x63ount\x18\x03 \x01(\x03R\x05\x63ount\"\xac\x02\n\x0c\x44\x61tabaseLoad\x12\x16\n\x06server\x18\x01 \x01(\tR\x06server\x12%\n\x0e\x61\x63tive_queries\x18\x02 \x01(\x05R\ractiveQueries\x12\x30\n\x14lock_waiting_queries\x18\x03 \x01(\x05R\x12lockWaitingQueries\x12!\n\x0cslow_queries\x18\x04 \x01(\x05R\x0bslowQueries\x12\x31\n\x15\x64isk_reads_per_second\x18\x05 \x01(\x01R\x12\x64iskReadsPerSecond\x12%\n\x0e\x61\x63tive_percent\x18\x06 \x01(\x01R\ractivePercent\x12\x14\n\x05\x63ores\x18\x08 \x01(\x01R\x05\x63oresJ\x04\x08\x07\x10\x08R\x12\x64isk_reads_percentb\x06proto3')
29
+
30
+ _globals = globals()
31
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
32
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'flowrensic.v1.load_pb2', _globals)
33
+ if not _descriptor._USE_C_DESCRIPTORS:
34
+ DESCRIPTOR._loaded_options = None
35
+ _globals['_GETLOADREQUEST']._serialized_start=76
36
+ _globals['_GETLOADREQUEST']._serialized_end=92
37
+ _globals['_JOBLOAD']._serialized_start=94
38
+ _globals['_JOBLOAD']._serialized_end=173
39
+ _globals['_SERVERSHARE']._serialized_start=175
40
+ _globals['_SERVERSHARE']._serialized_end=238
41
+ _globals['_BUSYSIGNAL']._serialized_start=241
42
+ _globals['_BUSYSIGNAL']._serialized_end=387
43
+ _globals['_GETLOADRESPONSE']._serialized_start=390
44
+ _globals['_GETLOADRESPONSE']._serialized_end=1075
45
+ _globals['_TEMPORALRATELIMITED']._serialized_start=1077
46
+ _globals['_TEMPORALRATELIMITED']._serialized_end=1203
47
+ _globals['_REFUSEDCONNECTIONS']._serialized_start=1205
48
+ _globals['_REFUSEDCONNECTIONS']._serialized_end=1291
49
+ _globals['_DATABASELOAD']._serialized_start=1294
50
+ _globals['_DATABASELOAD']._serialized_end=1594
51
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,118 @@
1
+ import datetime
2
+
3
+ from google.protobuf import timestamp_pb2 as _timestamp_pb2
4
+ from google.protobuf.internal import containers as _containers
5
+ from google.protobuf import descriptor as _descriptor
6
+ from google.protobuf import message as _message
7
+ from collections.abc import Iterable as _Iterable, Mapping as _Mapping
8
+ from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union
9
+
10
+ DESCRIPTOR: _descriptor.FileDescriptor
11
+
12
+ class GetLoadRequest(_message.Message):
13
+ __slots__ = ()
14
+ def __init__(self) -> None: ...
15
+
16
+ class JobLoad(_message.Message):
17
+ __slots__ = ("task", "percent", "server")
18
+ TASK_FIELD_NUMBER: _ClassVar[int]
19
+ PERCENT_FIELD_NUMBER: _ClassVar[int]
20
+ SERVER_FIELD_NUMBER: _ClassVar[int]
21
+ task: str
22
+ percent: float
23
+ server: str
24
+ def __init__(self, task: _Optional[str] = ..., percent: _Optional[float] = ..., server: _Optional[str] = ...) -> None: ...
25
+
26
+ class ServerShare(_message.Message):
27
+ __slots__ = ("server", "percent")
28
+ SERVER_FIELD_NUMBER: _ClassVar[int]
29
+ PERCENT_FIELD_NUMBER: _ClassVar[int]
30
+ server: str
31
+ percent: float
32
+ def __init__(self, server: _Optional[str] = ..., percent: _Optional[float] = ...) -> None: ...
33
+
34
+ class BusySignal(_message.Message):
35
+ __slots__ = ("server", "signal", "pool", "value", "limit", "slows")
36
+ SERVER_FIELD_NUMBER: _ClassVar[int]
37
+ SIGNAL_FIELD_NUMBER: _ClassVar[int]
38
+ POOL_FIELD_NUMBER: _ClassVar[int]
39
+ VALUE_FIELD_NUMBER: _ClassVar[int]
40
+ LIMIT_FIELD_NUMBER: _ClassVar[int]
41
+ SLOWS_FIELD_NUMBER: _ClassVar[int]
42
+ server: str
43
+ signal: str
44
+ pool: str
45
+ value: float
46
+ limit: float
47
+ slows: bool
48
+ def __init__(self, server: _Optional[str] = ..., signal: _Optional[str] = ..., pool: _Optional[str] = ..., value: _Optional[float] = ..., limit: _Optional[float] = ..., slows: bool = ...) -> None: ...
49
+
50
+ class GetLoadResponse(_message.Message):
51
+ __slots__ = ("percent", "jobs", "cpu", "now", "jobs_percent", "requests_percent", "requests", "slowed", "busy", "database_percent", "database", "refused", "rate_limited")
52
+ PERCENT_FIELD_NUMBER: _ClassVar[int]
53
+ JOBS_FIELD_NUMBER: _ClassVar[int]
54
+ CPU_FIELD_NUMBER: _ClassVar[int]
55
+ NOW_FIELD_NUMBER: _ClassVar[int]
56
+ JOBS_PERCENT_FIELD_NUMBER: _ClassVar[int]
57
+ REQUESTS_PERCENT_FIELD_NUMBER: _ClassVar[int]
58
+ REQUESTS_FIELD_NUMBER: _ClassVar[int]
59
+ SLOWED_FIELD_NUMBER: _ClassVar[int]
60
+ BUSY_FIELD_NUMBER: _ClassVar[int]
61
+ DATABASE_PERCENT_FIELD_NUMBER: _ClassVar[int]
62
+ DATABASE_FIELD_NUMBER: _ClassVar[int]
63
+ REFUSED_FIELD_NUMBER: _ClassVar[int]
64
+ RATE_LIMITED_FIELD_NUMBER: _ClassVar[int]
65
+ percent: float
66
+ jobs: _containers.RepeatedCompositeFieldContainer[JobLoad]
67
+ cpu: _containers.RepeatedCompositeFieldContainer[ServerShare]
68
+ now: _timestamp_pb2.Timestamp
69
+ jobs_percent: float
70
+ requests_percent: float
71
+ requests: _containers.RepeatedCompositeFieldContainer[ServerShare]
72
+ slowed: bool
73
+ busy: _containers.RepeatedCompositeFieldContainer[BusySignal]
74
+ database_percent: float
75
+ database: DatabaseLoad
76
+ refused: _containers.RepeatedCompositeFieldContainer[RefusedConnections]
77
+ rate_limited: _containers.RepeatedCompositeFieldContainer[TemporalRateLimited]
78
+ def __init__(self, percent: _Optional[float] = ..., jobs: _Optional[_Iterable[_Union[JobLoad, _Mapping]]] = ..., cpu: _Optional[_Iterable[_Union[ServerShare, _Mapping]]] = ..., now: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., jobs_percent: _Optional[float] = ..., requests_percent: _Optional[float] = ..., requests: _Optional[_Iterable[_Union[ServerShare, _Mapping]]] = ..., slowed: bool = ..., busy: _Optional[_Iterable[_Union[BusySignal, _Mapping]]] = ..., database_percent: _Optional[float] = ..., database: _Optional[_Union[DatabaseLoad, _Mapping]] = ..., refused: _Optional[_Iterable[_Union[RefusedConnections, _Mapping]]] = ..., rate_limited: _Optional[_Iterable[_Union[TemporalRateLimited, _Mapping]]] = ...) -> None: ...
79
+
80
+ class TemporalRateLimited(_message.Message):
81
+ __slots__ = ("server", "namespace", "answers", "gave_up")
82
+ SERVER_FIELD_NUMBER: _ClassVar[int]
83
+ NAMESPACE_FIELD_NUMBER: _ClassVar[int]
84
+ ANSWERS_FIELD_NUMBER: _ClassVar[int]
85
+ GAVE_UP_FIELD_NUMBER: _ClassVar[int]
86
+ server: str
87
+ namespace: str
88
+ answers: int
89
+ gave_up: int
90
+ def __init__(self, server: _Optional[str] = ..., namespace: _Optional[str] = ..., answers: _Optional[int] = ..., gave_up: _Optional[int] = ...) -> None: ...
91
+
92
+ class RefusedConnections(_message.Message):
93
+ __slots__ = ("server", "pool", "count")
94
+ SERVER_FIELD_NUMBER: _ClassVar[int]
95
+ POOL_FIELD_NUMBER: _ClassVar[int]
96
+ COUNT_FIELD_NUMBER: _ClassVar[int]
97
+ server: str
98
+ pool: str
99
+ count: int
100
+ def __init__(self, server: _Optional[str] = ..., pool: _Optional[str] = ..., count: _Optional[int] = ...) -> None: ...
101
+
102
+ class DatabaseLoad(_message.Message):
103
+ __slots__ = ("server", "active_queries", "lock_waiting_queries", "slow_queries", "disk_reads_per_second", "active_percent", "cores")
104
+ SERVER_FIELD_NUMBER: _ClassVar[int]
105
+ ACTIVE_QUERIES_FIELD_NUMBER: _ClassVar[int]
106
+ LOCK_WAITING_QUERIES_FIELD_NUMBER: _ClassVar[int]
107
+ SLOW_QUERIES_FIELD_NUMBER: _ClassVar[int]
108
+ DISK_READS_PER_SECOND_FIELD_NUMBER: _ClassVar[int]
109
+ ACTIVE_PERCENT_FIELD_NUMBER: _ClassVar[int]
110
+ CORES_FIELD_NUMBER: _ClassVar[int]
111
+ server: str
112
+ active_queries: int
113
+ lock_waiting_queries: int
114
+ slow_queries: int
115
+ disk_reads_per_second: float
116
+ active_percent: float
117
+ cores: float
118
+ def __init__(self, server: _Optional[str] = ..., active_queries: _Optional[int] = ..., lock_waiting_queries: _Optional[int] = ..., slow_queries: _Optional[int] = ..., disk_reads_per_second: _Optional[float] = ..., active_percent: _Optional[float] = ..., cores: _Optional[float] = ...) -> None: ...