Surface foreign ExecutionPlan metrics via FFI (FFI_MetricsSet)
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Tranquilo
Línea de trabajo
Empieza comprobando el crate upstream datafusion-ffi más allá de v54 en busca de un FFI_MetricsSet y su conexión con FFI_ExecutionPlan::metrics. Después, inspecciona el Python MetricsSet y los patrones existentes de *Exportable from_pycapsule. El trabajo estará completo cuando las métricas de planes de ejecución externos puedan atravesar el límite FFI y exponerse mediante los bindings de Python.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- Python
- Estrellas
- 605
- Forks
- 176
- Merge medio
- 1 d 23 h
- PR fusionados (30 d)
- 8
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de apache/datafusion-python
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
apache/datafusion-python#1757 ·
-
documentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
apache/datafusion-python#1726 ·
-
Dificultad 2/5 Medio día Aptitud para principiantes 88/100
apache/datafusion-python#1691 ·
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
apache/datafusion-python#1644 ·
-
enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 30/100
apache/datafusion-python#1737 ·
Todos los issues de apache/datafusion-python
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
learningequality/ricecooker#747 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
BSData/horus-heresy-3rd-edition#3171 ·
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
run-llama/llama_index#23199 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
KhronosGroup/glTF-Blender-IO#2769 ·