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.