Serializes a monitor event to the CSM format :type event: BaseMonitorEvent :param event: The event to serialize to bytes :rtype: bytes :returns: The CSM serialized form of the event
(self, event)
| 382 | ) |
| 383 | |
| 384 | def serialize(self, event): |
| 385 | """Serializes a monitor event to the CSM format |
| 386 | |
| 387 | :type event: BaseMonitorEvent |
| 388 | :param event: The event to serialize to bytes |
| 389 | |
| 390 | :rtype: bytes |
| 391 | :returns: The CSM serialized form of the event |
| 392 | """ |
| 393 | event_dict = self._get_base_event_dict(event) |
| 394 | event_type = self._get_event_type(event) |
| 395 | event_dict['Type'] = event_type |
| 396 | for attr in self._SERIALIZEABLE_EVENT_PROPERTIES: |
| 397 | value = getattr(event, attr, None) |
| 398 | if value is not None: |
| 399 | getattr(self, '_serialize_' + attr)( |
| 400 | value, event_dict, event_type=event_type |
| 401 | ) |
| 402 | return ensure_bytes(json.dumps(event_dict, separators=(',', ':'))) |
| 403 | |
| 404 | def _get_base_event_dict(self, event): |
| 405 | return { |