Skip to main content
O método RPC getRecentPerformanceSamples fornece um instantâneo do desempenho recente da rede Solana. Ele retorna uma lista de amostras, coletadas aproximadamente a cada 60 segundos, detalhando o número de transações e slots processados nesses períodos. Esses dados são inestimáveis para monitorar o throughput e a saúde da rede. Para mais contexto sobre métricas de desempenho do Solana, como TPS e tempos de slot, você pode ler o guia Solana para Empresas.

Casos de Uso Comuns

  • Monitoramento de Saúde da Rede: Acompanhe as taxas de processamento de transações e produção de slots para avaliar a saúde geral da rede e identificar possíveis congestionamentos ou lentidões.
  • Análise de Desempenho: Analise dados de desempenho histórico para entender o comportamento da rede em diferentes condições.
  • Dashboarding: Exiba indicadores chave de desempenho (KPIs) como transações por segundo (TPS) e slots por minuto em painéis de monitoramento.
  • Planejamento de Capacidade: Observe tendências na carga da rede para informar decisões de escalonamento de aplicativos ou infraestrutura.

Parâmetros de Solicitação

  1. limit (usize, opcional):
    • O número das amostras de desempenho mais recentes a serem retornadas.
    • Valor máximo: 720 (representando aproximadamente 12 horas de dados, pois as amostras são coletadas a cada 60 segundos).
    • Se omitido, o nó RPC retornará um número padrão de amostras (o padrão exato pode variar de acordo com o provedor RPC).

Estrutura de Resposta

O campo result da resposta JSON-RPC é um array de objetos de amostras de desempenho, retornados em ordem cronológica reversa (amostra mais recente primeiro). Cada objeto possui a seguinte estrutura:
  • slot (u64): O número do slot em que essa amostra de desempenho foi registrada.
  • numTransactions (u64): O número total de transações (incluindo transações de voto e não voto) processadas durante o samplePeriodSecs levando a este slot.
  • numSlots (u64): O número de slots que foram processados durante o samplePeriodSecs levando a este slot.
  • samplePeriodSecs (u16): A duração, em segundos, sobre a qual esta amostra foi coletada (tipicamente 60).
  • numNonVoteTransactions (u64): O número de transações que não foram transações de voto de consenso, processadas durante o samplePeriodSecs.

Exemplos

1. Obter as Últimas 5 Amostras de Desempenho

Este exemplo solicita as cinco amostras de desempenho mais recentes da rede.

2. Obter o Número Padrão de Amostras de Desempenho

Este exemplo omite o parâmetro limit, solicitando o número padrão de amostras do nó RPC.

Dicas para Desenvolvedores

  • Intervalo de Amostragem: As amostras são tipicamente coletadas a cada 60 segundos, mas esta é uma aproximação. O campo samplePeriodSecs na resposta indica a duração real de cada amostra.
  • Limite de Dados Históricos: O máximo limit de 720 amostras fornece uma janela de aproximadamente 12 horas de dados históricos. Para análise de desempenho a longo prazo, é necessário registro e agregação de dados externos.
  • Transações de Voto vs. Não Voto: numTransactions inclui todas as transações, enquanto numNonVoteTransactions conta especificamente aquelas que não fazem parte do processo de votação de consenso. O último é frequentemente um melhor indicador de atividade de rede impulsionada pelo usuário.
  • Variabilidade do Nó: Os dados exatos podem variar ligeiramente entre diferentes nós RPC, dependendo do estado de sincronização e da visão local da rede quando uma amostra é coletada.
Utilizando getRecentPerformanceSamples, desenvolvedores e observadores da rede podem obter insights valiosos sobre o status operacional e o throughput da rede Solana.