ESTE É UM CONTEÚDO EM DESENVOLVIMENTO E NÃO DEVE SER CONSIDERADO COMO VERSÃO FINAL!
Clique aqui para maiores informações
Tempo de Resposta das APIs
Controle de versão
Versão | Data | Resumo das alterações |
1 | May 27, 2024 | Versão inicial |
2 | Jan 24, 2025 | Segregação da métrica de desempenho de APIs da métrica de disponibilidade de APIs. Maior detalhamento do cálculo da métrica. |
3 | Mar 24, 2025 | Revisão geral do documento Inclusão do tópico “Interpretação dos Dados no Painel” |
Introdução e Objetivos
Esta métrica visa monitorar se os endpoints das APIs das instituições participantes estão cumprindo os SLAs de tempo de resposta, estabelecidos no Manual de APIs do Open Finance.
Considerando que, o tempo de resposta de cada requisição é o tempo transcorrido entre o recebimento de uma requisição que não ultrapassa os limites de tráfego e o momento em que a requisição é completamente respondida.
Sobre a Métrica
A métrica de Tempo de Resposta das APIs considera o valor do percentil 95 e o número de requisições ocorridas no dia.
As medições devem ser realizadas de maneira independente para cada versão "major" dos endpoints em produção e devem ser consideradas as requisições com todos os códigos de retorno possíveis, com exceção dos associados a limites de tráfego e limites operacionais.
O valor do tempo de resposta a ser considerado para uma requisição é o valor reportado pelo consumidor da API, ou seja, o valor reportado pela instituição iniciadora de pagamentos nas APIs de “Serviços de Iniciação de Pagamentos” e o valor reportado pela receptora de dados no caso de APIs de "Dados Cadastrais e Transacionais".
Na falta de informações dos consumidores, serão utilizadas as informações dos provedores para o cálculo do SLA de desempenho, ou seja, o valor reportado pela instituição detentora de contas nas APIs de "Serviços de Iniciação de Pagamentos", e o valor reportado pela instituição transmissora de dados no caso de APIs de "Dados Cadastrais e Transacionais".
Os endpoints das APIs deverão manter, diariamente, o SLA do percentil 95 do tempo de resposta em no máximo:
I - 1.500ms, em endpoints classificados como de alta e média-alta frequências;
II - 2.000ms, em endpoints classificados como de média frequência; e
III - 4.000ms, em endpoints classificados como de baixa frequência.
A conformidade é avaliada mensalmente, verificando se os endpoints das APIs das instituições participantes atenderam aos SLAs do desempenho.
Metodologia Simplificada
A metodologia adotada para o monitoramento do tempo de resposta das APIs avalia se, diariamente, o percentil 95 dos endpoints cumpre o seu SLA, ou seja, se em um dia que o endpoint avaliado receba 100 requisições, o tempo de resposta de pelo menos 95 (noventa e cinco) requisições é inferior ao SLA.
Aspectos Técnicos
O monitoramento inclui várias etapas:
Filtro inicial dos dados provenientes da Plataforma de Coleta de Métricas (PCM) | Serão consideradas apenas as chamadas com tempo de processamento maior que zero, ou seja, processtimespan > 0 |
Serão excluídas as requisições com status ‘PAIRED_INCONSISTENT’ e ‘DISCARDED’ para todos os endpoints | |
Serão excluídas as chamadas com status code 423, 429 e 529 | |
Agrupamento dos dados (serão agrupados para facilitar o cálculo do percentil 95 (P95)) | Timestamp: data da chamada da API (yyyy-mm-dd) |
Serverorgid: identificador da organização consumidora da API utilizada pelo cliente para a solicitação do dado | |
Endpoint: endpoint da API com o método e recurso | |
Cálculo do percentil | Coleta dos dados: Seja R o conjunto de todos os tempos de resposta de um dia, onde “ri” é o tempo de resposta da i-ésima requisição. Ou seja, R={r1, r2, ..., rn}. Nessa coleta é utilizado o processtimespan quando clientorgid=organisationid ou serverorgid=organisationid e status ‘UNPAIRED’ |
Cálculo do índice do percentil 95: o índice para o percentil 95, denotado por i95, é calculado pela fórmula i95 = 0.95 ∗ n, arredondado para o número inteiro mais próximo, e onde “n” representa número de requisições | |
Ordenação dos dados: O conjunto R em ordem crescente para obter o conjunto ordenado Rord={r(1), r(2), ..., r(n)}, onde r(1) é o menor tempo de resposta e r(n) é o maior | |
Obtenção do valor do percentil 95: o valor do percentil 95, denotado por P95, é o valor no índice i95 no conjunto ordenado Rord. Ou seja, P95 = r(i95) |
Interpretação dos Resultados
Para fins do processo de monitoramento, o período de apuração referente a este item é mensal e a análise de desconformidade é feita por conglomerado. A título de exceção, no caso de conglomerados que possuam equipes N2 por CNPJ, a desconformidade será gerada para a instituição.
Considera-se que um endpoint está em conformidade caso tenha respeitado o SLA do desempenho em pelo menos 90% dos dias do mês de referência, arredondando-se para o número inteiro mais próximo, desde que o valor do percentil 95 (P95) dos demais dias não tenha sido superior ao SLA do desempenho aumentado em 20%. Os dias do mês de referência são os dias do mês em que houve requisições para o endpoint avaliado.
Assim, consideramos cada conformidade diária:
CONFORME | DENTRO DA TOLERÂNCIA | NÃO CONFORME |
P95 < SLA | SLA < P95 < SLA * 1,2 | P95 > SLA * 1,2 |
E fazemos a apuração mensal:
CONFORME | NÃO CONFORME |
| Se a quantidade de dias não conforme > 0 Se a quantidade de dias não conforme < 90% de dias de acionamento |
Importante: A métrica não se aplica às APIs de "Webhook".
Exemplo Ilustrativo
I - Em um mês de 30 dias, em que um endpoint de alta frequência tenha apresentado valor de P95 inferior a 1.500ms em 27 dias e, nos demais dias, tenha apresentado valor de P95 entre 1.500ms e 1.800ms (1.500ms * 1,2 = 1.800ms), o endpoint está em conformidade para fins do processo de monitoramento naquele mês.
II - Em um mês de 31 dias, em que um endpoint de alta frequência tenha apresentado valor de P95 inferior a 1.500ms em 28 dias e, nos demais dias, tenha apresentado, em pelo menos um dos dias, valor de P95 superior a 1.800ms (1.500ms * 1,2 = 1.800ms), o endpoint está não conforme para fins do processo de monitoramento naquele mês.
Interpretação dos Dados no Painel
As informações contidas neste item têm como objetivo ajudar o usuário a compreender cada um dos campos exibidos no painel de “Tempo de Respostas das APIs”. Desta forma, têm-se:
Em “Controles”:
Campos | Descrição |
Mês análise | informar a data ou período desejado, podendo ser uma data relativa ou intervalo de datas absoluto |
Conglomerado | selecionar o conglomerado desejado |
Endpoint | selecionar o endpoint desejado ou selecionar todos os endpoints |
Visualizar organização | selecionar a opção “sim” para exibir os detalhes da organização pertencentes ao conglomerado ou a opção “não” para exibir o resultado por conglomerado |
Em “Desconformidade mensal” é apresentado o resultado consolidado da apuração mensal por conglomerado e/ou organização, de acordo com o filtro selecionado em “Controles”.
O painel é interativo. Por exemplo, ao clicar na célula “NÃO CONFORME” do conglomerado ou da organização, serão exibidos os detalhamentos do mês de apuração. Além disso, é possível maximizar a visualização do painel e exportar os dados para CSV ou Excel.
Nos detalhes do mês de apuração:
Campos | Descrição |
Mês da apuração | mês referente a apuração |
Método HTTP | método da requisição |
Endpoint | endpoint da requisição |
Dias acionamentos | total de dias do mês de apuração que o endpoint foi acionado |
Dias P95 < frequência | total de dias do mês de apuração em que o P95 (percentil 95) encontra-se inferior a frequência do endpoint |
Dias P95 entre a frequência | total de dias em que o P95 (percentil 95) encontra-se no intervalo de tempo da frequência do endpoint |
Dias P95 > tolerância | total de dias do mês de apuração em que o P95 (percentil 95) encontra-se superior a tolerância de 20% |
Status | não conforme (P95>SLA*1,2) |
No detalhamento, é possível visualizar:
Campos | Descrição |
Dias acionamento | dia do mês de apuração em que o endpoint foi acionado |
Método HTTP | método da requisição |
Endpoint | endpoint da requisição |
Frequência API (ms) | SLA da frequência de classificação do endpoint |
Quantidade de requisições | total de requisições utilizadas para o cálculo de um determinado dia do mês de apuração |
P95 (ms) | percentil 95 do tempo de requisição por milissegundo |
Status | dentro da tolerância (SLA<P95<SLA*1,2) ou não conforme (P95 > SLA*1,2) |
Importante: para que o detalhamento seja exibido, deve-se sempre clicar na célula “NÃO CONFORME”.
Campos | Descrição |
x-fapi-interaction-id | identificador único do reporte |
Server | servidor reportado na requisição |
Client | cliente reportado na requisição |
Método HTTP | método da requisição |
Endpoint | endpoint da requisição |
Requisição (ms) | tempo de resposta da requisição |
Importante: serão exibidos no máximo cinco evidências de reporte.
Dados e Fontes
Para o cálculo desta métrica, a fonte informacional é a Plataforma de Coleta de Métricas (PCM), que consolida os dados a partir dos reportes enviados pelas instituições participantes. Todos os métodos e recursos dos endpoints serão avaliados. Esses dados são consolidados na Plataforma Analítica de Dados (PAD), um repositório centralizado que serve como base para a análise e avaliação da métrica.
Limitações e Considerações
Atualmente, não há visibilidade ou conhecimento de limitações ou considerações adicionais para esta métrica. A análise será continuamente revisada e aprimorada conforme novos dados e informações se tornem disponíveis.
Responsável pela Aprovação
GT Arquitetura
ESTE É UM CONTEÚDO EM DESENVOLVIMENTO E NÃO DEVE SER CONSIDERADO COMO VERSÃO FINAL!
Clique aqui para maiores informações