Skip to content

Commit 9d7e6b1

Browse files
feat: Logging is working, and we can search through the data
1 parent 53bf1a1 commit 9d7e6b1

File tree

15 files changed

+715
-309
lines changed

15 files changed

+715
-309
lines changed

diracx-client/src/diracx/client/_generated/aio/operations/_operations.py

Lines changed: 105 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,9 @@
5959
build_pilots_clear_pilots_request,
6060
build_pilots_create_pilot_secrets_request,
6161
build_pilots_delete_pilots_request,
62-
build_pilots_get_logs_request,
6362
build_pilots_pilot_login_request,
6463
build_pilots_refresh_pilot_tokens_request,
64+
build_pilots_search_logs_request,
6565
build_pilots_search_request,
6666
build_pilots_send_message_request,
6767
build_pilots_update_pilot_fields_request,
@@ -3480,7 +3480,7 @@ async def send_message(
34803480
*,
34813481
content_type: str = "application/json",
34823482
**kwargs: Any,
3483-
) -> int:
3483+
) -> None:
34843484
"""Send Message.
34853485
34863486
Send Message.
@@ -3490,15 +3490,15 @@ async def send_message(
34903490
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
34913491
Default value is "application/json".
34923492
:paramtype content_type: str
3493-
:return: int
3494-
:rtype: int
3493+
:return: None
3494+
:rtype: None
34953495
:raises ~azure.core.exceptions.HttpResponseError:
34963496
"""
34973497

34983498
@overload
34993499
async def send_message(
35003500
self, body: IO[bytes], *, content_type: str = "application/json", **kwargs: Any
3501-
) -> int:
3501+
) -> None:
35023502
"""Send Message.
35033503
35043504
Send Message.
@@ -3508,23 +3508,23 @@ async def send_message(
35083508
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
35093509
Default value is "application/json".
35103510
:paramtype content_type: str
3511-
:return: int
3512-
:rtype: int
3511+
:return: None
3512+
:rtype: None
35133513
:raises ~azure.core.exceptions.HttpResponseError:
35143514
"""
35153515

35163516
@distributed_trace_async
35173517
async def send_message(
35183518
self, body: Union[_models.LogMessage, IO[bytes]], **kwargs: Any
3519-
) -> int:
3519+
) -> None:
35203520
"""Send Message.
35213521
35223522
Send Message.
35233523
35243524
:param body: Is either a LogMessage type or a IO[bytes] type. Required.
35253525
:type body: ~_generated.models.LogMessage or IO[bytes]
3526-
:return: int
3527-
:rtype: int
3526+
:return: None
3527+
:rtype: None
35283528
:raises ~azure.core.exceptions.HttpResponseError:
35293529
"""
35303530
error_map: MutableMapping = {
@@ -3541,7 +3541,7 @@ async def send_message(
35413541
content_type: Optional[str] = kwargs.pop(
35423542
"content_type", _headers.pop("Content-Type", None)
35433543
)
3544-
cls: ClsType[int] = kwargs.pop("cls", None)
3544+
cls: ClsType[None] = kwargs.pop("cls", None)
35453545

35463546
content_type = content_type or "application/json"
35473547
_json = None
@@ -3569,27 +3569,90 @@ async def send_message(
35693569

35703570
response = pipeline_response.http_response
35713571

3572-
if response.status_code not in [200]:
3572+
if response.status_code not in [204]:
35733573
map_error(
35743574
status_code=response.status_code, response=response, error_map=error_map
35753575
)
35763576
raise HttpResponseError(response=response)
35773577

3578-
deserialized = self._deserialize("int", pipeline_response.http_response)
3579-
35803578
if cls:
3581-
return cls(pipeline_response, deserialized, {}) # type: ignore
3579+
return cls(pipeline_response, None, {}) # type: ignore
35823580

3583-
return deserialized # type: ignore
3581+
@overload
3582+
async def search_logs(
3583+
self,
3584+
body: Optional[_models.SearchParams] = None,
3585+
*,
3586+
page: int = 1,
3587+
per_page: int = 100,
3588+
content_type: str = "application/json",
3589+
**kwargs: Any,
3590+
) -> List[Dict[str, Any]]:
3591+
"""Search Logs.
3592+
3593+
Search Logs.
3594+
3595+
:param body: Default value is None.
3596+
:type body: ~_generated.models.SearchParams
3597+
:keyword page: Default value is 1.
3598+
:paramtype page: int
3599+
:keyword per_page: Default value is 100.
3600+
:paramtype per_page: int
3601+
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
3602+
Default value is "application/json".
3603+
:paramtype content_type: str
3604+
:return: list of dict mapping str to any
3605+
:rtype: list[dict[str, any]]
3606+
:raises ~azure.core.exceptions.HttpResponseError:
3607+
"""
3608+
3609+
@overload
3610+
async def search_logs(
3611+
self,
3612+
body: Optional[IO[bytes]] = None,
3613+
*,
3614+
page: int = 1,
3615+
per_page: int = 100,
3616+
content_type: str = "application/json",
3617+
**kwargs: Any,
3618+
) -> List[Dict[str, Any]]:
3619+
"""Search Logs.
3620+
3621+
Search Logs.
3622+
3623+
:param body: Default value is None.
3624+
:type body: IO[bytes]
3625+
:keyword page: Default value is 1.
3626+
:paramtype page: int
3627+
:keyword per_page: Default value is 100.
3628+
:paramtype per_page: int
3629+
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
3630+
Default value is "application/json".
3631+
:paramtype content_type: str
3632+
:return: list of dict mapping str to any
3633+
:rtype: list[dict[str, any]]
3634+
:raises ~azure.core.exceptions.HttpResponseError:
3635+
"""
35843636

35853637
@distributed_trace_async
3586-
async def get_logs(self, *, pilot_id: int, **kwargs: Any) -> List[Dict[str, Any]]:
3587-
"""Get Logs.
3638+
async def search_logs(
3639+
self,
3640+
body: Optional[Union[_models.SearchParams, IO[bytes]]] = None,
3641+
*,
3642+
page: int = 1,
3643+
per_page: int = 100,
3644+
**kwargs: Any,
3645+
) -> List[Dict[str, Any]]:
3646+
"""Search Logs.
35883647
3589-
Get Logs.
3648+
Search Logs.
35903649
3591-
:keyword pilot_id: Required.
3592-
:paramtype pilot_id: int
3650+
:param body: Is either a SearchParams type or a IO[bytes] type. Default value is None.
3651+
:type body: ~_generated.models.SearchParams or IO[bytes]
3652+
:keyword page: Default value is 1.
3653+
:paramtype page: int
3654+
:keyword per_page: Default value is 100.
3655+
:paramtype per_page: int
35933656
:return: list of dict mapping str to any
35943657
:rtype: list[dict[str, any]]
35953658
:raises ~azure.core.exceptions.HttpResponseError:
@@ -3602,13 +3665,31 @@ async def get_logs(self, *, pilot_id: int, **kwargs: Any) -> List[Dict[str, Any]
36023665
}
36033666
error_map.update(kwargs.pop("error_map", {}) or {})
36043667

3605-
_headers = kwargs.pop("headers", {}) or {}
3668+
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
36063669
_params = kwargs.pop("params", {}) or {}
36073670

3671+
content_type: Optional[str] = kwargs.pop(
3672+
"content_type", _headers.pop("Content-Type", None)
3673+
)
36083674
cls: ClsType[List[Dict[str, Any]]] = kwargs.pop("cls", None)
36093675

3610-
_request = build_pilots_get_logs_request(
3611-
pilot_id=pilot_id,
3676+
content_type = content_type or "application/json"
3677+
_json = None
3678+
_content = None
3679+
if isinstance(body, (IOBase, bytes)):
3680+
_content = body
3681+
else:
3682+
if body is not None:
3683+
_json = self._serialize.body(body, "SearchParams")
3684+
else:
3685+
_json = None
3686+
3687+
_request = build_pilots_search_logs_request(
3688+
page=page,
3689+
per_page=per_page,
3690+
content_type=content_type,
3691+
json=_json,
3692+
content=_content,
36123693
headers=_headers,
36133694
params=_params,
36143695
)

diracx-client/src/diracx/client/_generated/models/_models.py

Lines changed: 32 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -767,32 +767,48 @@ class LogLine(_serialization.Model):
767767
768768
All required parameters must be populated in order to send to server.
769769
770-
:ivar line_no: Line No. Required.
771-
:vartype line_no: int
772-
:ivar line: Line. Required.
773-
:vartype line: str
770+
:ivar timestamp: Timestamp. Required.
771+
:vartype timestamp: str
772+
:ivar severity: Severity. Required.
773+
:vartype severity: str
774+
:ivar message: Message. Required.
775+
:vartype message: str
776+
:ivar scope: Scope. Required.
777+
:vartype scope: str
774778
"""
775779

776780
_validation = {
777-
"line_no": {"required": True},
778-
"line": {"required": True},
781+
"timestamp": {"required": True},
782+
"severity": {"required": True},
783+
"message": {"required": True},
784+
"scope": {"required": True},
779785
}
780786

781787
_attribute_map = {
782-
"line_no": {"key": "line_no", "type": "int"},
783-
"line": {"key": "line", "type": "str"},
788+
"timestamp": {"key": "timestamp", "type": "str"},
789+
"severity": {"key": "severity", "type": "str"},
790+
"message": {"key": "message", "type": "str"},
791+
"scope": {"key": "scope", "type": "str"},
784792
}
785793

786-
def __init__(self, *, line_no: int, line: str, **kwargs: Any) -> None:
794+
def __init__(
795+
self, *, timestamp: str, severity: str, message: str, scope: str, **kwargs: Any
796+
) -> None:
787797
"""
788-
:keyword line_no: Line No. Required.
789-
:paramtype line_no: int
790-
:keyword line: Line. Required.
791-
:paramtype line: str
798+
:keyword timestamp: Timestamp. Required.
799+
:paramtype timestamp: str
800+
:keyword severity: Severity. Required.
801+
:paramtype severity: str
802+
:keyword message: Message. Required.
803+
:paramtype message: str
804+
:keyword scope: Scope. Required.
805+
:paramtype scope: str
792806
"""
793807
super().__init__(**kwargs)
794-
self.line_no = line_no
795-
self.line = line
808+
self.timestamp = timestamp
809+
self.severity = severity
810+
self.message = message
811+
self.scope = scope
796812

797813

798814
class LogMessage(_serialization.Model):
@@ -804,42 +820,30 @@ class LogMessage(_serialization.Model):
804820
:vartype pilot_stamp: str
805821
:ivar lines: Lines. Required.
806822
:vartype lines: list[~_generated.models.LogLine]
807-
:ivar vo: Vo. Required.
808-
:vartype vo: str
809823
"""
810824

811825
_validation = {
812826
"pilot_stamp": {"required": True},
813827
"lines": {"required": True},
814-
"vo": {"required": True},
815828
}
816829

817830
_attribute_map = {
818831
"pilot_stamp": {"key": "pilot_stamp", "type": "str"},
819832
"lines": {"key": "lines", "type": "[LogLine]"},
820-
"vo": {"key": "vo", "type": "str"},
821833
}
822834

823835
def __init__(
824-
self,
825-
*,
826-
pilot_stamp: str,
827-
lines: List["_models.LogLine"],
828-
vo: str,
829-
**kwargs: Any,
836+
self, *, pilot_stamp: str, lines: List["_models.LogLine"], **kwargs: Any
830837
) -> None:
831838
"""
832839
:keyword pilot_stamp: Pilot Stamp. Required.
833840
:paramtype pilot_stamp: str
834841
:keyword lines: Lines. Required.
835842
:paramtype lines: list[~_generated.models.LogLine]
836-
:keyword vo: Vo. Required.
837-
:paramtype vo: str
838843
"""
839844
super().__init__(**kwargs)
840845
self.pilot_stamp = pilot_stamp
841846
self.lines = lines
842-
self.vo = vo
843847

844848

845849
class Metadata(_serialization.Model):

0 commit comments

Comments
 (0)