Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Surface foreign ExecutionPlan metrics via FFI (FFI_MetricsSet)

Aberta
#1,576 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
5/5
Tempo estimado
Mais de uma semana
Facilidade para iniciantes
25/100
Tipo de issue
Funcionalidade
Clareza
Precisa de esclarecimento
Status de atividade
Pouca atividade
Stack de tecnologia
python, rust

Direção de pesquisa

Comece verificando o crate upstream datafusion-ffi além de v54 em busca de um FFI_MetricsSet e de sua conexão com FFI_ExecutionPlan::metrics. Em seguida, inspecione o Python MetricsSet e os padrões existentes de *Exportable from_pycapsule. O trabalho estará concluído quando as métricas de planos de execução externos puderem atravessar o limite FFI e ser expostas pelos bindings Python.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

Background

PyMetricsSet currently wraps the native DataFusion MetricsSet only. When a foreign ExecutionPlan is imported through FFI_ExecutionPlan (for example a plan implemented in a separate Rust extension, Go, or another Python module), there is no FFI round-trip for metrics: plan.metrics() on such a foreign plan returns whatever the underlying implementation happens to populate, with no standard way for the foreign side to surface DataFusion-style metrics back across the boundary.

Why deferred

There is no FFI_MetricsSet struct in the upstream datafusion-ffi crate at v54 to wrap; this is a pipeline-symmetry concern rather than a feature gap with a clear upstream target. No open user requests at the time of audit. Filed for tracking so that when upstream lands FFI metrics support, the Python bindings can pick it up immediately. The accepted path is probably: upstream adds FFI_MetricsSet and threads it through FFI_ExecutionPlan::metrics; the Python bindings then expose a from_pycapsule helper on MetricsSet analogous to the other *Exportable patterns.

Linguagem predominante
Python
Estrelas
605
Forks
176
Merge médio
1d 23h
PRs com merge (30d)
8

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de apache/datafusion-python

Todas as issues de apache/datafusion-python

Issues semelhantes

Mais issues de Python

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.