@@ -20,6 +20,9 @@ class MeetingConnection:
2020 participants : dict [str , State ] = {}
2121 previous_transcription_tokens : List [int ]
2222 previous_transcription_store : List [List [int ]]
23+ total_finals : int
24+ total_interims : int
25+ total_audio_received_s : float
2326 tokenizer : Tokenizer | None
2427 meeting_language : str | None
2528 meeting_id : str
@@ -32,10 +35,20 @@ def __init__(self, ws: WebSocket, meeting_id: str):
3235 self .meeting_id = meeting_id
3336 self .previous_transcription_tokens = []
3437 self .previous_transcription_store = []
38+ self .total_finals = 0
39+ self .total_interims = 0
40+ self .total_audio_received_s = 0
3541 self .meeting_language = None
3642 self .tokenizer = None
3743 self .connected = True
3844
45+ async def update_connection_summary_stats (self , payloads ):
46+ for payload in payloads :
47+ if payload .type == 'final' :
48+ self .total_finals += 1
49+ else :
50+ self .total_interims += 1
51+
3952 async def update_initial_prompt (self , previous_payloads : list [utils .TranscriptionResponse ]):
4053 for payload in previous_payloads :
4154 if payload .type == 'final' and not any (prompt in payload .text for prompt in utils .black_listed_prompts ):
@@ -47,7 +60,7 @@ async def update_initial_prompt(self, previous_payloads: list[utils.Transcriptio
4760
4861 async def process (self , chunk : bytes , chunk_timestamp : int ) -> List [utils .TranscriptionResponse ] | None :
4962 a_chunk = Chunk (chunk , chunk_timestamp )
50-
63+ self . total_audio_received_s += a_chunk . duration
5164 # The first chunk sets the meeting language and initializes the Tokenizer
5265 if not self .meeting_language :
5366 self .meeting_language = a_chunk .language
@@ -63,6 +76,7 @@ async def process(self, chunk: bytes, chunk_timestamp: int) -> List[utils.Transc
6376
6477 payloads = await self .participants [a_chunk .participant_id ].process (a_chunk , self .previous_transcription_tokens )
6578 if payloads :
79+ await self .update_connection_summary_stats (payloads )
6680 await self .update_initial_prompt (payloads )
6781 return payloads
6882
0 commit comments