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
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 camporesult 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 osamplePeriodSecslevando a esteslot.numSlots(u64): O número de slots que foram processados durante osamplePeriodSecslevando a esteslot.samplePeriodSecs(u16): A duração, em segundos, sobre a qual esta amostra foi coletada (tipicamente60).numNonVoteTransactions(u64): O número de transações que não foram transações de voto de consenso, processadas durante osamplePeriodSecs.
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âmetrolimit, 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
samplePeriodSecsna resposta indica a duração real de cada amostra. - Limite de Dados Históricos: O máximo
limitde 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:
numTransactionsinclui todas as transações, enquantonumNonVoteTransactionsconta 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.
getRecentPerformanceSamples, desenvolvedores e observadores da rede podem obter insights valiosos sobre o status operacional e o throughput da rede Solana.