Dashboards de gastos
Acompanhe o custo por modelo, provedor, projeto ou tipo de credencial. Crie detalhamentos de faturamento por cliente.
Monitoramento de desempenho
Monitore a latência p50, p95 e p99 ao longo do tempo entre modelos e provedores.
Qualidade dos evaluators
Quantifique a taxa de aprovação, a pontuação média e a distribuição de resultados por Evaluator e versão.
Aplicação de guardrails
Meça a taxa de bloqueio, os acionamentos e os resultados por Policy e estágio.
Endpoint
POSThttps://router.toqan.ai/eu/v2/reporting
- Todas as solicitações exigem um token
Bearer. Consulte API Keys para saber como gerar um. - O escopo de workspace e de projeto é derivado da própria chave de API.
Os eventos de trace chegam ao reporting quase em tempo real, com um pequeno atraso de ingestão medido em segundos. Consultas em janelas muito recentes podem ainda não incluir os eventos mais recentes.
Consulte a Referência da API
Playground interativo e esquema completo de
POST /v2/reporting.Solicitação
O formato enviado é snake_case de ponta a ponta. Os SDKs expõem os mesmos campos no estilo nativo de cada linguagem (
groupBy em TypeScript, group_by em Python).grain define o bucket de tempo: auto, minute, hour ou day. Com auto, ou com o campo omitido, o servidor escolhe o bucket. A resposta informa o bucket aplicado em meta.effective_grain.
Consulte a referência da API para ver o esquema completo dos campos, tipos, valores padrão e regras de validação.
mode: o modo padrão timeseries retorna uma linha por bucket de tempo. Defina "mode": "scalar" para agregar toda a janela: com group_by, a resposta traz uma linha por combinação de dimensões, ordenada por valor (uma top list, limitada por limit; inverta a ordem com "sort": "asc"), e sem group_by, exatamente uma linha (um único agregado). As linhas scalar omitem o campo timestamp.
Resposta
Toda resposta bem-sucedida segue o mesmo envelope. O arraydata contém buckets ordenados no tempo. Cada bucket contém:
- um mapa
dimensions: os valores degroup_bydaquela linha (consulte Dimensões) - um mapa
metrics: o formato depende da métrica solicitada
genai.usage) retornam um conjunto completo de campos relacionados em uma única chamada.
totals só está presente quando include_totals: true é definido na solicitação; caso contrário, o campo é omitido. Os valores das métricas são arredondados para 10 casas decimais no servidor.
Catálogo de métricas
- Uso
- Evaluator
- Guardrail
As métricas de quantil (
genai.latency.p*, genai.ttft.p*) têm uma margem de
erro de +/-1-2%, típica da estimativa por t-digest em alta cardinalidade. As
métricas genai.ttft.* abrangem somente solicitações com streaming e não
aceitam dimensões de entidade como agent ou tool.As métricas de Evaluator e de guardrail são lidas da mesma fonte: toda execução de
Evaluator é registrada como uma verificação de guardrail, independentemente do tipo de implementação
do Evaluator. Escolha a métrica que corresponde à pergunta que está sendo feita.
Dimensões
As dimensões de entidade (agent, tool e assim por diante) estão disponíveis para métricas de uso e detalham uma métrica por uma entidade do produto.
billing_billable está disponível como campo de filtro para métricas de uso, mas não
como dimensão de group_by. Para separar credenciais gerenciadas pelo Toqan Router das credenciais do cliente, use credential_type. Os valores orq_managed e customer_byok são derivados no momento da consulta a partir da configuração de faturamento do workspace, e não armazenados em cada evento.- Dimensões de uso
- Dimensões de entidade
- Dimensões de evaluator e guardrail
Combine-as com
genai.requests, genai.tokens, genai.cost, genai.errors, genai.latency.* ou genai.usage.Os valores de
status_code correspondem às grafias da OQL e da Telemetry API em Valores de status de trace.Erros
Os erros são retornados como envelopes JSON com umcode numérico, uma message legível e um array details vazio.
Limites
Acompanhamento de tokens e custos
Como o uso de tokens é capturado e o custo é calculado para cada solicitação de LLM.

