mirror of
https://github.com/openobserve/openobserve.git
synced 2026-11-05 00:09:35 +00:00
+3
![dependabot[bot]](https://secure.gravatar.com/avatar/48ea49be76d0c68403a7f3df87e3487d?d=identicon&s=40)







450da5349e
### **PR Type** Enhancement, Documentation ___ ### **Description** - Add query plan dialog with EXPLAIN/ANALYZE - Parse, render plan tree with metrics - Integrate Explain button in logs toolbar/menu - Add i18n strings for new UI labels ___ ### Diagram Walkthrough ```mermaid flowchart LR SearchBar["Logs SearchBar (Explain button)"] -- "opens" --> Dialog["QueryPlanDialog (q-dialog)"] Dialog -- "calls" --> StreamingSearch["streaming_search.search()"] StreamingSearch -- "SSE data" --> Dialog Dialog -- "parse/format" --> Parser["queryPlanParser (parse tree + metrics)"] Dialog -- "render" --> Tree["QueryPlanTree/Node components"] Dialog -- "summary" --> MetricsCard["MetricsSummaryCard"] Dialog -- "i18n labels" --> I18n["en.json additions"] ``` <details> <summary><h3> File Walkthrough</h3></summary> <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Enhancement</strong></td><td><details><summary>7 files</summary><table> <tr> <td><strong>queryPlanParser.ts</strong><dd><code>Add parser and metrics utilities for DataFusion plans</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8831/files#diff-417957960e379b5c5b042e5eb14acb7dcabfb966c81fbd2965eea383d408add5">+319/-0</a> </td> </tr> <tr> <td><strong>QueryPlanDialog.vue</strong><dd><code>New dialog to fetch, parse, and display plans</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8831/files#diff-857bd0334ca601c4cd4e3ce2be7bff0dca583460a2fdf02d6d1c2f25a65f0ccd">+495/-0</a> </td> </tr> <tr> <td><strong>CollapsibleProjection.vue</strong><dd><code>Collapsible projection field list renderer</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8831/files#diff-0768b03cd68e1d7060a7a328e333a1a21a052d3d00719fdaf722c7068e044bd6">+135/-0</a> </td> </tr> <tr> <td><strong>MetricsSummaryCard.vue</strong><dd><code>Summary card for time, rows, memory metrics</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8831/files#diff-dc065cd3367a2c32b655a3cf9654e57eed85d6924bf81e2df39cf21a0c596433">+151/-0</a> </td> </tr> <tr> <td><strong>QueryPlanNode.vue</strong><dd><code>Tree node component with metrics and collapse</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8831/files#diff-db861376fe96048a639c4810804dd2ecd8a95058dac0f40ca23cc41afa4e1a67">+293/-0</a> </td> </tr> <tr> <td><strong>QueryPlanTree.vue</strong><dd><code>Render plan as expandable ASCII tree</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8831/files#diff-301d8f706ec4e5a46f580b4cca08bd951743a0ad5419295ab79956e5f68ec6c0">+77/-0</a> </td> </tr> <tr> <td><strong>SearchBar.vue</strong><dd><code>Add Explain button and dialog wiring in toolbar/menu</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8831/files#diff-81893de4edf186b0556f610acb280c87baa2ffe67d3b48a60a866094c7635baf">+51/-0</a> </td> </tr> </table></details></td></tr><tr><td><strong>Documentation</strong></td><td><details><summary>1 files</summary><table> <tr> <td><strong>en.json</strong><dd><code>Add i18n strings for query plan UI</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8831/files#diff-892aa3d75ab6e129ef9116aa21bec1b9a15ba69ce5366d2a19128078c690d824">+22/-1</a> </td> </tr> </table></details></td></tr></tr></tbody></table> </details> ___ --------- Signed-off-by: loaki07 <rustyloaki@gmail.com> Co-authored-by: Abhay Padamani <141122205+ktx-abhay@users.noreply.github.com> Co-authored-by: Loakesh Indiran <66478092+Loaki07@users.noreply.github.com> Co-authored-by: Shrinath Rao <shnath@openobserve.ai> Co-authored-by: Harsh Mahajan <115500013+007harshmahajan@users.noreply.github.com> Co-authored-by: Hengfei Yang <hengfei.yang@gmail.com> Co-authored-by: ByteBaker <42913098+ByteBaker@users.noreply.github.com> Co-authored-by: Sai Nikhil <nikhil@openobserve.ai> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: ktx-akshay <akshay.patil@kiara.tech> Co-authored-by: Huaijin <haohuaijin@gmail.com> Co-authored-by: Simha G <149056463+yaga-simha@users.noreply.github.com> Co-authored-by: omkark06 <omkar@zinclabs.io>