mirror of
https://github.com/openobserve/openobserve.git
synced 2026-11-04 08:09:27 +00:00
4c080dfd5fdd17cb0e01ddcbb95e6900172e138e
5191
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
4c080dfd5f |
fix: alert graph edges not rendering due to timestamp equality (#10347)
### **User description** ## Problem Fixes openobserve/o2-enterprise#1229 Alert graphs were not rendering edges (arrows) when nodes had identical timestamps, causing the topology graph to show nodes without connections. ## Root Cause The edge creation logic used strict timestamp inequality (`<`, `>`), which failed when alerts fired at the exact same microsecond. This commonly occurs with: - High-frequency alerting - Bulk alert ingestion - Simulated/test data with fixed timestamps - Clock resolution limitations ## Solution Added timestamp tiebreaker logic using node index (insertion order) for all three edge creation scenarios: 1. **Same-service temporal edges**: Connect to most recent previous node, use index as tiebreaker 2. **Cross-service temporal edges**: Connect to chronologically closest node, use index as tiebreaker 3. **Service dependency edges**: Connect related services, use index as tiebreaker ## Changes - `src/service/alerts/incidents.rs`: Updated 3 edge creation locations with timestamp + index comparisons ## Impact - ✅ Edges now created even when alerts have identical timestamps - ✅ Deterministic behavior based on insertion order - ✅ Graph visualization shows proper alert flow with arrows - ✅ Root cause analysis now possible ## Testing - Verified code compiles successfully - Manual testing recommended with alerts at same timestamp ___ ### **PR Type** Bug fix ___ ### **Description** - Add tiebreaker for equal timestamps - Ensure deterministic topology edge creation - Fix missing incident graph arrows ___ ### Diagram Walkthrough ```mermaid flowchart LR A["New alert node added"] --> B["Find candidate prior/next nodes"] B --> C["Compare (first_fired_at, node_index)"] C --> D["Create temporal/dependency edges deterministically"] ``` <details> <summary><h3> File Walkthrough</h3></summary> <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Bug fix</strong></td><td><table> <tr> <td> <details> <summary><strong>incidents.rs</strong><dd><code>Deterministic edge creation for equal timestamps</code> </dd></summary> <hr> src/service/alerts/incidents.rs <ul><li>Add index-based tiebreaker for same-service edges<br> <li> Allow dependency edges when timestamps equal<br> <li> Refine cross-service temporal matching with index<br> <li> Update ordering keys to include node index</ul> </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/10347/files#diff-2411d921fd8b8783c049deea11da06726ed986550d405477d486234892353ca9">+17/-5</a> </td> </tr> </table></td></tr></tr></tbody></table> </details> ___ |
||
|
|
d7c0874084 |
fix: vrl warning message on visualization page (#10343)
### **User description** - #10281 ___ ### **PR Type** Bug fix, Enhancement ___ ### **Description** - Disable VRL editor for non-table visualizations - Show inline warning instead of blocking switch - Remove forced table chart on VRL usage ___ ### Diagram Walkthrough ```mermaid flowchart LR A["SearchBar VRL editor"] B["isVrlEditorDisabled computed"] C["Read-only editor state"] D["Inline disabled warning"] E["Chart type switch validation"] F["Allow non-table without forcing table"] A -- "adds" --> B B -- "controls" --> C B -- "renders" --> D E -- "removes VRL blocking logic" --> F ``` <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><table> <tr> <td> <details> <summary><strong>SearchBar.vue</strong><dd><code>Disable VRL editor and show warning</code> </dd></summary> <hr> web/src/plugins/logs/SearchBar.vue <ul><li>Bind VRL editor <code>readOnly</code> to <code>isVrlEditorDisabled</code><br> <li> Add warning banner when VRL is disabled<br> <li> Compute disable state for visualize non-table<br> <li> Export <code>isVrlEditorDisabled</code> to template</ul> </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/10343/files#diff-81893de4edf186b0556f610acb280c87baa2ffe67d3b48a60a866094c7635baf">+37/-1</a> </td> </tr> </table></td></tr><tr><td><strong>Bug fix</strong></td><td><table> <tr> <td> <details> <summary><strong>VisualizeLogsQuery.vue</strong><dd><code>Remove VRL-based chart type restriction</code> </dd></summary> <hr> web/src/plugins/logs/VisualizeLogsQuery.vue <ul><li>Delete blocking logic when switching from table<br> <li> Stop forcing <code>dashboardPanelData.data.type = "table"</code><br> <li> Keep only select-* validation before type change</ul> </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/10343/files#diff-979b01d943d58c5d70faeeac5948b7f02f0b2392a12b84ef07ba7f7393ab0261">+0/-14</a> </td> </tr> </table></td></tr></tr></tbody></table> </details> ___ |
||
|
|
f23d22d9b7 |
fix: adds pass through headers for ai-agent (#10330)
### **User description** refer https://github.com/openobserve/openobserve/pull/10069 ___ ### **PR Type** - Enhancement - Tests - Bug fix ___ ### **Description** - Add configurable header passthrough extraction - Prepare AI chat to forward headers - Add unit tests for header matching - Stop storing backfill ingestion errors ___ ### Diagram Walkthrough ```mermaid flowchart LR req["Incoming AI chat request"] cfg["Passthrough patterns (CSV)"] ext["extract_passthrough_headers()"] fwd["forward_headers merged"] agent["Agent client query (future headers)"] tests["Unit tests"] req -- "provides headers" --> ext cfg -- "patterns" --> ext ext -- "selected headers" --> fwd fwd -- "intended to forward" --> agent ext -- "verified by" --> tests ``` <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><table> <tr> <td> <details> <summary><strong>chat.rs</strong><dd><code>Add passthrough header extraction for AI chat</code> </dd></summary> <hr> src/handler/http/request/ai/chat.rs <ul><li>Add <code>extract_passthrough_headers</code> helper with wildcard support<br> <li> Collect passthrough headers in <code>chat</code> and <code>chat_stream</code><br> <li> Merge passthrough headers without overwriting existing ones<br> <li> Add unit tests for matching behavior</ul> </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/10330/files#diff-12a78cbb31b313cb3a0ca50f25c177470cf49b02708f179fe138ed3d66a2926b">+178/-1</a> </td> </tr> </table></td></tr><tr><td><strong>Bug fix</strong></td><td><table> <tr> <td> <details> <summary><strong>handlers.rs</strong><dd><code>Disable persisting ingestion error during backfill</code> </dd></summary> <hr> src/service/alerts/scheduler/handlers.rs - Comment out `ingestion_error` assignment on batch failure </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/10330/files#diff-5eca8995a88fcecb6d6b8efd3c7c4496f4a96a4b060fb4ed85593574f7cf49eb">+1/-1</a> </td> </tr> </table></td></tr></tr></tbody></table> </details> ___ |
||
|
|
2e4fb93291 |
fix: RUM session event details drawer UI improvements (#10329)
### **PR Type** Enhancement, Bug fix ___ ### **Description** - Add tabbed RUM event details drawer - Centralize RUM event formatting utilities - Improve sidebar filtering and null safety - Sync dashboard chart zoom to time range ___ ### Diagram Walkthrough ```mermaid flowchart LR A["RUM Session Viewer UI"] B["Event detail drawer tabs (Overview/Network/Attributes)"] C["Shared formatter composable (`useEventFormatters`)"] D["Network resources list from related events"] E["Clipboard copy + JSON highlighting"] F["Dashboards emit `update:dateTime` on zoom"] G["Sidebar event type filter behavior"] H["Session email null-safety"] A -- "refactor + UX" --> B B -- "uses" --> C B -- "derives" --> D B -- "adds" --> E A -- "interactions" --> F A -- "filtering" --> G A -- "stability" --> H ``` <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>14 files</summary><table> <tr> <td><strong>useEventFormatters.ts</strong><dd><code>Add shared formatting helpers for RUM events</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10329/files#diff-d301f514502d418578addfb8a9332f18193ec77414fe2de5f86584eaccf89a43">+88/-0</a> </td> </tr> <tr> <td><strong>LogsHighLighting.vue</strong><dd><code>Import highlighting stylesheet via scoped SCSS</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10329/files#diff-4ef4ac0444004add270de4da30fa39bafd95bd7f1c408d28cf6737655fc152eb">+4/-2</a> </td> </tr> <tr> <td><strong>EventDetailDrawerContent.vue</strong><dd><code>Redesign drawer with tabs, copy, network</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10329/files#diff-e31bfc4c2d218ac4beaa9110939974f0461a818a7d5d169279e2ff58dec8136c">+479/-353</a></td> </tr> <tr> <td><strong>EventDetailsSection.vue</strong><dd><code>Add reusable key-value section renderer</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10329/files#diff-eb9d64194e4354ce8babdb843029087b4d0813100046f6de6fd2605816eede58">+67/-0</a> </td> </tr> <tr> <td><strong>EventTypeBadge.vue</strong><dd><code>Add reusable event type badge component</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10329/files#diff-78d3b36f54018d0cc31a0ed96800588bacb5b3f6e608803f32e704e576d89001">+49/-0</a> </td> </tr> <tr> <td><strong>KeyValueRow.vue</strong><dd><code>Add reusable labeled key-value row component</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10329/files#diff-978f05f4c50530f6d772579c54478e1aef10b7f7b066f2769e9d34c62c488895">+53/-0</a> </td> </tr> <tr> <td><strong>PerformanceMetrics.vue</strong><dd><code>Add wrapper component for performance metrics</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10329/files#diff-7c9e28cabc9dd4189346dadc26dcb4def95a9265557144e99128a9f3b951c21e">+60/-0</a> </td> </tr> <tr> <td><strong>ActionPerformanceMetrics.vue</strong><dd><code>Add action performance metric cards and statuses</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10329/files#diff-cd6683a885104c9e5074ab1c2b97bed5275cffa688da905f539bef98efdb4ec8">+98/-0</a> </td> </tr> <tr> <td><strong>ErrorPerformanceMetrics.vue</strong><dd><code>Add error performance metric cards and statuses</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10329/files#diff-1fc102647ba527cfd553f4c0fd723f1b72fabbd85bad7518e0a826a09d858442">+76/-0</a> </td> </tr> <tr> <td><strong>MetricCard.vue</strong><dd><code>Add generic metric card with formatting</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10329/files#diff-3666ababe7e5a472c88da967ba6e5e632dfd907abb8555a6bb4baeabc0215e32">+168/-0</a> </td> </tr> <tr> <td><strong>ResourcePerformanceMetrics.vue</strong><dd><code>Add resource timing breakdown metric cards</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10329/files#diff-9dfcf79c8b3c1b1c0e43bc8e65c90a6cd6b75c84b7de8250f18ba985ef36ad55">+128/-0</a> </td> </tr> <tr> <td><strong>ViewPerformanceMetrics.vue</strong><dd><code>Add web vitals and view metric cards</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10329/files#diff-0ddb74b6ef8bdb8656c47fb4065e4add8ba853f5834fbf3e59087623b054aa2b">+172/-0</a> </td> </tr> <tr> <td><strong>ErrorsDashboard.vue</strong><dd><code>Emit zoom events to update time range</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10329/files#diff-46138c05241c5e0911a0feba39a21dbb8452453c0e26a1d00c3493cc579f07b2">+8/-0</a> </td> </tr> <tr> <td><strong>WebVitalsDashboard.vue</strong><dd><code>Emit zoom events and support dateTime updates</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10329/files#diff-bbb15649f6ecf4b2968a8173091ef8b2a21bfe39bff8e08f91566bca189cca09">+9/-1</a> </td> </tr> </table></details></td></tr><tr><td><strong>Miscellaneous</strong></td><td><details><summary>1 files</summary><table> <tr> <td><strong>zincutils.ts</strong><dd><code>Adjust formatting and utility function style</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10329/files#diff-d3d59688cccdcc6c84ebe88b698c6910030abecc3125f4c0ef81b0df023699ba">+26/-14</a> </td> </tr> </table></details></td></tr><tr><td><strong>Bug fix</strong></td><td><details><summary>2 files</summary><table> <tr> <td><strong>PlayerEventsSidebar.vue</strong><dd><code>Improve multiselect UX and filtering logic</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10329/files#diff-a7d04eb87cd7588ba4811d79c6d32696a58d737a24931258329be4f96cee7610">+39/-10</a> </td> </tr> <tr> <td><strong>SessionViewer.vue</strong><dd><code>Guard session email access with optional chaining</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10329/files#diff-9f7a183be1e2cfcb3c3c852c059f66003dd4f3f586421b012e1b835724929ca1">+1/-1</a> </td> </tr> </table></details></td></tr></tr></tbody></table> </details> ___ |
||
|
|
9853c61550 |
feat: optimize /_correlate API with scope dimension filtering
Reduces API latency by filtering scope dimensions at SQL level before loading services into memory. **Changes:** - Add `list_with_scope_filter()` function in `service_streams.rs` - Builds SQL with NOT clause to exclude scope dimension conflicts - Supports PostgreSQL (`::jsonb` operators) and SQLite (`json_extract()`) - Extracts k8s-cluster and k8s-namespace from input filters dynamically - Reduces services loaded from DB before in-memory processing **Impact:** - Reduces dataset loaded by filtering scope dimensions (cluster, namespace) - Preserves correctness - FQN discovery still works on filtered set - No schema changes required - uses existing JSON columns **Testing:** - Unit tests added for SQL building logic (PostgreSQL, SQLite, edge cases) - Validated with production data - output matches expected results - All existing tests passing Design at: ../designs/correlation/IMPLEMENTATION.md |
||
|
|
a64fbcc397 |
fix: use created at as unique key (#10338)
### **PR Type**
Bug fix
___
### **Description**
- Fix table row identity using `created_at`
___
### Diagram Walkthrough
```mermaid
flowchart LR
t1["IncidentAlertTriggersTable.vue"]
t2["QTable row-key uses `created_at`"]
t1 -- "sets row-key" --> t2
```
<details> <summary><h3> File Walkthrough</h3></summary>
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Bug
fix</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>IncidentAlertTriggersTable.vue</strong><dd><code>Use
`created_at` as QTable row key</code>
</dd></summary>
<hr>
web/src/components/alerts/IncidentAlertTriggersTable.vue
- Update QTable `row-key` from `alert_id` to `created_at`
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10338/files#diff-8c7abdab1feb590b04dc4fd067d0791902eb9cf41b627bcfce03e074cbc4b06a">+1/-1</a>
</td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
|
||
|
|
a1306602e6 |
fix: add missing detectPrebuiltType import in AddDestination.vue (#10341)
### **User description**
## Summary
- Fixes custom destination edit form failing to load
- Adds missing `detectPrebuiltType` import from
`usePrebuiltDestinations()` composable
## Problem
When editing a custom alert destination, the edit form gets stuck
showing a loading spinner indefinitely because:
1. `detectPrebuiltType` function is called at lines 833 and 855 in
`AddDestination.vue`
2. The function was never imported from the composable
3. This causes a ReferenceError, corrupting component state
4. `formData.destination_type` never gets set
5. The form renders a loading spinner instead of the edit fields
**Prebuilt destinations** (Slack, Discord, etc.) were unaffected because
they have `metadata.prebuilt_type` set and return early in the detection
logic before reaching the buggy code path.
## Fix
Added `detectPrebuiltType` to the destructured imports:
```diff
const {
availableTypes,
popularTypes,
validateCredentials,
testDestination,
createDestination,
updateDestination,
generatePreview,
isTestInProgress,
- lastTestResult
+ lastTestResult,
+ detectPrebuiltType
} = usePrebuiltDestinations();
```
## Test Plan
- [x] Ran `P1: Custom Destination - Create and Edit flow` test locally -
**PASSED**
- [x] Verified custom destination can be created
- [x] Verified custom destination can be edited (previously failing)
- [x] Verified custom destination can be deleted
Fixes #10340
___
### **PR Type**
Bug fix
___
### **Description**
- Import `detectPrebuiltType` from composable
- Fix custom destination edit loading spinner
___
### Diagram Walkthrough
```mermaid
flowchart LR
A["AddDestination.vue"]
B["usePrebuiltDestinations() composable"]
C["detectPrebuiltType import added"]
D["Custom destination edit form loads"]
A -- "destructure import" --> B
B -- "exposes helper" --> C
C -- "prevents ReferenceError" --> D
```
<details> <summary><h3> File Walkthrough</h3></summary>
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Bug
fix</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>AddDestination.vue</strong><dd><code>Add missing
composable helper import</code>
</dd></summary>
<hr>
web/src/components/alerts/AddDestination.vue
<ul><li>Add <code>detectPrebuiltType</code> to destructured imports<br>
<li> Prevent runtime ReferenceError during type detection</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10341/files#diff-61b295458e13049a538f5014124855d58dce664dfbd644b57a964a37a07b7a3f">+2/-1</a>
</td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
|
||
|
|
dfb84780a1 |
fix: issue 10319 values api for sql mode multi stream selection (#10323)
issue #10319 ### **PR Type** Bug fix, Tests ___ ### **Description** - Add fallback for unparseable UNION queries - Prevent empty `query_context` in sqlMode - Add tests for UNION parse/unparse safety ___ ### Diagram Walkthrough ```mermaid flowchart LR UI["IndexList.vue openFilterCreator"] Parser["fnParsedSQL(query)"] Unparser["fnUnparsedSQL(parsedSQL)"] DetectFail["Detect empty columns/from"] Fallback["Fallback: SELECT * FROM \"[INDEX_NAME]\""] ValuesAPI["Values API field query context"] UI -- "parse query" --> Parser Parser -- "parsedSQL" --> Unparser Unparser -- "query_context" --> DetectFail DetectFail -- "if unparseable" --> Fallback Fallback -- "safe query_context" --> ValuesAPI ``` <details> <summary><h3> File Walkthrough</h3></summary> <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Tests</strong></td><td><table> <tr> <td> <details> <summary><strong>logsUtils.spec.ts</strong><dd><code>Add UNION parsing/unparsing regression tests</code> </dd></summary> <hr> web/src/test/unit/composables/logsUtils.spec.ts <ul><li>Add unit tests for UNION/UNION ALL parsing<br> <li> Cover unsupported <code>UNION ALL BY NAME</code> cases<br> <li> Assert <code>fnUnparsedSQL</code> returns empty on errors<br> <li> Simulate openFilterCreator fallback flow behavior</ul> </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/10323/files#diff-4492d9abd2bc95897c46f6ed177f3298bda9f1419dc91b07e2aa1409b598bb7f">+245/-0</a> </td> </tr> </table></td></tr><tr><td><strong>Bug fix</strong></td><td><table> <tr> <td> <details> <summary><strong>IndexList.vue</strong><dd><code>Add fallback query_context for UNION parse failures</code> </dd></summary> <hr> web/src/plugins/logs/IndexList.vue <ul><li>Detect SQL parser failures via empty <code>columns</code>/<code>from</code><br> <li> Provide <code>SELECT * FROM "[INDEX_NAME]"</code> fallback<br> <li> Ensure <code>query_context</code> is non-empty for values flow</ul> </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/10323/files#diff-08f058f883b659e713e606991a7ea37ae1ff016b7cccef970489ab5840dc3d09">+12/-0</a> </td> </tr> </table></td></tr></tr></tbody></table> </details> ___ |
||
|
|
7d9da6d47f |
fix: Logs correlation traces list UI improvements (#10328)
### **PR Type** Enhancement, Bug fix ___ ### **Description** - Replace correlated traces table with `TraceBlock` list - Add `View in Traces` navigation button - Centralize trace metadata formatting in `useTraces` - Add i18n strings for correlation actions ___ ### Diagram Walkthrough ```mermaid flowchart LR U["`useTraces`: `formatTracesMetaData` + service colors"] C["TelemetryCorrelationDashboard: correlated traces UI"] B["`TraceBlock` list rendering"] D["Open single trace: `traceDetails` route"] T["Open traces list: `traces` route"] I["Traces `Index.vue`: reuse formatter"] L["Locales: add `viewInTraces` strings"] C -- "formats API hits" --> U I -- "formats API hits" --> U C -- "renders traces" --> B C -- "open trace in new tab" --> D C -- "view all correlated traces" --> T C -- "button/tooltip text" --> L ``` <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>3 files</summary><table> <tr> <td><strong>useTraces.ts</strong><dd><code>Add reusable trace metadata formatter</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10328/files#diff-1cf652f1e074a135294702959cf09fd96a1ed13e661ee3bc85266dbb1909c1a7">+74/-0</a> </td> </tr> <tr> <td><strong>TelemetryCorrelationDashboard.vue</strong><dd><code>Replace traces table with `TraceBlock` list</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10328/files#diff-b77a766fa0094f641873071a8f13c73704933b941f387ed105e85a4e59efdb38">+98/-289</a></td> </tr> <tr> <td><strong>Index.vue</strong><dd><code>Reuse `useTraces` trace formatting logic</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10328/files#diff-952e26660e4d6aadd292ea2ef7b314e139a4f516d0b3931e20d42d6394700d07">+8/-43</a> </td> </tr> </table></details></td></tr><tr><td><strong>Documentation</strong></td><td><details><summary>11 files</summary><table> <tr> <td><strong>de.json</strong><dd><code>Add correlation “View in Traces” strings</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10328/files#diff-78f24ecb2dbcfc38fdf3ec22b2559a5b40d236ea689d1c55f5d3e87168310264">+3/-1</a> </td> </tr> <tr> <td><strong>en.json</strong><dd><code>Add correlation “View in Traces” strings</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10328/files#diff-892aa3d75ab6e129ef9116aa21bec1b9a15ba69ce5366d2a19128078c690d824">+2/-0</a> </td> </tr> <tr> <td><strong>es.json</strong><dd><code>Add correlation “View in Traces” strings</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10328/files#diff-ac2a2167b8b973e3f776f9fe3b43bef4576470d8ad33f3d7cfaff6edff0e5778">+3/-1</a> </td> </tr> <tr> <td><strong>fr.json</strong><dd><code>Add correlation “View in Traces” strings</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10328/files#diff-db80e762b88ddf183820c050cdc6b215e6b02b365b5e73f5152af46b0d26f1a2">+3/-1</a> </td> </tr> <tr> <td><strong>it.json</strong><dd><code>Add correlation “View in Traces” strings</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10328/files#diff-2de78074a5f887afddce60d694ead9322e6ab223eb70251c13819f3028bdc70d">+3/-1</a> </td> </tr> <tr> <td><strong>ja.json</strong><dd><code>Add correlation “View in Traces” strings</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10328/files#diff-092e49c5f9fbc1b539ab9c2866d108d0ce1d314022b4c294eb4611b285e7bbd3">+3/-1</a> </td> </tr> <tr> <td><strong>ko.json</strong><dd><code>Add correlation “View in Traces” strings</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10328/files#diff-50e27ca1b4825a5026f3a251bfcf79c97cab07cfade2ebd512d332453d707c48">+3/-1</a> </td> </tr> <tr> <td><strong>nl.json</strong><dd><code>Add correlation “View in Traces” strings</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10328/files#diff-a1706021687ae5d8a1c006c49eab3946174fecd895f9b70a89c2e76d97250906">+3/-1</a> </td> </tr> <tr> <td><strong>pt.json</strong><dd><code>Add correlation “View in Traces” strings</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10328/files#diff-38e804f64cb5e0e451849fc84e9b46e53c954a4a4263d51c18665ad45f4b4815">+3/-1</a> </td> </tr> <tr> <td><strong>tr.json</strong><dd><code>Add correlation “View in Traces” strings</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10328/files#diff-6f0f131e9e2591480c4c5d1eaffc72d02dc31cbd8d3f90d8f012f08cabac8818">+3/-1</a> </td> </tr> <tr> <td><strong>zh.json</strong><dd><code>Add correlation “View in Traces” strings</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10328/files#diff-8818055db58f83230aeea4ebfd4cec31d924e8c47b6f91298e356959ab25339e">+3/-1</a> </td> </tr> </table></details></td></tr></tr></tbody></table> </details> ___ --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> |
||
|
|
571be3e746 |
fix: include functions validation in mcp (#10324)
### **PR Type**
Documentation, Enhancement
___
### **Description**
- Update function test endpoint docs
- Clarify VRL/JS validation behavior
- Add MCP extension metadata
___
### Diagram Walkthrough
```mermaid
flowchart LR
A["/api/{org_id}/functions/test endpoint"] -- "updates OpenAPI summary/description" --> B["Clearer VRL/JS validation docs"]
A["/api/{org_id}/functions/test endpoint"] -- "adds extension" --> C["x-o2-mcp category metadata"]
```
<details> <summary><h3> File Walkthrough</h3></summary>
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Documentation</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>mod.rs</strong><dd><code>Refine testFunction docs and
MCP metadata</code>
</dd></summary>
<hr>
src/handler/http/request/functions/mod.rs
<ul><li>Change OpenAPI summary to validation focus<br> <li> Rewrite
description to emphasize syntax validation<br> <li> Document
<code>trans_type</code> VRL/JS options<br> <li> Add
<code>x-o2-mcp</code> OpenAPI extension metadata</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10324/files#diff-a5e1b3644cef9feb689dfe66382e44e5434ecadbff3469127346a333d4733102">+6/-5</a>
</td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
|
||
|
|
6e8426feb3 | fix: pick up fqn based on lastest update (#10334) | ||
|
|
ea260e774d |
fix: select * from stream limit 10 not work sometime (#10333)
close #10278 |
||
|
|
7df19cb00a |
fix: incident graphs and service graphs improvements (#10318)
### **User description**
## Changes
### 1. Reduce alert graph edge explosion
- Modified temporal edge logic to prevent O(n²) growth
- Changed same-service edges to only connect to most recent previous
alert
- Changed cross-service temporal edges to connect to chronologically
closest alert
- **Impact**: 88% reduction in edges (16 instead of 136 for 17 alerts)
### 2. Improve correlation error handling
- Added fallback mechanism when service registry is empty
- Better error messages for correlation failures
- Enhanced incident detail view with clearer feedback
**Files modified:**
- `src/service/alerts/incidents.rs`
- Incident correlation handling
___
### **PR Type**
Bug fix, Enhancement
___
### **Description**
- Prevent alert topology edge explosion
- Add frontend fallback incident correlation
- Improve correlation tab empty/error UX
- Share time/stream state across tabs
___
### Diagram Walkthrough
```mermaid
flowchart LR
A["Incident alerts ingested"]
B["Topology enrichment"]
C["Same-service temporal chain"]
D["Cross-service edges"]
E["ServiceGraph tab shared state"]
F["Incident detail correlation"]
G["FQN-priority drift detection"]
H["Frontend fallback correlation"]
A -- "build graph" --> B
B -- "temporal edges" --> C
B -- "dependency edges" --> D
E -- "share datetime/stream" --> B
F -- "fetch correlated streams" --> G
G -- "if not drift" --> H
```
<details> <summary><h3> File Walkthrough</h3></summary>
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Bug
fix</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>convertTraceData.ts</strong><dd><code>Simplify
service-graph tree request metrics</code>
</dd></summary>
<hr>
web/src/utils/traces/convertTraceData.ts
<ul><li>Use incoming edge metrics for non-root<br> <li> Root sums
outgoing edge request counts<br> <li> Default root error rate to
zero<br> <li> Keep connection count as in+out</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10318/files#diff-f236b4107f8b11c8281dec8279238d02309a3c958bd1ee2076716df56b00c057">+5/-6</a>
</td>
</tr>
<tr>
<td>
<details>
<summary><strong>incidents.rs</strong><dd><code>Limit temporal topology
edges to nearest alerts</code>
</dd></summary>
<hr>
src/service/alerts/incidents.rs
<ul><li>Same-service temporal edge targets most recent prior<br> <li>
Keep full ServiceDependency edges when SG edge exists<br> <li> For
non-dependent services, link to closest later alert<br> <li> Avoid
duplicate edges with type-specific checks</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10318/files#diff-2411d921fd8b8783c049deea11da06726ed986550d405477d486234892353ca9">+80/-47</a>
</td>
</tr>
</table></td></tr><tr><td><strong>Enhancement</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>IncidentDetailDrawer.vue</strong><dd><code>Add fallback
correlation and improve tab states</code>
</dd></summary>
<hr>
web/src/components/alerts/IncidentDetailDrawer.vue
<ul><li>Show refresh header only when streams exist<br> <li> Unify
error/no-data states with clearer messaging<br> <li> Detect FQN priority
changes post-incident creation<br> <li> Build frontend fallback
correlation from schema mapping</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10318/files#diff-6973d58a5f49658b07d3533d4db5d32cc6430433b51732481e7497243dadb0b0">+217/-72</a></td>
</tr>
<tr>
<td>
<details>
<summary><strong>ServiceGraph.vue</strong><dd><code>Share Service Graph
time/stream with traces state</code>
</dd></summary>
<hr>
web/src/plugins/traces/ServiceGraph.vue
<ul><li>Bind datetime picker to <code>searchObj.data.datetime</code><br>
<li> Use shared <code>searchObj.data.stream.*</code> for stream
lists<br> <li> Remove local stream/time state and duplicate stream
loading<br> <li> Simplify empty-state guidance and code styling</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10318/files#diff-da1aabfbe74e57c02db16fc5d3e00cd76dc76bf0ad9b57f9dfda7d6d9da06129">+50/-181</a></td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
---------
Co-authored-by: sai nikhil kethe <nikhil@openobserve.ai>
|
||
|
|
41d0c591a6 | fix: if stream size is NaN, show 0 MB instead of showing NaN on UI (#10239) | ||
|
|
ac44893e8b | fix: rbac for alert generate sql api (#10325) | ||
|
|
035bbea25d |
refactor: redesign the query inspector with the colorize query in query-inspector (#10249)
### **PR Type**
Enhancement
___
### **Description**
- Add Monaco-based query colorization utility
- Redesign QueryInspector component UI layout
- Implement search highlighting and copy notifications
- Make colorization reactive on mount and data changes
___
<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><table>
<tr>
<td>
<details>
<summary><strong>colorizeQuery.ts</strong><dd><code>Add query
colorization utility</code>
</dd></summary>
<hr>
web/src/utils/query/colorizeQuery.ts
<ul><li>Register PromQL, VRL, and SQL languages<br> <li> Implement async
<code>colorizeQuery</code> function<br> <li> Prevent duplicate language
registrations<br> <li> Handle colorization errors gracefully</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10249/files#diff-58f1e967db31a700d3ad2387bd4c9330a14995f4e6f48bcaf0ee5074816c2c8f">+42/-0</a>
</td>
</tr>
<tr>
<td>
<details>
<summary><strong>QueryInspector.vue</strong><dd><code>Redesign
QueryInspector UI and logic</code>
</dd></summary>
<hr>
web/src/components/dashboards/QueryInspector.vue
<ul><li>Revamp UI with styled layout and search input<br> <li> Integrate
<code>colorizeQuery</code> for syntax highlighting<br> <li> Add
search-term highlighting and copy notifications<br> <li> Reactively
update colorization on mount/watch<br> <li> Include custom scrollbar
styling</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10249/files#diff-ffe50532d3e00a45f4fd570bf0e852658b382fc05982f6c0afca2a7e8940316d">+318/-73</a></td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
---------
Co-authored-by: ktx-vaidehi <vaidehi.akhani@kiara.tech>
Co-authored-by: ktx-akshay <akshay.patil@kiara.tech>
|
||
|
|
19034ca3a4 | feat: support memory profiling with jemalloc and cpu profiling (#10317) | ||
|
|
6a0ebc505b | fix: change domain management method from post to put (#10320) | ||
|
|
054cf84e9b |
fix: Logs telemetry correlation traces improvements (#10316)
### **PR Type** Enhancement, Bug fix ___ ### **Description** - Embed `TraceDetails` into correlation traces - Add standalone/embedded modes to `TraceDetails` - Enable “Open in Traces” navigation - Update i18n for new label ___ ### Diagram Walkthrough ```mermaid flowchart LR tcd["TelemetryCorrelationDashboard (correlation UI)"] td["TraceDetails (standalone/embedded)"] tds["TraceDetailsSidebar (mode-aware)"] rtr["Router: `traces` route"] i18n["Locales: `traces.openInTraces`"] tcd -- "passes trace id, spans, time range" --> td td -- "renders sidebar with `parentMode`" --> tds td -- "expand/open in traces" --> rtr td -- "uses label" --> i18n ``` <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>2 files</summary><table> <tr> <td><strong>TelemetryCorrelationDashboard.vue</strong><dd><code>Replace spans table with embedded TraceDetails</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10316/files#diff-b77a766fa0094f641873071a8f13c73704933b941f387ed105e85a4e59efdb38">+99/-233</a></td> </tr> <tr> <td><strong>TraceDetails.vue</strong><dd><code>Add embedded mode and conditional UI</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10316/files#diff-bc7fe6b6339ee2cde6494c0982d4b860847447e79f7431f07d598e0446df06f2">+391/-109</a></td> </tr> </table></details></td></tr><tr><td><strong>Bug fix</strong></td><td><details><summary>1 files</summary><table> <tr> <td><strong>TraceDetailsSidebar.vue</strong><dd><code>Hide standalone-only actions in embedded mode</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10316/files#diff-0017bc08d8da96af6433770d0b274f825798d24401b33ce091b16a50fbaf4b57">+14/-3</a> </td> </tr> </table></details></td></tr><tr><td><strong>Documentation</strong></td><td><details><summary>11 files</summary><table> <tr> <td><strong>de.json</strong><dd><code>Add `traces.openInTraces` translation key</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10316/files#diff-78f24ecb2dbcfc38fdf3ec22b2559a5b40d236ea689d1c55f5d3e87168310264">+2/-1</a> </td> </tr> <tr> <td><strong>en.json</strong><dd><code>Add `traces.openInTraces` base string</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10316/files#diff-892aa3d75ab6e129ef9116aa21bec1b9a15ba69ce5366d2a19128078c690d824">+1/-0</a> </td> </tr> <tr> <td><strong>es.json</strong><dd><code>Add `traces.openInTraces` translation key</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10316/files#diff-ac2a2167b8b973e3f776f9fe3b43bef4576470d8ad33f3d7cfaff6edff0e5778">+2/-1</a> </td> </tr> <tr> <td><strong>fr.json</strong><dd><code>Add `traces.openInTraces` translation key</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10316/files#diff-db80e762b88ddf183820c050cdc6b215e6b02b365b5e73f5152af46b0d26f1a2">+2/-1</a> </td> </tr> <tr> <td><strong>it.json</strong><dd><code>Add `traces.openInTraces` translation key</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10316/files#diff-2de78074a5f887afddce60d694ead9322e6ab223eb70251c13819f3028bdc70d">+2/-1</a> </td> </tr> <tr> <td><strong>ja.json</strong><dd><code>Add `traces.openInTraces` translation key</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10316/files#diff-092e49c5f9fbc1b539ab9c2866d108d0ce1d314022b4c294eb4611b285e7bbd3">+2/-1</a> </td> </tr> <tr> <td><strong>ko.json</strong><dd><code>Add `traces.openInTraces` translation key</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10316/files#diff-50e27ca1b4825a5026f3a251bfcf79c97cab07cfade2ebd512d332453d707c48">+2/-1</a> </td> </tr> <tr> <td><strong>nl.json</strong><dd><code>Add `traces.openInTraces` translation key</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10316/files#diff-a1706021687ae5d8a1c006c49eab3946174fecd895f9b70a89c2e76d97250906">+2/-1</a> </td> </tr> <tr> <td><strong>pt.json</strong><dd><code>Add `traces.openInTraces` translation key</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10316/files#diff-38e804f64cb5e0e451849fc84e9b46e53c954a4a4263d51c18665ad45f4b4815">+2/-1</a> </td> </tr> <tr> <td><strong>tr.json</strong><dd><code>Add `traces.openInTraces` translation key</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10316/files#diff-6f0f131e9e2591480c4c5d1eaffc72d02dc31cbd8d3f90d8f012f08cabac8818">+2/-1</a> </td> </tr> <tr> <td><strong>zh.json</strong><dd><code>Add `traces.openInTraces` translation key</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10316/files#diff-8818055db58f83230aeea4ebfd4cec31d924e8c47b6f91298e356959ab25339e">+2/-1</a> </td> </tr> </table></details></td></tr></tr></tbody></table> </details> ___ --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> |
||
|
|
b23f6273b7 | fix: o2 assistant issues (#10315) | ||
|
|
af49782be6 | chore(deps): bump lodash-es from 4.17.22 to 4.17.23 in /web (#10143) | ||
|
|
47d20352d5 | chore(deps): bump lodash from 4.17.21 to 4.17.23 in /web (#10144) | ||
|
|
cef79a7419 | chore(deps): bump oneshot from 0.1.8 to 0.1.13 (#10191) | ||
|
|
fac4b9eecc | fix: result cache delta end time to fix duplicates during delta search (#10313) | ||
|
|
a621982d32 |
fix: 10310 tanstack table implementation on logs tab in traces detail page (#10311)
### **PR Type** Enhancement ___ ### **Description** - Introduce `hideDimensionFilters` prop for correlated logs - Conditionally render dimension filters in tables - Update UI layouts: container height and sidebar widths - Replace `TelemetryCorrelationDashboard` with `CorrelatedLogsTable` - Add span selection highlighting and reload logic on span change ___ <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>useCorrelatedLogs.ts</strong><dd><code>Add `hideDimensionFilters` to CorrelatedLogsProps</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10311/files#diff-310992fb4914c6eaffbbce225e0c0683c2edad2bb0ab0f8e43530fc38152ed2a">+1/-0</a> </td> </tr> <tr> <td><strong>CorrelatedLogsTable.vue</strong><dd><code>Conditionally render dimension filters in table</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10311/files#diff-57e0ec3ac2762de21e67254edf83a4559490f717a8826762c0566fa3b70b6fb8">+2/-1</a> </td> </tr> <tr> <td><strong>TelemetryCorrelationDashboard.vue</strong><dd><code>Add filter toggle in TelemetryCorrelationDashboard props</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10311/files#diff-b77a766fa0094f641873071a8f13c73704933b941f387ed105e85a4e59efdb38">+2/-0</a> </td> </tr> <tr> <td><strong>DetailTable.vue</strong><dd><code>Pass `hide-dimension-filters` to logs correlation table</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10311/files#diff-80552b5d25fa6cef9fbbe430b1865d761c4b132284c2d2175afceea8cbabc8c7">+3/-0</a> </td> </tr> <tr> <td><strong>TraceDetails.vue</strong><dd><code>Adjust sidebar widths and pass `selectedSpanId`</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10311/files#diff-bc7fe6b6339ee2cde6494c0982d4b860847447e79f7431f07d598e0446df06f2">+18/-7</a> </td> </tr> <tr> <td><strong>TraceDetailsSidebar.vue</strong><dd><code>Replace dashboard with `CorrelatedLogsTable` in sidebar</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10311/files#diff-0017bc08d8da96af6433770d0b274f825798d24401b33ce091b16a50fbaf4b57">+12/-6</a> </td> </tr> <tr> <td><strong>TraceTree.vue</strong><dd><code>Add span selection highlight and hover logic</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10311/files#diff-5d1fa8ba4d433439860b4bc036fb80e3e1b51948616dc04b1bfd1f9110a87091">+26/-1</a> </td> </tr> </table></details></td></tr></tr></tbody></table> </details> ___ |
||
|
|
c34988a3ea |
fix: insights traces changes (#10304)
### **PR Type** Enhancement ___ ### **Description** - Introduce `timeStart`/`timeEnd` in filters - Enable baseline-only and comparison modes - Conditional single vs comparison query logic - Always show Insights button and update translations ___ ### Diagram Walkthrough ```mermaid flowchart LR start["Open analysis"] start -- "Has time filters?" --> comp["Comparison mode"] start -- "No time filters" --> base["Baseline-only mode"] comp -- "Query both ranges" --> merge["Merge & score"] base -- "Use baseline only" --> sort["Sort by baseline percent"] ``` <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>3 files</summary><table> <tr> <td><strong>useLatencyInsightsAnalysis.ts</strong><dd><code>Support time-based filters and baseline-only mode</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10304/files#diff-343474bc1f120f5ecebfc595bf0d3151b2db096d9226369c496b7a0cfaa33899">+87/-54</a> </td> </tr> <tr> <td><strong>useLatencyInsightsDashboard.ts</strong><dd><code>Conditional single/comparison query generation</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10304/files#diff-960dec4a653d7c079157499a2473d0e87bd8b61463e1c3f633e7682ba763a4b1">+58/-7</a> </td> </tr> <tr> <td><strong>TracesMetricsDashboard.vue</strong><dd><code>Always show Insights button and update labels</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10304/files#diff-7b6f29a2737d9501b18dbd8622eba4965e4bc2b92115627ae7d2e70cc3382087">+68/-54</a> </td> </tr> </table></details></td></tr><tr><td><strong>Documentation</strong></td><td><details><summary>11 files</summary><table> <tr> <td><strong>de.json</strong><dd><code>Add `volumeInsights.insightsButtonLabel` translation</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10304/files#diff-78f24ecb2dbcfc38fdf3ec22b2559a5b40d236ea689d1c55f5d3e87168310264">+3/-1</a> </td> </tr> <tr> <td><strong>en.json</strong><dd><code>Add insights translation keys to English</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10304/files#diff-892aa3d75ab6e129ef9116aa21bec1b9a15ba69ce5366d2a19128078c690d824">+2/-0</a> </td> </tr> <tr> <td><strong>es.json</strong><dd><code>Add insights translation keys to Spanish</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10304/files#diff-ac2a2167b8b973e3f776f9fe3b43bef4576470d8ad33f3d7cfaff6edff0e5778">+3/-1</a> </td> </tr> <tr> <td><strong>fr.json</strong><dd><code>Add insights translation keys to French</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10304/files#diff-db80e762b88ddf183820c050cdc6b215e6b02b365b5e73f5152af46b0d26f1a2">+3/-1</a> </td> </tr> <tr> <td><strong>it.json</strong><dd><code>Add insights translation keys to Italian</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10304/files#diff-2de78074a5f887afddce60d694ead9322e6ab223eb70251c13819f3028bdc70d">+3/-1</a> </td> </tr> <tr> <td><strong>ja.json</strong><dd><code>Add insights translation keys to Japanese</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10304/files#diff-092e49c5f9fbc1b539ab9c2866d108d0ce1d314022b4c294eb4611b285e7bbd3">+3/-1</a> </td> </tr> <tr> <td><strong>ko.json</strong><dd><code>Add insights translation keys to Korean</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10304/files#diff-50e27ca1b4825a5026f3a251bfcf79c97cab07cfade2ebd512d332453d707c48">+3/-1</a> </td> </tr> <tr> <td><strong>nl.json</strong><dd><code>Add insights translation keys to Dutch</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10304/files#diff-a1706021687ae5d8a1c006c49eab3946174fecd895f9b70a89c2e76d97250906">+3/-1</a> </td> </tr> <tr> <td><strong>pt.json</strong><dd><code>Add insights translation keys to Portuguese</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10304/files#diff-38e804f64cb5e0e451849fc84e9b46e53c954a4a4263d51c18665ad45f4b4815">+3/-1</a> </td> </tr> <tr> <td><strong>tr.json</strong><dd><code>Add insights translation keys to Turkish</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10304/files#diff-6f0f131e9e2591480c4c5d1eaffc72d02dc31cbd8d3f90d8f012f08cabac8818">+3/-1</a> </td> </tr> <tr> <td><strong>zh.json</strong><dd><code>Add insights translation keys to Chinese</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10304/files#diff-8818055db58f83230aeea4ebfd4cec31d924e8c47b6f91298e356959ab25339e">+3/-1</a> </td> </tr> </table></details></td></tr></tr></tbody></table> </details> ___ --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> |
||
|
|
0a1d7196ce | perf: add cache statistics functionality (#10306) | ||
|
|
afe7433938 |
fix: compress size fix (#10309)
### **PR Type**
Bug fix
___
### **Description**
- Corrected cloud configuration condition
- Display compressed size tile when not in cloud
___
<details> <summary><h3> File Walkthrough</h3></summary>
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Bug
fix</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>HomeView.vue</strong><dd><code>Update cloud flag
condition for size tile</code>
</dd></summary>
<hr>
web/src/views/HomeView.vue
<ul><li>Changed v-if from <code>config.isCloud == 'true'</code> to
<code>config.isCloud == </code><br><code>'false'</code><br> <li> Ensures
compressed data size tile displays outside cloud environment</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10309/files#diff-9af441af191d3254ef5f9db603dca75486de7638cda41a3c050e7b3c33d68280">+1/-1</a>
</td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
|
||
|
|
da6fd92027 |
fix: missing language translation (#10165)
### **PR Type** Enhancement ___ ### **Description** - Expanded Hindi locale with 140+ new UI keys - Removed obsolete keys from Chinese locale - Improved translation coverage for themes, alerts, pipelines ___ <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>2 files</summary><table> <tr> <td><strong>hi.json</strong><dd><code>Add extensive Hindi translation keys</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10165/files#diff-1e7b52b5c4e762db2c923d0d3efb6d693702825ed3a1a112d3069f26b0d5f605">+2038/-29</a></td> </tr> <tr> <td><strong>zh.json</strong><dd><code>Remove obsolete Chinese translation keys</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10165/files#diff-8818055db58f83230aeea4ebfd4cec31d924e8c47b6f91298e356959ab25339e">+44/-35</a> </td> </tr> </table></details></td></tr><tr><td><strong>Additional files</strong></td><td><details><summary>9 files</summary><table> <tr> <td><strong>de.json</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/10165/files#diff-78f24ecb2dbcfc38fdf3ec22b2559a5b40d236ea689d1c55f5d3e87168310264">+44/-39</a> </td> </tr> <tr> <td><strong>es.json</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/10165/files#diff-ac2a2167b8b973e3f776f9fe3b43bef4576470d8ad33f3d7cfaff6edff0e5778">+44/-39</a> </td> </tr> <tr> <td><strong>fr.json</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/10165/files#diff-db80e762b88ddf183820c050cdc6b215e6b02b365b5e73f5152af46b0d26f1a2">+44/-39</a> </td> </tr> <tr> <td><strong>it.json</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/10165/files#diff-2de78074a5f887afddce60d694ead9322e6ab223eb70251c13819f3028bdc70d">+44/-39</a> </td> </tr> <tr> <td><strong>ja.json</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/10165/files#diff-092e49c5f9fbc1b539ab9c2866d108d0ce1d314022b4c294eb4611b285e7bbd3">+44/-32</a> </td> </tr> <tr> <td><strong>ko.json</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/10165/files#diff-50e27ca1b4825a5026f3a251bfcf79c97cab07cfade2ebd512d332453d707c48">+44/-39</a> </td> </tr> <tr> <td><strong>nl.json</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/10165/files#diff-a1706021687ae5d8a1c006c49eab3946174fecd895f9b70a89c2e76d97250906">+44/-39</a> </td> </tr> <tr> <td><strong>pt.json</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/10165/files#diff-38e804f64cb5e0e451849fc84e9b46e53c954a4a4263d51c18665ad45f4b4815">+44/-39</a> </td> </tr> <tr> <td><strong>tr.json</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/10165/files#diff-6f0f131e9e2591480c4c5d1eaffc72d02dc31cbd8d3f90d8f012f08cabac8818">+44/-39</a> </td> </tr> </table></details></td></tr></tr></tbody></table> </details> ___ |
||
|
|
0d19065b31 |
fix: Correlation settings UI issues (#10298)
### **PR Type** Enhancement, Bug fix ___ ### **Description** - Add JSON import drawer for semantic groups - Merge imported groups and validate IDs - Set default `alert_dedup_enabled` to false - Enforce scope-first order in FQN priority - Generate group IDs on blur and prevent duplicates ___ ### Diagram Walkthrough ```mermaid flowchart LR File["Select JSON file"] -->|loadFile| Preview["Preview diff"] Preview -->|select additions/modifications| Selection["Selected items"] Selection -->|handleApply| Parent["Emit merged groups"] ``` <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>4 files</summary><table> <tr> <td><strong>ImportSemanticGroupsDrawer.vue</strong><dd><code>Add import drawer for semantic groups</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10298/files#diff-9e8166bba8b3b84cd98d44be5b85212f4c8b018cf370bdc69a279e290914fb7d">+640/-0</a> </td> </tr> <tr> <td><strong>SemanticFieldGroupsConfig.vue</strong><dd><code>Integrate import drawer and generate group IDs</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10298/files#diff-1c5890d42337715bb86ba5c025148e41cc72b9ab6fe19e10a4eb0411554162de">+98/-25</a> </td> </tr> <tr> <td><strong>SemanticGroupItem.vue</strong><dd><code>Generate ID on display blur and validate</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10298/files#diff-416d80d707542beaa5d710fa4f1e0e573e0abf81110a6b15558271a7b6f157ea">+28/-14</a> </td> </tr> <tr> <td><strong>ServiceIdentityConfig.vue</strong><dd><code>Improve FQN priority UI and sorting</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10298/files#diff-25b25407f85be211af5760a897e5442beef913af6b031c351c50dbb70eed2bcd">+633/-359</a></td> </tr> </table></details></td></tr><tr><td><strong>Bug fix</strong></td><td><details><summary>1 files</summary><table> <tr> <td><strong>OrganizationDeduplicationSettings.vue</strong><dd><code>Default `alert_dedup_enabled` to false</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10298/files#diff-f526d40b50f1e96f025973c6fc251f7a50f698c641c7749b32e6bb90b9ba032f">+4/-4</a> </td> </tr> </table></details></td></tr><tr><td><strong>Formatting</strong></td><td><details><summary>2 files</summary><table> <tr> <td><strong>DiscoveredServices.vue</strong><dd><code>Adjust padding on view mode toggle</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10298/files#diff-b29e770c74e783552f21665d8e4e8c77abc7a51c6415101f16e2724061c57d9e">+1/-0</a> </td> </tr> <tr> <td><strong>BasicValuesFilter.vue</strong><dd><code>Convert style widths to rem units</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10298/files#diff-3ec23f0cdf1bbf9075cfc995045d2597f9d9adb2a64ec55be7f3b9cf9da2e9ea">+11/-9</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 duplicate and empty ID error messages</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10298/files#diff-892aa3d75ab6e129ef9116aa21bec1b9a15ba69ce5366d2a19128078c690d824">+3/-1</a> </td> </tr> </table></details></td></tr></tr></tbody></table> </details> ___ |
||
|
|
bfcf6f3b97 |
fix: show panel on unhide (#10302)
### **PR Type**
Enhancement
___
### **Description**
- Add panel data caching for hide/unhide optimization
- Enhance addMetricPanels: reuse cache and generate new panels
- Debounce stream changes to batch hide/unhide events
- Improve full reload fallback and cache logging
___
### Diagram Walkthrough
```mermaid
flowchart LR
A["Metric stream change"] --> B["Debounce (300ms)"]
B --> C{"Panels to remove?"}
C -- "Yes" --> D["Clear dashboard and full reload"]
C -- "No" --> E{"New streams to add?"}
E -- "Yes" --> F["addMetricPanels"]
F --> G{"Cache hit?"}
G -- "Yes" --> H["Reuse cached panels"]
G -- "No" --> I["Fetch schemas and generate panels"]
H --> J["Update layout & append panels"]
I --> J
J --> K["Refresh GridStack twice"]
```
<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><table>
<tr>
<td>
<details>
<summary><strong>TelemetryCorrelationDashboard.vue</strong><dd><code>Caching
and debounce in metric panels</code>
</dd></summary>
<hr>
web/src/plugins/correlation/TelemetryCorrelationDashboard.vue
<ul><li>Introduce <code>panelDataCache</code>, caching and debounce
constants<br> <li> Update <code>addMetricPanels</code> to reuse cache
and generate panels<br> <li> Debounce hide/unhide in stream watcher with
batching logic<br> <li> Add cache logging and extra GridStack
refresh</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10302/files#diff-b77a766fa0094f641873071a8f13c73704933b941f387ed105e85a4e59efdb38">+161/-55</a></td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
|
||
|
|
e52dacb4b2 |
fix: alert destinations (#10301)
### **PR Type**
Enhancement, Tests
___
### **Description**
- Support backend-managed prebuilt templates
- Cache and fetch templates with async preview
- Rename templates prefix to `prebuilt_`, update tests
- Add backend ensure_system_templates & template reuse
___
### Diagram Walkthrough
```mermaid
flowchart LR
BL["Backend load_prebuilt_config & builtins"]
Endpoint["GET /api/{org}/alerts/templates/system/prebuilt"]
FE["Frontend fetchSystemTemplates()"]
Cache["systemTemplatesCache in memory"]
Generate["generatePreview/testDestination"]
UI["UI preview/test buttons"]
BL -- "provides templates" --> Endpoint
Endpoint -- "called by" --> FE
FE -- "stores in" --> Cache
Cache -- "used by" --> Generate
Generate -- "triggers" --> UI
```
<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>14
files</summary><table>
<tr>
<td><strong>usePrebuiltDestinations.ts</strong><dd><code>Implement
fetchSystemTemplates and caching logic</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-2c90b706aae7486541bbee80d2c67c9de18504b90e1d9618ba130e017d0a5246">+195/-28</a></td>
</tr>
<tr>
<td><strong>slack.ts</strong><dd><code>Rename slack template to
`prebuilt_slack`</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-f7068d6fc979cc1fbc6e2bc562be53f5453fc874b367c1688adf70c0896aac62">+41/-45</a>
</td>
</tr>
<tr>
<td><strong>email.ts</strong><dd><code>Rename email template and remove
CC/subject</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-3e756aefde39bd7c780066f6ee6e22df1f2846f5e0013fd6ec568a98dd54f64b">+18/-16</a>
</td>
</tr>
<tr>
<td><strong>servicenow.ts</strong><dd><code>Rename ServiceNow template
to `prebuilt_servicenow`</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-3790cdccf9f6221cf55c86664b4cbfb65d20f3da9db719167898b8b76b698a2f">+2/-2</a>
</td>
</tr>
<tr>
<td><strong>alert_templates.ts</strong><dd><code>Add
`get_system_templates` API call</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-fd8c4260abc3df601e4331d36b0c211eca568ee70139ad90c87247bc552fe4e2">+3/-0</a>
</td>
</tr>
<tr>
<td><strong>prebuilt_loader.rs</strong><dd><code>Add
get_prebuilt_template and fallback loader</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-d75e85b239701cb3c9e85c15a8a5cd8d23120a4b5ba0a61003c0df1f4854b74d">+345/-10</a></td>
</tr>
<tr>
<td><strong>destinations.rs</strong><dd><code>Implement
ensure_prebuilt_template & reuse logic</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-c06292c108cc15b585a0e3318fd15d3e86c1f1a0f001ab84fff85facefd3c4d3">+420/-1</a>
</td>
</tr>
<tr>
<td><strong>templates.rs</strong><dd><code>Add ensure_system_templates
initialization</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-975d7665f1439ca49810c28554f85e513ff3a4c8b849f2bb1966536230951464">+86/-0</a>
</td>
</tr>
<tr>
<td><strong>templates.rs</strong><dd><code>Expose GET system prebuilt
templates endpoint</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-b08e274a64cc935b0cec402a04271a872b1586027a77dc0ccb84c597c3960f61">+54/-0</a>
</td>
</tr>
<tr>
<td><strong>AddDestination.vue</strong><dd><code>Update form logic for
prebuilt vs custom</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-61b295458e13049a538f5014124855d58dce664dfbd644b57a964a37a07b7a3f">+123/-66</a></td>
</tr>
<tr>
<td><strong>DestinationTestResult.vue</strong><dd><code>Improve test
error message handling</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-1fa17c0e52becd683dec1bbee12aab6823b28c1bbedca0d5039d688527f826e5">+29/-2</a>
</td>
</tr>
<tr>
<td><strong>AlertsDestinationList.vue</strong><dd><code>Add custom
destination label logic</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-e9d05ba6c071c0e2f5d9ef7acdef757f79910abd6897b29e27b069a10d4ba8de">+15/-2</a>
</td>
</tr>
<tr>
<td><strong>PrebuiltDestinationForm.vue</strong><dd><code>Comment out
unsupported email fields</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-606eb6f7e6e43518cc9b1f3194097c52acf3df0df9ab5945274196d7221035a0">+3/-2</a>
</td>
</tr>
<tr>
<td><strong>pagerduty.ts</strong><dd><code>Rename PagerDuty template to
`prebuilt_pagerduty`</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-a216d76143343db3aec8efe02596be53b438813aa2aa8af2fb1080e17f5540aa">+2/-2</a>
</td>
</tr>
</table></details></td></tr><tr><td><strong>Tests</strong></td><td><details><summary>5
files</summary><table>
<tr>
<td><strong>templates.spec.ts</strong><dd><code>Update tests to use
`prebuilt_` prefix</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-262b3003a3045192e0aaccddebe76bdb29fcd68655e8bacfd486e50575a14801">+9/-9</a>
</td>
</tr>
<tr>
<td><strong>types.spec.ts</strong><dd><code>Adjust PrebuiltConfig tests
for new prefix</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-67fc167ebe4d6a433579ba9850a6d7ce3a83d97bebe410521f85775a948595fc">+4/-4</a>
</td>
</tr>
<tr>
<td><strong>alertDestinationsPage.js</strong><dd><code>Update selector
for test result element</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-57e5c53b4ef998b3d8708149620ff94dcc46807927f1a3a9e9f28ed3ebe25b0a">+3/-1</a>
</td>
</tr>
<tr>
<td><strong>alerts-destinations-prebuilt.spec.js</strong><dd><code>Add
random name for Slack destination test</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-0295825c868c1d1ed5cc194ba04843a7d5f4e58decff2593c7d9bd5b29ec33a4">+1/-0</a>
</td>
</tr>
<tr>
<td><strong>discord.spec.ts</strong><dd><code>Update Discord tests for
new prefix</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-21a02fd01b42452d1f13140715e5f81146b7a62d61d4b899deea4f30be06284e">+2/-2</a>
</td>
</tr>
</table></details></td></tr><tr><td><strong>Configuration
changes</strong></td><td><details><summary>1 files</summary><table>
<tr>
<td><strong>mod.rs</strong><dd><code>Route for system prebuilt templates
API</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-02556e3f515441b5d2b6bbea7829df488beac03c4cc41309a6638ae3c0e0aec6">+1/-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 custom destination translation
keys</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-892aa3d75ab6e129ef9116aa21bec1b9a15ba69ce5366d2a19128078c690d824">+5/-1</a>
</td>
</tr>
</table></details></td></tr><tr><td><strong>Additional
files</strong></td><td><details><summary>25 files</summary><table>
<tr>
<td><strong>auth.rs</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-9bc2b1841504a435f66ad094f72ddbe7b7fa75e5e1557b8adbfe36f7f0592e1b">+20/-0</a>
</td>
</tr>
<tr>
<td><strong>openapi.rs</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-edb8ce232c0cd08366879f642788a75d99f6bab64b4c0e77391281fdb9241e90">+1/-0</a>
</td>
</tr>
<tr>
<td><strong>mod.rs</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-f2e4c29b8eef22189ec704a832633c4bd135a24444f054864c98064bd0963681">+8/-2</a>
</td>
</tr>
<tr>
<td><strong>main.rs</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-42cb6807ad74b3e201c5a7ca98b911c5fa08380e942be6e4ac5807f8377f87fc">+5/-5</a>
</td>
</tr>
<tr>
<td><strong>destinations.rs</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-4652ac6be3f7cf720faf5b9c4cb1d5dbab9e2fed608f3abbe295fb270dde54b5">+6/-0</a>
</td>
</tr>
<tr>
<td><strong>de.json</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-78f24ecb2dbcfc38fdf3ec22b2559a5b40d236ea689d1c55f5d3e87168310264">+5/-1</a>
</td>
</tr>
<tr>
<td><strong>es.json</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-ac2a2167b8b973e3f776f9fe3b43bef4576470d8ad33f3d7cfaff6edff0e5778">+5/-1</a>
</td>
</tr>
<tr>
<td><strong>fr.json</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-db80e762b88ddf183820c050cdc6b215e6b02b365b5e73f5152af46b0d26f1a2">+5/-1</a>
</td>
</tr>
<tr>
<td><strong>it.json</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-2de78074a5f887afddce60d694ead9322e6ab223eb70251c13819f3028bdc70d">+5/-1</a>
</td>
</tr>
<tr>
<td><strong>ja.json</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-092e49c5f9fbc1b539ab9c2866d108d0ce1d314022b4c294eb4611b285e7bbd3">+5/-1</a>
</td>
</tr>
<tr>
<td><strong>ko.json</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-50e27ca1b4825a5026f3a251bfcf79c97cab07cfade2ebd512d332453d707c48">+5/-1</a>
</td>
</tr>
<tr>
<td><strong>nl.json</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-a1706021687ae5d8a1c006c49eab3946174fecd895f9b70a89c2e76d97250906">+5/-1</a>
</td>
</tr>
<tr>
<td><strong>pt.json</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-38e804f64cb5e0e451849fc84e9b46e53c954a4a4263d51c18665ad45f4b4815">+5/-1</a>
</td>
</tr>
<tr>
<td><strong>tr.json</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-6f0f131e9e2591480c4c5d1eaffc72d02dc31cbd8d3f90d8f012f08cabac8818">+5/-1</a>
</td>
</tr>
<tr>
<td><strong>zh.json</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-8818055db58f83230aeea4ebfd4cec31d924e8c47b6f91298e356959ab25339e">+5/-1</a>
</td>
</tr>
<tr>
<td><strong>discord.ts</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-e4703f8270d000f785a48aa220752f303d2330b6e123817310ecb8a60815fb0b">+2/-2</a>
</td>
</tr>
<tr>
<td><strong>email.spec.ts</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-744915b43017fdc102b0e00d157d7deef4b1f23e0e8e5cb483c2f2c9d6af655c">+2/-2</a>
</td>
</tr>
<tr>
<td><strong>index.spec.ts</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-9b9a6bc1e17f1874fda50428263ff607dca3ba94b01f95933f179ba544f6e11a">+1/-1</a>
</td>
</tr>
<tr>
<td><strong>msteams.spec.ts</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-6815fa747fe74c5cd6835f9fce8f037c15489fab95e399e15199a104c0c08061">+2/-2</a>
</td>
</tr>
<tr>
<td><strong>msteams.ts</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-efeec26ed5ec589000448466539dcdb0d7bb918e8a4f80c9df565eaa1e522b5c">+2/-2</a>
</td>
</tr>
<tr>
<td><strong>opsgenie.spec.ts</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-2560842b70b2f74eb3ef2c940e0a55500b3bd5b89a9b5b34e3c0039c57fc1361">+2/-2</a>
</td>
</tr>
<tr>
<td><strong>opsgenie.ts</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-9412abdf9baf6b8c0cc87fa3ea0efec50928399c0112ad695c021040d24d7c3a">+2/-2</a>
</td>
</tr>
<tr>
<td><strong>pagerduty.spec.ts</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-f62fcc0b648144816cef61b1f5512ba5e2bc573237158efbd896d33e779282f2">+2/-2</a>
</td>
</tr>
<tr>
<td><strong>servicenow.spec.ts</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-ada67bb0bbeaf97a2e7c6a21a741d53df941306e6c694d1a1d89cf965403ce85">+2/-2</a>
</td>
</tr>
<tr>
<td><strong>slack.spec.ts</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-3fa8b2b7534ebec5c2cea1c76c54741c105b64819bb87e6a7f6d3b5a85969740">+2/-2</a>
</td>
</tr>
</table></details></td></tr></tr></tbody></table>
</details>
___
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
|
||
|
|
5ee50613fd | fix: use error tooltip color for pipeline tooltip (#10217) | ||
|
|
6925ac5659 | fix: compress size tile (#10260) | ||
|
|
03315baae0 | fix: incident detail page issues (#10294) | ||
|
|
9f86567547 | fix: search around honor size even if sql has limit (#10289) | ||
|
|
b139c012a1 |
fix: adding reporting in HTTP models enum (#10277)
### **User description**
OFGA and migration are already working
___
### **PR Type**
Enhancement
___
### **Description**
- Add `Reports` variant to `FolderType`
- Extend `From<FolderType>` conversion mapping
___
<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><table>
<tr>
<td>
<details>
<summary><strong>folders.rs</strong><dd><code>Introduce Reports folder
variant and mapping</code>
</dd></summary>
<hr>
src/handler/http/models/folders.rs
<ul><li>Added <code>Reports</code> variant to <code>FolderType</code>
enum<br> <li> Updated <code>From<FolderType></code> mapping for
<code>Reports</code></ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10277/files#diff-3d6faeebd404db5b13f071895c7d4729bbd62a85c5c7ea6d67c9c69a44babb11">+2/-0</a>
</td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
|
||
|
|
14bcf9af7a |
fix: Simplify issue event logging and payload handling (#10265)
### **User description**
Reduced the types of GitHub issue events to log. Updated the step name
for sending events to OpenObserve and streamlined the payload creation
process.
___
### **PR Type**
Enhancement
___
### **Description**
- reduce logged GitHub issue event types
- streamline payload handling step
- send raw event JSON directly
- remove optional debug logging
___
### Diagram Walkthrough
```mermaid
flowchart LR
A["GitHub issues events"]
B["Filtered issue types trigger"]
C["Prepare raw JSON payload"]
D["OpenObserve ingest endpoint"]
A --> B
B --> C
C -- "POST" --> D
```
<details> <summary><h3> File Walkthrough</h3></summary>
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Configuration
changes</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>log-issues-to-o2.yml</strong><dd><code>Simplify
workflow payload handling</code>
</dd></summary>
<hr>
.github/workflows/log-issues-to-o2.yml
<ul><li>reduced issue event types in trigger<br> <li> renamed send step
to OpenObserve<br> <li> replaced jq JSON build with raw payload<br> <li>
removed debug logging step</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10265/files#diff-09437ebece075b9bf642638da74437927a6da99f27acdceb5e3f74406ab9e567">+5/-105</a>
</td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
|
||
|
|
3493d9d88c |
fix: Issue 1212 UI fixes (#10292)
### **User description**
Issue: ent 1212 correlation fixes
___
### **PR Type**
Bug fix, Enhancement
___
### **Description**
- Implement view-trace navigation in logs
- Add loading, error and empty states to dashboards
- Hide view trace button when config enabled
- Refine correlation metrics error handling
___
### Diagram Walkthrough
```mermaid
flowchart LR
A["User clicks view trace button"] -- "handleViewTrace" --> B["handleViewTrace"]
B -- "router.push traceDetails" --> C["Trace Details Page"]
```
<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><table>
<tr>
<td>
<details>
<summary><strong>CorrelatedLogsTable.vue</strong><dd><code>Implement
view-trace navigation</code>
</dd></summary>
<hr>
web/src/plugins/correlation/CorrelatedLogsTable.vue
<ul><li>Added <code>@view-trace</code> event binding to
TenstackTable<br> <li> Imported <code>useRouter</code> and
<code>searchState</code> for navigation<br> <li> Implemented
<code>handleViewTrace</code> to build and push trace query</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10292/files#diff-57e0ec3ac2762de21e67254edf83a4559490f717a8826762c0566fa3b70b6fb8">+38/-0</a>
</td>
</tr>
<tr>
<td>
<details>
<summary><strong>TelemetryCorrelationDashboard.vue</strong><dd><code>Add
dashboard loading/empty/error states</code>
</dd></summary>
<hr>
web/src/plugins/correlation/TelemetryCorrelationDashboard.vue
<ul><li>Added loading state for logs dashboard<br> <li> Added no-logs
and no-metrics empty states<br> <li> Added error and retry UI for
metrics tab</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10292/files#diff-b77a766fa0094f641873071a8f13c73704933b941f387ed105e85a4e59efdb38">+95/-2</a>
</td>
</tr>
</table></td></tr><tr><td><strong>Bug fix</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>JsonPreview.vue</strong><dd><code>Hide view trace
button based on config</code>
</dd></summary>
<hr>
web/src/plugins/logs/JsonPreview.vue
<ul><li>Define <code>serviceStreamsEnabled</code> flag from
<code>zoConfig</code><br> <li> Hide view trace button when
<code>service_streams_enabled</code> is true</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10292/files#diff-3985073134d35ff074742944b114d0905524038b42e6d2ac887fef2c8436fb16">+4/-0</a>
</td>
</tr>
<tr>
<td>
<details>
<summary><strong>SearchResult.vue</strong><dd><code>Refine correlation
metrics handling</code>
</dd></summary>
<hr>
web/src/plugins/logs/SearchResult.vue
<ul><li>Removed early returns for empty metric streams<br> <li> Always
set <code>metricStreams</code> array and notify instead<br> <li> Cleared
<code>correlationError</code> on row navigation</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10292/files#diff-5e65533aa4754bb6d0074fda18ffc1ecacded3b9ca6bc28a161c3f6b12f20195">+19/-30</a>
</td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
|
||
|
|
f8921f9dbd | fix: route multi search endpoints by body (#10286) | ||
|
|
6e18a14e6f | fix: delete stream when data retention disabled (#10263) | ||
|
|
294118ecca | fix: update routing for Kinesis and GCP requests (#10297) | ||
|
|
ec2a9cc771 |
fix: o2 ai issues when enabled (#10291)
### **User description** This PR fixes the issue in E: 1216 (1 & 3) , E: 1218 , along with append the fields when sending to ai chat ___ ### **PR Type** Enhancement ___ ### **Description** - Add `appendMode` prop for AI Chat - Auto-scroll input on append - Propagate and clear chat context - UI tweaks: widths, toggle styles, splitter ___ ### Diagram Walkthrough ```mermaid flowchart LR SP["ScheduledPipeline.vue"] -- "sendToAiChat(value,append)" --> O2AIChat ML["MainLayout.vue"] -- "sendToAiChat(value,append)" --> O2AIChat O2AIChat["O2AIChat.vue"] --> AM["appendMode prop"] AM -- "true" --> APPEND["append input with separator"] AM -- "false" --> REPLACE["replace input"] APPEND --> SCROLL["scrollInputToBottom()"] ``` <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>10 files</summary><table> <tr> <td><strong>O2AIChat.vue</strong><dd><code>Add `appendMode` prop and scroll input enhancements</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10291/files#diff-a6a125719a7b32b31b53fcfe05c12081d82c139a401699affdda0db8e73887e3">+47/-1</a> </td> </tr> <tr> <td><strong>ScheduledPipeline.vue</strong><dd><code>Propagate `appendMode` and update sendToAiChat signature</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10291/files#diff-63d8f838bb880356e7804b4a57fd9223d4f2c189de7aadc7cf33cba723b29aaf">+10/-1</a> </td> </tr> <tr> <td><strong>MainLayout.vue</strong><dd><code>Bind `appendMode` and clear context after send</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10291/files#diff-91e4134141264c4624d4eb4cfa987b33ed31eb6f551e089c0b26f2610dd54362">+13/-3</a> </td> </tr> <tr> <td><strong>DetailTable.vue</strong><dd><code>Update sendToAiChat to accept `append` parameter</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10291/files#diff-80552b5d25fa6cef9fbbe430b1865d761c4b132284c2d2175afceea8cbabc8c7">+2/-2</a> </td> </tr> <tr> <td><strong>Index.vue</strong><dd><code>Adjust splitter when AI chat opens or closes</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10291/files#diff-0323c3da69b369843c5d72bf4df5b00ca6b5147192a213baf331659ecf92af62">+21/-2</a> </td> </tr> <tr> <td><strong>JsonPreview.vue</strong><dd><code>Extend sendToAiChat signature with `append`</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10291/files#diff-3985073134d35ff074742944b114d0905524038b42e6d2ac887fef2c8436fb16">+2/-2</a> </td> </tr> <tr> <td><strong>SearchBar.vue</strong><dd><code>Add toggle CSS class and dynamic width style</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10291/files#diff-81893de4edf186b0556f610acb280c87baa2ffe67d3b48a60a866094c7635baf">+10/-1</a> </td> </tr> <tr> <td><strong>SearchResult.vue</strong><dd><code>Add `append` flag to sendToAiChat emit</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10291/files#diff-5e65533aa4754bb6d0074fda18ffc1ecacded3b9ca6bc28a161c3f6b12f20195">+2/-2</a> </td> </tr> <tr> <td><strong>TenstackTable.vue</strong><dd><code>Tweak AI button position and append flag support</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10291/files#diff-bc3c669f5ab65a42ae378df1f7d6b35014c9c220790bdcc72b47f55d1385dc22">+5/-5</a> </td> </tr> <tr> <td><strong>Functions.vue</strong><dd><code>Modify sendToAiChat to include `append` argument</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10291/files#diff-ad825ec1b8d58aec9bf5d2553ea09394a30b22ac59d708bcf9e56168ca1daaf6">+2/-2</a> </td> </tr> </table></details></td></tr></tr></tbody></table> </details> ___ |
||
|
|
2c4ae4ea66 |
fix: actions routes and rename role (#10255)
### **User description** - **fix action routes** - **rename script server** ___ ### **PR Type** Enhancement ___ ### **Description** - Rename `ScriptServer` role to `ActionServer` - Add `ActionServer` auth middleware and handlers - Update init, routing, config checks for action server - Enhance `list_actions` logging and error handling ___ ### Diagram Walkthrough ```mermaid flowchart LR Config["Load configuration"] --> Cluster["Cluster role check"] Cluster --> Main["Main init_action_server"] Main --> Router["ActionServer router setup"] Router --> AuthMw["Authentication middleware"] AuthMw --> Handlers["ActionServer request handlers"] Handlers --> Deployer["ACTION_DEPLOYER invocation"] ``` <details> <summary><h3> File Walkthrough</h3></summary> <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Configuration changes</strong></td><td><details><summary>1 files</summary><table> <tr> <td><strong>config.rs</strong><dd><code>Replace ScriptServer role check with ActionServer</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10255/files#diff-9aeee4a74c0520daa40f9b81c7016f5b6b3254375b968dd7598e745630980d62">+2/-2</a> </td> </tr> </table></details></td></tr><tr><td><strong>Refactoring</strong></td><td><details><summary>6 files</summary><table> <tr> <td><strong>cluster.rs</strong><dd><code>Rename ScriptServer variants and methods</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10255/files#diff-a2667c1be522ce095796a7066e02631a7e01acc85a46573e1e3a157d2aefb7c3">+12/-10</a> </td> </tr> <tr> <td><strong>mod.rs</strong><dd><code>Expose action_server auth module</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10255/files#diff-740e95d118f8498bbd4c8b3a56528c33ee98279036f723ed37975347b58600c8">+1/-1</a> </td> </tr> <tr> <td><strong>mod.rs</strong><dd><code>Register action_server request module</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10255/files#diff-a1cfd40da1ab6cd4db0181fd8664965034298047b3b7c3320c5385897a7c4aed">+2/-2</a> </td> </tr> <tr> <td><strong>mod.rs</strong><dd><code>Remove old script_server handlers</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10255/files#diff-2de1185a98f50a00cfe6d7d3984957e96d92e5f5df60290a6263e96fb73bc993">+0/-185</a> </td> </tr> <tr> <td><strong>main.rs</strong><dd><code>Update init and router to action server</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10255/files#diff-42cb6807ad74b3e201c5a7ca98b911c5fa08380e942be6e4ac5807f8377f87fc">+21/-15</a> </td> </tr> <tr> <td><strong>node.rs</strong><dd><code>Map ActionServer to ProtoRole::ScriptServer</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10255/files#diff-2f1dc99535ad93ff353f43538b436a01ee7c3d81c008db0f5dfaf45414f29ec6">+2/-2</a> </td> </tr> </table></details></td></tr><tr><td><strong>Enhancement</strong></td><td><details><summary>3 files</summary><table> <tr> <td><strong>action_server.rs</strong><dd><code>Add ActionServer authentication middleware</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10255/files#diff-0f69b5830bc733a31dfd0fc967302084bc0bc7d2f21e92fa32ae599f2216c479">[link]</a> </td> </tr> <tr> <td><strong>mod.rs</strong><dd><code>Implement ActionServer request handlers</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10255/files#diff-c125d4ccb837b4dbf987658592af12e0858a1269c2e5ef2b1d1587bbcdb99d47">+244/-0</a> </td> </tr> <tr> <td><strong>action.rs</strong><dd><code>Add logging and error details to list_actions</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10255/files#diff-616df3014c553f763ea57e925f1bff7bb47f9467c632940d93a45b7b1e4c3a07">+26/-11</a> </td> </tr> </table></details></td></tr></tr></tbody></table> </details> ___ |
||
|
|
e0a2209ebe |
feat: add DateTime picker to service graph and rename tab (#10283)
### **User description** ## Summary Adds DateTime picker to service graph allowing users to select custom time ranges for visualization. Also rename the tab from `Service Maps` to `Service Graphs`. ## Changes - Add DateTime component to ServiceGraph.vue - Update service graph service to pass start_time/end_time parameters - Backend API already supports custom time range queries - Rename tab name and address to service graphs (from service maps) |
||
|
|
c0b6521458 |
fix: path for logo/text (#10275)
### **User description**
the path for text was incorrectly specified
___
### **PR Type**
Bug fix
___
### **Description**
- Correct logo text route path
___
<details> <summary><h3> File Walkthrough</h3></summary>
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Bug
fix</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>mod.rs</strong><dd><code>Update logo text route
path</code>
</dd></summary>
<hr>
src/handler/http/router/mod.rs
<ul><li>Adjusted logo text endpoint path<br> <li> Changed route from
<code>/settings/logo_text</code> to
<code>/settings/logo/text</code></ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10275/files#diff-02556e3f515441b5d2b6bbea7829df488beac03c4cc41309a6638ae3c0e0aec6">+1/-1</a>
</td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
Signed-off-by: Yashodhan Joshi <yjdoc2@gmail.com>
Co-authored-by: Yashodhan Joshi <yjdoc2@gmail.com>
|
||
|
|
a0c7e73e9b |
fix: Issue 1212 correlation UI issues (#10279)
### **User description** issue id: ent-1212 ___ ### **PR Type** Enhancement ___ ### **Description** - Add select/deselect-all and drag-and-drop column reorder - Persist visible columns and order to localStorage - Preserve original/current filter values in dropdowns - Remove legacy correlated-logs-v2 tab and console toggles - Add `selectAll`/`deselectAll` locale keys, remove V2 keys ___ ### Diagram Walkthrough ```mermaid flowchart LR CT["CorrelatedLogsTable.vue"] CVD["Column Visibility Dropdown"] SA["Select/Deselect All Checkbox"] DD["Draggable Column Items"] LS["Persist to localStorage"] CT -- "renders" --> CVD CVD -- "adds" --> SA CVD -- "adds" --> DD SA -- "update state" --> LS DD -- "update order" --> LS CT -- "improve filters" --> FOP["Filter Options Enhancement"] DT["DetailTable.vue"] -- "remove old tab logic" --> CT ``` <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>3 files</summary><table> <tr> <td><strong>CorrelatedLogsTable.vue</strong><dd><code>Enhance column visibility: select all & drag reorder</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10279/files#diff-57e0ec3ac2762de21e67254edf83a4559490f717a8826762c0566fa3b70b6fb8">+244/-12</a></td> </tr> <tr> <td><strong>TelemetryCorrelationDashboard.vue</strong><dd><code>Preserve original and current filter values</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10279/files#diff-b77a766fa0094f641873071a8f13c73704933b941f387ed105e85a4e59efdb38">+13/-0</a> </td> </tr> <tr> <td><strong>DetailTable.vue</strong><dd><code>Remove legacy correlated logs tab and toggles</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10279/files#diff-80552b5d25fa6cef9fbbe430b1865d761c4b132284c2d2175afceea8cbabc8c7">+22/-65</a> </td> </tr> </table></details></td></tr><tr><td><strong>Configuration changes</strong></td><td><details><summary>11 files</summary><table> <tr> <td><strong>de.json</strong><dd><code>Add selectAll/deselectAll translations</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10279/files#diff-78f24ecb2dbcfc38fdf3ec22b2559a5b40d236ea689d1c55f5d3e87168310264">+4/-2</a> </td> </tr> <tr> <td><strong>en.json</strong><dd><code>Add selectAll/deselectAll translations</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10279/files#diff-892aa3d75ab6e129ef9116aa21bec1b9a15ba69ce5366d2a19128078c690d824">+2/-2</a> </td> </tr> <tr> <td><strong>es.json</strong><dd><code>Add selectAll/deselectAll translations</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10279/files#diff-ac2a2167b8b973e3f776f9fe3b43bef4576470d8ad33f3d7cfaff6edff0e5778">+2/-2</a> </td> </tr> <tr> <td><strong>fr.json</strong><dd><code>Add selectAll/deselectAll translations</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10279/files#diff-db80e762b88ddf183820c050cdc6b215e6b02b365b5e73f5152af46b0d26f1a2">+4/-2</a> </td> </tr> <tr> <td><strong>it.json</strong><dd><code>Add selectAll/deselectAll translations</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10279/files#diff-2de78074a5f887afddce60d694ead9322e6ab223eb70251c13819f3028bdc70d">+2/-2</a> </td> </tr> <tr> <td><strong>ja.json</strong><dd><code>Add selectAll/deselectAll translations</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10279/files#diff-092e49c5f9fbc1b539ab9c2866d108d0ce1d314022b4c294eb4611b285e7bbd3">+4/-2</a> </td> </tr> <tr> <td><strong>ko.json</strong><dd><code>Add selectAll/deselectAll translations</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10279/files#diff-50e27ca1b4825a5026f3a251bfcf79c97cab07cfade2ebd512d332453d707c48">+4/-2</a> </td> </tr> <tr> <td><strong>nl.json</strong><dd><code>Add selectAll/deselectAll translations</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10279/files#diff-a1706021687ae5d8a1c006c49eab3946174fecd895f9b70a89c2e76d97250906">+4/-2</a> </td> </tr> <tr> <td><strong>pt.json</strong><dd><code>Add selectAll/deselectAll translations</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10279/files#diff-38e804f64cb5e0e451849fc84e9b46e53c954a4a4263d51c18665ad45f4b4815">+4/-2</a> </td> </tr> <tr> <td><strong>tr.json</strong><dd><code>Add selectAll/deselectAll translations</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10279/files#diff-6f0f131e9e2591480c4c5d1eaffc72d02dc31cbd8d3f90d8f012f08cabac8818">+4/-2</a> </td> </tr> <tr> <td><strong>zh.json</strong><dd><code>Add selectAll/deselectAll translations</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10279/files#diff-8818055db58f83230aeea4ebfd4cec31d924e8c47b6f91298e356959ab25339e">+4/-2</a> </td> </tr> </table></details></td></tr></tr></tbody></table> </details> ___ |
||
|
|
705eac7e75 | fix: fix get with no default data (#10247) | ||
|
|
09c7e1815b | fix: fix the automatic increment of the auto_increment attribute in sea-orm (#10254) | ||
|
|
50e45e2ea7 |
fix: use triggers.length for incident alert count and sort Related Alerts
- Replace alert_count with triggers.length for accurate count display - Rename 'Total Triggers' to 'Total Alerts' for consistency - Show all unique alerts in Related Alerts (was showing only 2 from topology_context.nodes) - Sort Related Alerts by trigger count (descending order) |