Improve docstrings for services and processors (#2087)
This commit is contained in:
@@ -4,6 +4,8 @@
|
||||
# SPDX-License-Identifier: BSD 2-Clause License
|
||||
#
|
||||
|
||||
"""Frame logging utilities for debugging and monitoring frame flow in Pipecat pipelines."""
|
||||
|
||||
from typing import Optional, Tuple, Type
|
||||
|
||||
from loguru import logger
|
||||
@@ -21,6 +23,13 @@ logger = logger.opt(ansi=True)
|
||||
|
||||
|
||||
class FrameLogger(FrameProcessor):
|
||||
"""A frame processor that logs frame information for debugging purposes.
|
||||
|
||||
This processor intercepts frames passing through the pipeline and logs
|
||||
their details with configurable formatting and filtering. Useful for
|
||||
debugging frame flow and understanding pipeline behavior.
|
||||
"""
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
prefix="Frame",
|
||||
@@ -32,12 +41,26 @@ class FrameLogger(FrameProcessor):
|
||||
TransportMessageFrame,
|
||||
),
|
||||
):
|
||||
"""Initialize the frame logger.
|
||||
|
||||
Args:
|
||||
prefix: Text prefix to add to log messages. Defaults to "Frame".
|
||||
color: ANSI color code for log message formatting. If None, no coloring is applied.
|
||||
ignored_frame_types: Tuple of frame types to exclude from logging.
|
||||
Defaults to common high-frequency frames like audio and speaking frames.
|
||||
"""
|
||||
super().__init__()
|
||||
self._prefix = prefix
|
||||
self._color = color
|
||||
self._ignored_frame_types = ignored_frame_types
|
||||
|
||||
async def process_frame(self, frame: Frame, direction: FrameDirection):
|
||||
"""Process and log frame information.
|
||||
|
||||
Args:
|
||||
frame: The frame to process and potentially log.
|
||||
direction: The direction of frame flow in the pipeline.
|
||||
"""
|
||||
await super().process_frame(frame, direction)
|
||||
|
||||
if self._ignored_frame_types and not isinstance(frame, self._ignored_frame_types):
|
||||
|
||||
Reference in New Issue
Block a user