Métricas¶
O TRD disponibiliza uma API com métricas relacionadas ao processo de transcrição de fala. Essa API é acessada através de uma interface HTTP com um formato JSON, ela proporciona uma visão geral do funcionamento e da saúde da aplicação, utilizando essas métricas o operador pode saber qual a taxa de processamento e assim dimensionar o sistemas para ele trabalhe em um ponto ótimo.
Interface HTTP¶
A API é acessível através da seguinte URL utilizando o método HTTP GET http://TRD_HOST:8000/trd/v3/metrics/, onde TRD_HOST é o IP do servidor de funcionamento do transcritor. Para exemplificação é possível acessar API através do console do servidor TRD com o seguinte comando:
curl http://localhost:8000/trd/v3/metrics/
Abaixo o resultado da API no formato JSON:
{
"estimated_time":0,
"transcription_rate":0,
"status_info":{
"queued":0,
"in_progress":0,
"failed":0,
"stopped":0,
"completed":0
},
"audio_info":{
"audio_total":0,
"speech_total":0,
"speech_ratio":{
"max":0,
"min":0,
"mean":0,
"p25":0,
"p50":0,
"p75":0,
"p90":0
},
"audio_duration":{
"max":0,
"min":0,
"mean":0,
"p25":0,
"p50":0,
"p75":0,
"p90":0
}
},
"instaces_info":{
"total_instances":0,
"aggregate_instances":{
"normalization":0,
"vad":0,
"clustering":0,
"recognition":0
},
"instances":[
{
"hostname": "ip-10.10.0.130",
"vad": 0,
"clustering": 0,
"recognition": 0
}
]
},
"queues_info":{
"normalization-work-queue":{
"messages":0,
"consumers":1
},
"diarization-vad-work-queue":{
"messages":0,
"consumers":1
},
"diarization-cluster-work-queue":{
"messages":0,
"consumers":1
},
"recognition-work-queue":{
"messages":0,
"consumers":4
},
"normalization-response-queue":{
"messages":0,
"consumers":1
},
"diarization-response-queue":{
"messages":0,
"consumers":1
},
"recognition-response-queue":{
"messages":0,
"consumers":1
}
}
}
Métricas TRD¶
- estimated_time
- Número que representa o tempo estimado em segundo em que o processo de transcrição estará concluído. Esse é estimado baseado na quantidade de arquivos que estão no estado IN_PROGRESS.
- transcription_rate
- Valor que representa a taxa de transcrição do sistema dados em minutos/hora utilizando uma janela móvel de 5 minutos, em outros termos quantos minutos de áudio será em média transcrito em uma hora do sistema.
- status_info.queued
- Valor acumulador dos arquivos que estão na fila para serem normalizados.
- status_info.in_progress
- Valor acumulador dos arquivos que estão no processo de transcrição.
- status_info.failed
- Valor acumulador dos arquivos que tiveram alguma falha no processo de transcrição, essa métrica agrega os arquivos de forma genérica independente do ponto da pipeline onde o erro ocorreu.
- status_info.stopped
- Valor acumulador dos arquivos que tiveram o seu processo de transcrição parado parados pelo operador do sistema.
- status_info.completed
- Valor acumulador dos arquivos tiveram o processo de transcrição concluídos.
- audio_info.audio_total
- Valor acumulador que representa quantos segundos de áudio já foram processados pelo transcritor. São apenas contabilizados arquivos que foram concluídos.
- audio_info.speech_total
- Valor acumulador que representa quantos segundos de fala já foram processados pelo transcritor. São apenas contabilizados arquivos que foram concluídos. Esse valor sempre será menor ou igual ao número total de áudio bruto processado.
- audio_info.speech_ratio
- Métrica que acumula a proporção entre a quantidade total de audio e o total de fala. Esse métrica é distribuída nos seguinte segmentos: max maior proporção entre áudio e fala entre todos os arquivos, min a menor proporção entre áudio e fala, mean a média da proporção entre áudio e falas dentre todos os arquivos e por fim os percentis 25, 50, 75 e 90.
- audio_info.duration
- Métrica que acumula e agrega a duração individual de cada arquivo transcrito em segundos. Essa métrica é distribuída nos seguintes segmentos: max maior duração de um arquivo, min menor duração de um aquivos, mean média da duração dos arquivos e os percentis 25, 50, 75 e 90.
- instaces_info.total_instances
- Valor do tipo contador que indica a quantidade de instâncias de processamentos ativas.
- instaces_info.aggregate_instances.normalization
- Valor que agrega a taxa de processamento de todas as filas de normalização, a unidade representada nesta métrica é de minutos/hora dado uma janela móvel de 5 minutos.
- instaces_info.aggregate_instances.vad
- Valor que agrega a taxa de processamento de todas as filas de vad, a unidade representada nesta métrica é de minutos/hora dado uma janela móvel de 5 minutos.
- instaces_info.aggregate_instances.clustering
- Valor que agrega a taxa de processamento de todas as filas de clusterização, a unidade representada nesta métrica é de minutos/hora dado uma janela móvel de 5 minutos.
- instaces_info.aggregate_instances.recognition
- Valor que agrega a taxa de processamento de todas as filas de reconhecimento, a unidade representada nesta métrica é de minutos/hora dado uma janela móvel de 5 minutos.
- instaces_info.instances
- Métricas individuais por host dos workers vad, clustering e recognition, assim como as métricas agregadas a unidade representada é de minutos/hora dado uma janela móvel de 5 minutos.
- queues_info
- Métrica que reúne o nome de cada uma das filas ativas no transcritor e o número de mensagens acumuladas e a quantidade de consumidores da fila em questão.