mirror of
https://github.com/openobserve/openobserve.git
synced 2026-11-05 08:09:22 +00:00
ba2329b27e2da0dcfb04f15f2811bb497145225e
21
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
ba2329b27e | fix: removed console log statements (#10499) | ||
|
|
0593644a6e | fix: Issue 1208 correlation UI (#10484) | ||
|
|
d021db325b |
fix: Redirection to trace details from logs correlation (#10403)
### **PR Type**
Bug fix, Tests, Enhancement
___
### **Description**
- Preserve log stream when opening trace details
- Auto-select correlated log stream in UI
- Prevent null RUM session replay crash
- Expand TraceDetails mode/prop test coverage
___
### Diagram Walkthrough
```mermaid
flowchart LR
A["TelemetryCorrelationDashboard (embedded trace)"]
B["TraceDetails (embedded)"]
C["TraceDetails route (standalone)"]
D["TraceDetails loadLogStreams auto-select"]
A -- "passes `correlated-log-stream`" --> B
B -- "expand: open new window + `log_stream` query" --> C
C -- "reads `log_stream` query" --> 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>TraceDetails.vue</strong><dd><code>Preserve correlation
log stream on navigation</code>
</dd></summary>
<hr>
web/src/plugins/traces/TraceDetails.vue
<ul><li>Add <code>correlatedLogStream</code> prop for correlation
context<br> <li> Auto-select <code>log_stream</code> from route
query<br> <li> Fix <code>redirectToSessionReplay</code> null session
guard<br> <li> Open expanded view via <code>router.resolve</code> +
<code>window.open</code></ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10403/files#diff-bc7fe6b6339ee2cde6494c0982d4b860847447e79f7431f07d598e0446df06f2">+135/-77</a></td>
</tr>
</table></td></tr><tr><td><strong>Enhancement</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>TelemetryCorrelationDashboard.vue</strong><dd><code>Pass
log stream context to TraceDetails</code>
</dd></summary>
<hr>
web/src/plugins/correlation/TelemetryCorrelationDashboard.vue
<ul><li>Provide <code>:correlated-log-stream</code> when embedding
TraceDetails<br> <li> Include <code>log_stream</code> in trace-details
new-window URL<br> <li> Simplify tooltip to use
<code>correlation.viewInTraces</code></ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10403/files#diff-b77a766fa0094f641873071a8f13c73704933b941f387ed105e85a4e59efdb38">+23/-9</a>
</td>
</tr>
</table></td></tr><tr><td><strong>Tests</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>TraceDetails.spec.ts</strong><dd><code>Add extensive
TraceDetails prop and flow tests</code>
</dd></summary>
<hr>
web/src/plugins/traces/TraceDetails.spec.ts
<ul><li>Add embedded/standalone mode behavior tests<br> <li> Cover
correlation params, expand, and URL building<br> <li> Add edge-case
coverage for redirects and filtering<br> <li> Add RUM span formatting
and search navigation tests</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10403/files#diff-beb61b6b044829d77ec5f0feabdd2b5ff980cc4f2b1ba8a809617b765f086c2b">+1606/-0</a></td>
</tr>
</table></td></tr><tr><td><strong>Documentation</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>en.json</strong><dd><code>Remove unused correlation
tooltip translation key</code>
</dd></summary>
<hr>
web/src/locales/languages/en.json
- Delete `correlation.viewInTracesTooltip` string entry
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10403/files#diff-892aa3d75ab6e129ef9116aa21bec1b9a15ba69ce5366d2a19128078c690d824">+0/-1</a>
</td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
|
||
|
|
2075dd0fad |
fix: use jsonb_exists() instead of ? operator for scope conflict SQL (#10429)
### **User description**
## Summary
- Replace PostgreSQL `?` JSONB operator with `jsonb_exists()` function
in service streams scope conflict SQL to avoid ambiguity with
parameterized query placeholders.
## Test plan
- [ ] Verify scope conflict filtering queries work correctly with
`jsonb_exists()`
- [ ] Run existing `service_streams` unit tests
___
### **PR Type**
Bug fix
___
### **Description**
- Replace JSONB `?` with `jsonb_exists()`
- Update Postgres SQL generation for filters
- Adjust unit tests for new SQL
___
### Diagram Walkthrough
```mermaid
flowchart LR
A["Scope filters input"]
B["build_scope_conflict_sql (Postgres)"]
C["SQL uses jsonb_exists() checks"]
D["Updated SQL assertions in tests"]
A -- "iterates key/value" --> B
B -- "generates conflict predicates" --> C
C -- "validated by" --> 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>service_streams.rs</strong><dd><code>Use
`jsonb_exists()` in scope conflict SQL</code>
</dd></summary>
<hr>
src/infra/src/table/service_streams.rs
<ul><li>Generate Postgres conflict checks with
<code>jsonb_exists(dimensions::jsonb, </code><br><code>key)</code><br>
<li> Keep value mismatch logic via <code>dimensions::jsonb->>'{key}' !=
$n</code><br> <li> Update SQL string assertions in related unit
tests</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10429/files#diff-51e4848c872a89ac19b18d5d49292ea20bf23bf71498236a4a4ea147f0600a77">+4/-4</a>
</td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
---------
Co-authored-by: sai nikhil kethe <nikhil@openobserve.ai>
|
||
|
|
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> |
||
|
|
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> |
||
|
|
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> ___ |
||
|
|
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>
___
|
||
|
|
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>
___
|
||
|
|
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> ___ |
||
|
|
83e1edc06d |
fix: 10159 replace dashboard panel with custom component in correlation logs tab v1 (#10246)
### **PR Type** Enhancement, Tests ___ ### **Description** - Introduce `useCorrelatedLogs` composable for streaming correlated logs - SQL builder with semantic field mapping and request cancellation - Caching of semantic patterns and dynamic filter management - Add `TimeRangeEditor.vue` and `DimensionFilterEditor.vue` UIs - Preset and custom time window selection - Stable/unstable dimension filter editing with wildcard toggle - Extend cell actions to respect `hideSearchTermActions` flag - Add comprehensive unit tests for new composables and components ___ ### Diagram Walkthrough ```mermaid flowchart LR A["useCorrelatedLogs\n(composable)"] -- "provides state & methods" --> B["CorrelatedLogsTable.vue\n(table UI)"] B -- "opens filter editor" --> C["DimensionFilterEditor.vue\n(filter UI)"] B -- "opens time editor" --> D["TimeRangeEditor.vue\n(time UI)"] A -- "used by" --> E["CellActions.vue\n(hide search term)"] ``` <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>useCorrelatedLogs.ts</strong><dd><code>Add correlated logs composable with streaming API</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10246/files#diff-310992fb4914c6eaffbbce225e0c0683c2edad2bb0ab0f8e43530fc38152ed2a">+583/-0</a> </td> </tr> <tr> <td><strong>TimeRangeEditor.vue</strong><dd><code>Add time range editor dialog component</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10246/files#diff-fbebc998fca2093c7f168d13e720aa6606b21ace2e9f2185f81c49e59e9eec70">+498/-0</a> </td> </tr> <tr> <td><strong>DimensionFilterEditor.vue</strong><dd><code>Add dimension filter editor dialog component</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10246/files#diff-6c9172f6882b50f84b5927c491c21702617c66ddde648170199bb11b360f4dde">+324/-0</a> </td> </tr> </table></details></td></tr><tr><td><strong>Tests</strong></td><td><details><summary>1 files</summary><table> <tr> <td><strong>useCorrelatedLogs.spec.ts</strong><dd><code>Add unit tests for correlated logs composable</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10246/files#diff-f5ec3243549ef3a5081acfb9b928fb87d26e86e04a669a85ad03a1a053ec4eac">+591/-0</a> </td> </tr> </table></details></td></tr><tr><td><strong>Bug fix</strong></td><td><details><summary>1 files</summary><table> <tr> <td><strong>CellActions.vue</strong><dd><code>Respect hideSearchTermActions in cell actions</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10246/files#diff-de54e5b8cd9503c53f3f802ac7bc7e3d25846f1657c77cd99534d9f60673992e">+6/-2</a> </td> </tr> </table></details></td></tr><tr><td><strong>Refactoring</strong></td><td><details><summary>1 files</summary><table> <tr> <td><strong>useLogsHighlighter.ts</strong><dd><code>Move cache inside hook and format regex</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10246/files#diff-ad7744a2edc4764be1c7d67feb7fe1473536af245821898a9136256b3aeb0342">+8/-3</a> </td> </tr> </table></details></td></tr><tr><td><strong>Additional files</strong></td><td><details><summary>20 files</summary><table> <tr> <td><strong>features.json</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/10246/files#diff-f3c3ea1b3f6e34a0718bced5c01c09bfe13b5ba7936ee8b77eb66b8c14767d49">+18/-0</a> </td> </tr> <tr> <td><strong>de.json</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/10246/files#diff-78f24ecb2dbcfc38fdf3ec22b2559a5b40d236ea689d1c55f5d3e87168310264">+65/-4</a> </td> </tr> <tr> <td><strong>en.json</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/10246/files#diff-892aa3d75ab6e129ef9116aa21bec1b9a15ba69ce5366d2a19128078c690d824">+64/-1</a> </td> </tr> <tr> <td><strong>es.json</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/10246/files#diff-ac2a2167b8b973e3f776f9fe3b43bef4576470d8ad33f3d7cfaff6edff0e5778">+65/-4</a> </td> </tr> <tr> <td><strong>fr.json</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/10246/files#diff-db80e762b88ddf183820c050cdc6b215e6b02b365b5e73f5152af46b0d26f1a2">+65/-4</a> </td> </tr> <tr> <td><strong>it.json</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/10246/files#diff-2de78074a5f887afddce60d694ead9322e6ab223eb70251c13819f3028bdc70d">+65/-4</a> </td> </tr> <tr> <td><strong>ja.json</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/10246/files#diff-092e49c5f9fbc1b539ab9c2866d108d0ce1d314022b4c294eb4611b285e7bbd3">+65/-4</a> </td> </tr> <tr> <td><strong>ko.json</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/10246/files#diff-50e27ca1b4825a5026f3a251bfcf79c97cab07cfade2ebd512d332453d707c48">+65/-4</a> </td> </tr> <tr> <td><strong>nl.json</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/10246/files#diff-a1706021687ae5d8a1c006c49eab3946174fecd895f9b70a89c2e76d97250906">+65/-4</a> </td> </tr> <tr> <td><strong>pt.json</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/10246/files#diff-38e804f64cb5e0e451849fc84e9b46e53c954a4a4263d51c18665ad45f4b4815">+65/-4</a> </td> </tr> <tr> <td><strong>tr.json</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/10246/files#diff-6f0f131e9e2591480c4c5d1eaffc72d02dc31cbd8d3f90d8f012f08cabac8818">+65/-4</a> </td> </tr> <tr> <td><strong>zh.json</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/10246/files#diff-8818055db58f83230aeea4ebfd4cec31d924e8c47b6f91298e356959ab25339e">+65/-4</a> </td> </tr> <tr> <td><strong>CorrelatedLogsTable.spec.ts</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/10246/files#diff-2cbeccd1d13276ca572faf566cbfef3adb2a54fa65d8197ade08dd8414464293">+514/-0</a> </td> </tr> <tr> <td><strong>CorrelatedLogsTable.vue</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/10246/files#diff-57e0ec3ac2762de21e67254edf83a4559490f717a8826762c0566fa3b70b6fb8">+978/-0</a> </td> </tr> <tr> <td><strong>DimensionFilterEditor.spec.ts</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/10246/files#diff-94cbaad5e0f29d5cb695077c9b7915cfee73e0b510b87503660407ce349848cb">+581/-0</a> </td> </tr> <tr> <td><strong>DimensionFiltersBar.spec.ts</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/10246/files#diff-852ddb2775c9f58605e39ff8aa8b6a22ae07a8330b9acf9d22535dd49f3f0ea4">+356/-0</a> </td> </tr> <tr> <td><strong>DimensionFiltersBar.vue</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/10246/files#diff-6199755ef4f3b11c06759aabe761173fe475a21daefb0a3e503c9b31b934f257">+155/-0</a> </td> </tr> <tr> <td><strong>TelemetryCorrelationDashboard.vue</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/10246/files#diff-b77a766fa0094f641873071a8f13c73704933b941f387ed105e85a4e59efdb38">+901/-477</a></td> </tr> <tr> <td><strong>DetailTable.vue</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/10246/files#diff-80552b5d25fa6cef9fbbe430b1865d761c4b132284c2d2175afceea8cbabc8c7">+88/-2</a> </td> </tr> <tr> <td><strong>TenstackTable.vue</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/10246/files#diff-bc3c669f5ab65a42ae378df1f7d6b35014c9c220790bdcc72b47f55d1385dc22">+48/-0</a> </td> </tr> </table></details></td></tr></tr></tbody></table> </details> ___ --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: omkark06 <omkar@zinclabs.io> Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com> |
||
|
|
eca3768134 |
fix: pre-fill filter based on selected row data (#10050)
### **PR Type**
Bug fix, Enhancement
___
### **Description**
- Initialize filter dropdowns with selected row values
- Unified watcher updates dimensions on prop change
- Clear correlation data on sidebar close
- Disable redundant row measurement on expand
___
### Diagram Walkthrough
```mermaid
flowchart LR
A["Props: matched, additional, service"] -- "change" --> B["Unified watcher"]
B -- "sets" --> C["pending & active dimensions"]
C -- "update filters" --> D["Dashboard queries"]
E["Sidebar close"] -- "clears" --> F["Correlation state"]
```
<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>TelemetryCorrelationDashboard.vue</strong><dd><code>Sync
filter dimensions with row props</code>
</dd></summary>
<hr>
web/src/plugins/correlation/TelemetryCorrelationDashboard.vue
<ul><li>Use actual row values for active/pending dimensions<br> <li>
Remove wildcard defaults for additional dimensions<br> <li> Add unified
watcher for all dimension props<br> <li> Update watchers to refresh on
prop changes</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10050/files#diff-b77a766fa0094f641873071a8f13c73704933b941f387ed105e85a4e59efdb38">+55/-9</a>
</td>
</tr>
<tr>
<td>
<details>
<summary><strong>SearchResult.vue</strong><dd><code>Reset correlation
data on sidebar close</code>
</dd></summary>
<hr>
web/src/plugins/logs/SearchResult.vue
<ul><li>Clear <code>correlationDashboardProps</code> on sidebar
close<br> <li> Reset <code>correlationLoading</code> and
<code>correlationError</code><br> <li> Watch detail tab closure to clear
correlation state</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10050/files#diff-5e65533aa4754bb6d0074fda18ffc1ecacded3b9ca6bc28a161c3f6b12f20195">+19/-0</a>
</td>
</tr>
<tr>
<td>
<details>
<summary><strong>TenstackTable.vue</strong><dd><code>Remove redundant
row measurement</code>
</dd></summary>
<hr>
web/src/plugins/logs/TenstackTable.vue
<ul><li>Comment out redundant
<code>rowVirtualizer.value.measure()</code> call<br> <li> Retain element
measurement logic</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10050/files#diff-bc3c669f5ab65a42ae378df1f7d6b35014c9c220790bdcc72b47f55d1385dc22">+1/-1</a>
</td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
|
||
|
|
99c0221126 |
fix: incident list as seperate menu (#10080)
### **PR Type** Enhancement ___ ### **Description** - Extract incidents into standalone page - Remove incidents tab from alerts list - Update router and menu navigation links - Simplify search & layout in IncidentList.vue - Add multilingual translations for incidents ___ ### Diagram Walkthrough ```mermaid flowchart LR ML["MainLayout"] -- "click Alerts" --> AL["AlertList.vue"] ML -- "click Incidents" --> IL["IncidentList.vue"] AL -- "imports IncidentList removed" --> IL ``` <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>router.ts</strong><dd><code>Add dedicated route for IncidentList.vue</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10080/files#diff-a1827956e5a817edc7efb5f4516e7cc4d453e15ea9e9d970aafb8360b09fc78e">+12/-0</a> </td> </tr> <tr> <td><strong>AlertList.vue</strong><dd><code>Remove incidents tab and adjust layout</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10080/files#diff-be3e41b823e163b226ffc270d95cc4981e59c600851e4e0d10ee5e4ee994ac8e">+14/-102</a></td> </tr> <tr> <td><strong>IncidentList.vue</strong><dd><code>Refactor IncidentList with header and search</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10080/files#diff-953ad015996758a8c86e489499cd3b0a614501b99b0c9c5c242a299e34c24ff2">+54/-28</a> </td> </tr> <tr> <td><strong>MainLayout.vue</strong><dd><code>Add incidents link to main menu</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10080/files#diff-91e4134141264c4624d4eb4cfa987b33ed31eb6f551e089c0b26f2610dd54362">+11/-4</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 German translation for incidents</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10080/files#diff-78f24ecb2dbcfc38fdf3ec22b2559a5b40d236ea689d1c55f5d3e87168310264">+2/-1</a> </td> </tr> <tr> <td><strong>en.json</strong><dd><code>Add English translation for incidents</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10080/files#diff-892aa3d75ab6e129ef9116aa21bec1b9a15ba69ce5366d2a19128078c690d824">+2/-0</a> </td> </tr> <tr> <td><strong>es.json</strong><dd><code>Add Spanish translation for incidents</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10080/files#diff-ac2a2167b8b973e3f776f9fe3b43bef4576470d8ad33f3d7cfaff6edff0e5778">+2/-1</a> </td> </tr> <tr> <td><strong>fr.json</strong><dd><code>Add French translation for incidents</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10080/files#diff-db80e762b88ddf183820c050cdc6b215e6b02b365b5e73f5152af46b0d26f1a2">+2/-1</a> </td> </tr> <tr> <td><strong>it.json</strong><dd><code>Add Italian translation for incidents</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10080/files#diff-2de78074a5f887afddce60d694ead9322e6ab223eb70251c13819f3028bdc70d">+2/-1</a> </td> </tr> <tr> <td><strong>ja.json</strong><dd><code>Add Japanese translation for incidents</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10080/files#diff-092e49c5f9fbc1b539ab9c2866d108d0ce1d314022b4c294eb4611b285e7bbd3">+2/-1</a> </td> </tr> <tr> <td><strong>ko.json</strong><dd><code>Add Korean translation for incidents</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10080/files#diff-50e27ca1b4825a5026f3a251bfcf79c97cab07cfade2ebd512d332453d707c48">+2/-1</a> </td> </tr> <tr> <td><strong>nl.json</strong><dd><code>Add Dutch translation for incidents</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10080/files#diff-a1706021687ae5d8a1c006c49eab3946174fecd895f9b70a89c2e76d97250906">+2/-1</a> </td> </tr> <tr> <td><strong>pt.json</strong><dd><code>Add Portuguese translation for incidents</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10080/files#diff-38e804f64cb5e0e451849fc84e9b46e53c954a4a4263d51c18665ad45f4b4815">+2/-1</a> </td> </tr> <tr> <td><strong>tr.json</strong><dd><code>Add Turkish translation for incidents</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10080/files#diff-6f0f131e9e2591480c4c5d1eaffc72d02dc31cbd8d3f90d8f012f08cabac8818">+2/-1</a> </td> </tr> <tr> <td><strong>zh.json</strong><dd><code>Add Chinese translation for incidents</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10080/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> |
||
|
|
8776d2645d |
chore: improve tab navigation UX and FQN priority selector (#9879)
### **User description** ## Summary - Added component state preservation using keep-alive for instant tab switching - Replaced FQN priority dropdown with dual-list selector for better multi-item management - Added refresh buttons to all tabs for manual data reload ## Changes - Tab caching via Quasar's keep-alive prop (no redundant API calls) - Dual-list interface for FQN priority dimensions with search and bulk transfer - Refresh buttons on Correlation Settings and correlation telemetry tabs ## Benefits - Instant tab switching with preserved state - Faster dimension selection workflow - Better UX for managing correlation settings ___ ### **PR Type** Enhancement ___ ### **Description** - Add dual-list interface for dimension selection - New `DualListSelector.vue` component - Integrated into FQN priority settings - Add manual refresh buttons on tabs - Enable component caching on tab panels |
||
|
|
f0527b9267 |
fix: UI tailwind changes (#9836)
issue #9539 |
||
|
|
890e8d7669 |
fix: Node package upgrade v1.8 (#9773)
### **PR Type**
Enhancement
___
### **Description**
- Upgrade Tailwind CSS from v3.4.4 to v4.1.18
- Bump rudder-sdk-js from 2.48.43 to 2.52.7
___
<details> <summary><h3> File Walkthrough</h3></summary>
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Dependencies</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>package.json</strong><dd><code>Bump dependency versions
in package.json</code>
</dd></summary>
<hr>
web/package.json
<ul><li>Updated <code>tailwindcss</code> version to ^4.1.18<br> <li>
Updated <code>rudder-sdk-js</code> version to ^2.52.7</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9773/files#diff-b861012a5dd72b8a9f3281b7cf09f5a779c98569d040b1bbc1db50f1b15e7cce">+2/-2</a>
</td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
|
||
|
|
268fe6954a |
fix: logs correlation UI fixes (#9703)
### **PR Type**
Enhancement, Bug fix
___
### **Description**
- Enhance correlation dashboard UI layout
- increase chart height, update filter button styles
- Improve DetailTable correlation tab behavior
- add initialTab prop and auto-load watchers
- Adjust log detail navigation column sizes
- Extend correlation handlers in JSON and SearchResult
___
<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>useMetricsCorrelationDashboard.ts</strong><dd><code>Increase
correlation dashboard chart height</code>
</dd></summary>
<hr>
web/src/composables/useMetricsCorrelationDashboard.ts
- Increase dashboard chart height from 36 to 44 units
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9703/files#diff-61aa6123b09464987fa96e7e48c9e3d4648735b5bfc996d49af639f44f833c4d">+1/-1</a>
</td>
</tr>
<tr>
<td>
<details>
<summary><strong>TelemetryCorrelationDashboard.vue</strong><dd><code>Update
correlation dashboard filter buttons</code>
</dd></summary>
<hr>
web/src/plugins/correlation/TelemetryCorrelationDashboard.vue
<ul><li>Add flat prop and update text-color on apply buttons<br> <li>
Change filter v-for to use pendingDimensions<br> <li> Update event
handlers for pending dimension changes<br> <li> Add embedded mode apply
button with styling</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9703/files#diff-b77a766fa0094f641873071a8f13c73704933b941f387ed105e85a4e59efdb38">+19/-6</a>
</td>
</tr>
<tr>
<td>
<details>
<summary><strong>DetailTable.vue</strong><dd><code>Enhance DetailTable
correlation loading</code>
</dd></summary>
<hr>
web/src/plugins/logs/DetailTable.vue
<ul><li>Adjust navigation button columns from col-2 to col-1<br> <li>
Introduce initialTab prop for default tab selection<br> <li> Add
watchers to auto-load correlation data on tab/rowData<br> <li> Emit
correlation events with original modelValue</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9703/files#diff-80552b5d25fa6cef9fbbe430b1865d761c4b132284c2d2175afceea8cbabc8c7">+61/-12</a>
</td>
</tr>
<tr>
<td>
<details>
<summary><strong>JsonPreview.vue</strong><dd><code>Refine JSON preview
correlation handler</code>
</dd></summary>
<hr>
web/src/plugins/logs/JsonPreview.vue
<ul><li>Reformat deep watch callback for selectedStreamFields<br> <li>
Update openCorrelation to log and emit props.value</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9703/files#diff-3985073134d35ff074742944b114d0905524038b42e6d2ac887fef2c8436fb16">+14/-10</a>
</td>
</tr>
<tr>
<td>
<details>
<summary><strong>SearchResult.vue</strong><dd><code>Implement direct
correlation on log rows</code>
</dd></summary>
<hr>
web/src/plugins/logs/SearchResult.vue
<ul><li>Rename correlation handler to openLogDetailsWithCorrelation<br>
<li> Add detailTableInitialTab state and reset logic<br> <li> Implement
direct correlation row opening and loading</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9703/files#diff-5e65533aa4754bb6d0074fda18ffc1ecacded3b9ca6bc28a161c3f6b12f20195">+45/-1</a>
</td>
</tr>
<tr>
<td>
<details>
<summary><strong>detail-table.scss</strong><dd><code>Increase detail
dialog width</code>
</dd></summary>
<hr>
web/src/styles/logs/detail-table.scss
- Increase .searchdetaildialog width from 70vw to 85vw
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9703/files#diff-63d5673331a5ee1ab792d07831e4a6dbb0d2d40d2ad628652d57944e47a96338">+1/-1</a>
</td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
|
||
|
|
e52d000217 |
feat: add incident correlation system (#9507)
## Summary Introduces comprehensive incident management system to reduce alert fatigue through intelligent correlation and AI-powered root cause analysis. **Design at:** https://github.com/openobserve/designs/tree/main/alert-correlation --- ## Incident Correlation **3-Tier Correlation Priority:** 1. **Trace-based**: Groups alerts from same distributed trace (cross-service) 2. **Service Discovery**: Uses semantic service matching with normalization 3. **Dimension-based**: Blake3 hash from stable alert dimensions (fallback) **Features:** - Automatic alert grouping into incidents - Real-time incident status tracking (open/acknowledged/resolved/suppressed) - Topology enrichment via Service Graph integration - Cross-environment correlation prevention via dimension matching ## Incident Analysis (RCA) **Automated Analysis:** - Background job queries open incidents and triggers AI agent - Periodic analysis via configurable interval - Results displayed in incident detail view with markdown support **On-Demand Analysis:** - Manual trigger via API: `POST /api/v2/{org}/alerts/incidents/{id}/rca` - Real-time results with loading indicators - One-click "Analyze" button in UI ## SRE Chat Assistant **Conversational AI for Alerts:** - Generic `/api/{org}/agent/chat` endpoint with history support - Context-aware assistance for alerts and incidents - Sparkle icons on alert/incident rows for quick access - Persistent chat history via IndexedDB - Includes RCA analysis in conversation context --- ## Configuration ```bash # Incident Management O2_INCIDENTS_AUTO_RESOLVE_AFTER_MINUTES=-1 # -1=disabled (default), >0=auto-resolve # RCA Agent Integration O2_INCIDENTS_RCA_ENABLED=true O2_INCIDENTS_RCA_AGENT_URL=http://localhost:8000 O2_INCIDENTS_RCA_INTERVAL_SECS=600 ``` ## API Endpoints - `GET /api/v2/{org}/alerts/incidents` - List incidents with pagination - `GET /api/v2/{org}/alerts/incidents/{id}` - Get incident details - `PATCH /api/v2/{org}/alerts/incidents/{id}` - Update incident status - `GET /api/v2/{org}/alerts/incidents/stats` - Get incident statistics - `POST /api/v2/{org}/alerts/incidents/{id}/rca` - Trigger RCA analysis - `POST /api/{org}/agent/chat` - Generic agent chat endpoint - `POST /api/{org}/agent/chat/stream` - Streaming agent chat ## Database - **New tables**: `alert_incidents`, `alert_incident_alerts` - **Migration**: `m20251204_000001_create_alert_incidents_table` - **ORM**: SeaORM entities with full CRUD support ## UI Components - **IncidentList.vue**: Status filtering, pagination, statistics dashboard - **IncidentDetailDrawer.vue**: Full incident view with triggers/alerts/analysis - **SREChat.vue**: AI assistant panel with markdown rendering - Incidents tab in AlertList with unified view - AI sparkle icons for contextual chat access --- ## Enterprise Feature This is an **enterprise-only** feature with OSS stubs for compilation compatibility. - Non-enterprise builds: Handlers return `403 Forbidden` - Enterprise builds: Full functionality enabled ## Test Plan - [x] Build passes without `--features enterprise` - [x] Build passes with `--features enterprise` - [x] Create alerts that fire and verify incidents are created - [x] Verify incident list/detail APIs work correctly - [x] Verify status updates (open → acknowledged → resolved) - [x] Verify correlation logic (trace-based, service discovery, dimension-based) - [x] Verify RCA analysis triggers and displays correctly - [x] Verify SRE chat integration with alert/incident context --------- Co-authored-by: sai nikhil kethe <nikhil@openobserve.ai> |
||
|
|
34939d0769 |
fix: fqn co relation user settings (#9536)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> |
||
|
|
79bbe72ee3 |
feat: co-relation phase 2 (#9513)
Design at : streams-corelation --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> |
||
|
|
1353ea653b |
feat: service discovery (#9469)
Design at: streams-corelation/SERVICE_CORRELATION_ARCHITECTURE.md --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> |