Pular para o conteúdo principal
O profiler do DataStore ajuda a medir o tempo de execução e identificar gargalos de desempenho.

Início rápido

Ativando o profiling


API do Profiler

Como obter o Profiler

report()

Exibe um relatório de performance.
Parâmetros: Exemplo de saída:
O relatório mostra:
  • Duração em milissegundos para cada passo
  • Percentual do tempo em relação ao pai/total
  • Aninhamento hierárquico das operações
  • Metadados de cada passo (por exemplo, ops_count, ops)

step()

Meça manualmente o tempo de execução de um bloco de código.

clear()

Limpa todos os dados de profiling.

summary()

Retorna um dicionário que mapeia nomes de passos para durações (ms).
Exemplo de saída:

Entendendo o relatório

Nomes dos passos

Duração

  • Passos de planejamento (Planejamento da consulta): Geralmente rápidas
  • Passos de execução (Execução SQL): Onde o trabalho de fato acontece
  • Passos de transferência (Resultado para DataFrame): Conversão dos dados para pandas

Identificação de gargalos


Padrões de profiling

Gerar o perfil de uma única consulta

Analisar o perfil de várias consultas

Compare as abordagens


Dicas de otimização

1. Verifique o tempo de execução do SQL

Se SQL execution for o gargalo:
  • Adicione mais filtros para reduzir o volume de dados
  • Use Parquet em vez de CSV
  • Verifique se os índices estão adequados (para fontes de banco de dados)

2. Verifique o tempo de E/S

Se read_csv ou read_parquet for o gargalo:
  • Use Parquet (colunar, comprimido)
  • Leia apenas as colunas necessárias
  • Faça o filtro na origem, se possível

3. Verifique a transferência de dados

Se to_df estiver lento:
  • O conjunto de resultados pode estar grande demais
  • Adicione mais filtros ou um limite
  • Use head() para visualizar uma amostra

4. Compare os motores


Boas práticas

1. Faça o perfil antes de otimizar

2. Limpe entre os testes

3. Use min_duration_ms para focar

4. Faça o perfil com dados representativos

5. Desative em produção


Exemplo: Sessão completa de profiling

Última modificação em 2 de julho de 2026