Commit Graph
50 Commits
Author SHA1 Message Date
Bhargav 8da9959293 fix: timestamp in human redable format based on selected timezone (#12899) 2026-06-26 12:08:47 +00:00
Ashish Kolhe 060e02c655 chore: correlated metrics tab fixes (#12866) 2026-06-24 22:08:17 +05:30
Omkar Kesarkhane cec4fa5fe7 fix: Telemetry correlation header UI fixes (#12709)
## What changed

- Passes `matchedSetId` and `chipDimensions` as new computed props from
`IncidentDetailDrawer.vue` to the embedded
`TelemetryCorrelationDashboard`, enabling the "View by" subject tabs in
the incident view
- Adds an `OBadge` showing the selected subject as `label = value` after
the subject toggle tabs in `CorrelationEventHeader.vue`
- Fixes the responsive overflow logic so the first context chip can
overflow when space runs out, and the overflow indicator shows "N
Fields" when all chips are hidden instead of a bare "+N"
- Renders hidden overflow chips as stacked `OBadge` components in
`OTooltip`'s `#content` slot instead of a `\n`-joined string

## Why

Incidents opened without a source trace or log event had no
`matchedSetId` / `chipDimensions` passed to the correlation dashboard,
so the "View by" subject toggle (Pod, Node, etc.) never rendered. The
badge was also missing to visually indicate which subject is active.
2026-06-17 04:12:59 +00:00
082572169d fix: co-relation UI and filtering (#12527)
Co-authored-by: Omkar Kesarkhane <127078473+omkarK06@users.noreply.github.com>
Co-authored-by: omkark06 <omkar@zinclabs.io>
2026-06-16 08:14:32 +00:00
5c56d05703 fix: layout ux3 (#12560)
Co-authored-by: Kirtan Thakkar <kirtan@kiara.tech>
Co-authored-by: ktx-mihir <mihir.patel@kiara.tech>
Co-authored-by: ktx-riya <riya.kukadiya@kiara.tech>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-06-10 14:17:21 +00:00
Omkar Kesarkhane 945226696d fix: updated column widths in correlated logs table (#12469)
## What changed

- Added a wrap/unwrap button (toggle) in the CorrelatedLogsTable header
toolbar, matching the pattern from `logs/SearchResult.vue` (`wrap-text`
icon, `OTooltip` with `search.messageWrapContent` i18n key)
- Replaced the hard-coded 800px column `maxSize` with a dynamic cap
computed from the table container's actual width, tracked via
`ResizeObserver`
- Last-column fill: if total column widths are less than the container
and the last column is a `longTextFields` type, the remaining space is
added to it
2026-06-05 12:16:41 +00:00
Omkar Kesarkhane f5aa61b6c1 fix: correlated logs table UI fix (#12437) 2026-06-03 16:03:34 +00:00
ktx-vaidehi f8249d341c fix: ux revamp search input component (#12383) 2026-06-01 12:03:44 +00:00
+5 ae22a74e62 feat: ux improvement main (#11838)
#11720

Design at:

https://github.com/openobserve/designs/blob/main/dashboards/ux-improvement-dialog/design.md

---------

---------

Co-authored-by: ktx-vaidehi <134508096+ktx-vaidehi@users.noreply.github.com>
Co-authored-by: Abhay Padamani <141122205+ktx-abhay@users.noreply.github.com>
Co-authored-by: Sai Nikhil <nikhil@openobserve.ai>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: ktx-akshay <akshay.patil@kiara.tech>
Co-authored-by: Bhargav <BJP232004@GMAIL.COM>
Co-authored-by: ktx-mihir <mihir.patel@kiara.tech>
Co-authored-by: ktx-riya <riya.kukadiya@kiara.tech>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Omkar Kesarkhane <127078473+omkarK06@users.noreply.github.com>
Co-authored-by: omkark06 <omkar@zinclabs.io>
Co-authored-by: ktx-vaidehi <vaidehi.akhani@kiara.tech>
Co-authored-by: ktx-abhay <abhay.padamani@kiara.tech>
Co-authored-by: Shrinath Rao <shnath@openobserve.ai>
2026-05-28 11:00:49 +00:00
Ashish Kolhe 6ecd9363be fix: refactor corealted metrics tab (#12242) 2026-05-27 09:41:42 +00:00
ktx-kirtan 1829cd46f8 fix: ux improvement dialog - Revert (#11824)
Reverts openobserve/openobserve#11644
2026-05-14 14:35:28 +00:00
be427039f0 feat: ux improvement dialog (#11644)
#11720

Design at:
https://github.com/openobserve/designs/blob/main/dashboards/ux-improvement-dialog/design.md

---------

Co-authored-by: ktx-riya <riya.kukadiya@kiara.tech>
Co-authored-by: ktx-mihir <mihir.patel@kiara.tech>
Co-authored-by: Kirtan Thakkar <kirtan@kiara.tech>
Co-authored-by: ktx-akshay <akshay.patil@kiara.tech>
Co-authored-by: Shrinath Rao <shnath@openobserve.ai>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-14 12:00:25 +00:00
Omkar Kesarkhane f79d123ef7 fix: two scrollbars were visible on logs page and logs tab in traces page (#11789) 2026-05-13 11:59:33 +00:00
Omkar Kesarkhane 4679289aad fix: added multi stream api support in correlated logs (#11722)
## What changed

Replaced single-stream correlation log queries with multi-stream
support. The composable now builds independent SQL queries for each
correlated log stream and sends them as an array to
`_search_multi_stream`, merging and sorting results by `_timestamp` on
completion. Also temporarily disabled hover span selection in the trace
tree due to UX issues, and made the timestamp column configurable via
`store.state.zoConfig.timestamp_column`.

## Why

The previous implementation only queried the primary stream (first log
stream), missing correlated logs from other streams. Multi-stream
support is needed to show all correlated logs across streams. Hover span
selection was producing `null` span IDs on unhover, causing UX glitches
— disabled pending a proper fix.
2026-05-12 12:01:46 +00:00
Ashish Kolheandgithub-actions[bot] c686b359bf fix: corelation custom groups + settings fixes (cherry-pick from v0.90.0) (#11705)
## Summary
Cherry-picks two correlation fixes from `branch-v0.90.0` to `main`:

- `a077b760c` fix: corelation custom groups (#11662) — adds `group`
field to `FoundGroup` and threads `semantic_groups` through
`calculate_dimension_analytics`
- `211876a97` fix: corelation settings fixes (#11666) — validates
tracked alias IDs against bundled defaults + custom DB groups; sanitizes
payload (drops `service` and orphan IDs) before save

Conflicts resolved by taking v0.90.0 versions (the fixes are the point
of the cherry-pick). Companion PR on o2-enterprise:
openobserve/o2-enterprise#1648 — that PR is currently red because it
depends on the new `FoundGroup.group` field landing here first.

## Test plan
- [ ] CI green (build, unit, playwright)
- [ ] Verify save Identity Config rejects invalid alias IDs but accepts
default + custom IDs
- [ ] Verify `_analytics` endpoint returns `group` category on
FoundGroup

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-11 03:51:39 +00:00
Omkar Kesarkhane bf0a2a5f6a fix: added default key log fields as columns in logs correaltion table (#11676)
#11584 


## What changed

Updated `CorrelatedLogsTable.vue` to load key fields from the service
correlation configuration and use them as default visible columns
alongside `_timestamp`. Added 5 new test cases covering key field
matching, fallback behavior, and user customization preservation.

## Why

The correlated logs table was only showing `_timestamp` by default,
missing relevant log fields that should appear as columns. Key fields
defined in the service correlation config (e.g., `field1`, `field2`)
were not being surfaced unless the user manually customized columns.

## Approach

- Imported `useServiceCorrelation` composable and its `loadKeyFields`
method
- On mount, fetch key fields config and store in `defaultLogFields` ref
- Added `initializeVisibleColumns()` that creates a default set from
`_timestamp` + any key fields present in the available fields
- Updated the `availableFields` watcher to check `visibleColumns.size <=
1` (instead of `=== 0`) — accounts for `_timestamp` being persisted in
localStorage
- Added a separate `watch` on `defaultLogFields` to re-initialize when
key fields arrive after `availableFields`
- Both watchers skip re-initialization if the user has already
customized columns (more than just `_timestamp`)

## Risk

Medium. The column initialization logic now runs in two watchers
(`availableFields` and `defaultLogFields`). If `defaultLogFields` loads
before `availableFields`, the first watcher applies (with an empty key
fields list) and the second watcher skips because `visibleColumns.size`
is already `> 1`. Reviewers should verify that the ordering of these
watchers doesn't leave key fields unapplied in edge cases.
2026-05-08 08:49:02 +00:00
Omkar Kesarkhaneandgithub-actions[bot] 75f6557a52 feat: added an "Error" tab to the trace details sidebar (#11655)
Design at: ui/traces/trace-details/

#11581  

## What changed

Added an "Error" tab to the trace details sidebar, extracted
error-detection logic from the sidebar into a dedicated
`useTraceDetails` composable, and moved the error/exception UI into a
new `TraceErrorTab` component. Active tab management was changed from
internal sidebar state to a parent-controlled prop with two-way binding.
Hover state (`hoveredSpanId`) was added to `TraceDetails` and
`TraceTree` — when set, hovered spans take visual priority over
`selectedSpanId`. A missing `hoveredSpanId` prop declaration was added
to `TraceTree.vue`. The `error` i18n key was added across all 12
languages. Test coverage spans 84 composable tests, 55 error-tab tests,
and updates to all three existing spec files.

## Why

Trace detail spans can fail for reasons beyond HTTP status codes (gRPC
errors, exception events, process exit codes, DB response codes).
Previously, there was no dedicated, consistently surfaced view for these
errors — they were either buried in the attributes tab or shown as
inline exception tables in the sidebar. The new error tab provides a
centralized home for all error indicators.

## Approach

Extracted error detection (HTTP status, gRPC status/name/message,
exception events, error type, DB response status, process exit code)
into `useTraceDetails` composable so it can be reused across sidebar and
error tab without duplication. Moved the error/exception UI into
`TraceErrorTab.vue`, keeping the sidebar as the orchestrator. Made
`activeTab` parent-controlled so `TraceDetails` can auto-select the
preview tab for LLM spans without conflicting with sidebar internal
state.

## Risk

The refactored active tab logic (parent-controlled via prop+emit instead
of internal state) could affect tab selection behavior in edge cases —
particularly the LLM preview auto-selection and the correlated-metrics
tab watch. The `hoveredSpanId` added to `TraceTree` was previously
undeclared as a prop (referenced but never defined), so adding it is an
unambiguous fix, not a behavioral risk. All 5 spec files pass with 357
total tests.

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-08 07:01:42 +00:00
87da57db50 feat: ux improvement tabs and buttons (#11595)
Design at:
https://github.com/openobserve/designs/blob/main/dashboards/ux-improvement-tabs-buttons/design.md

---------

Co-authored-by: Kirtan Thakkar <kirtan@kiara.tech>
Co-authored-by: ktx-mihir <mihir.patel@kiara.tech>
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: ktx-riya <riya.kukadiya@kiara.tech>
Co-authored-by: sai nikhil kethe <nikhil@openobserve.ai>
Co-authored-by: ktx-akshay <akshay.patil@kiara.tech>
2026-05-06 15:00:37 +00:00
c929075bb8 fix: traces UI fixes (#11473)
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Omkar Kesarkhane <undefined@users.noreply.github.com>
2026-04-26 20:11:26 +00:00
Omkar Kesarkhane ea38de99a0 fix: Incorrect duration values were displayed in logs-details correlation traces tab (#11462)
#11446 
Traces in the Logs correlation panel were showing wrong durations
because they were read from /latest (cached summaries). Using
/latest_stream delivers the actual trace records with correct duration
data.

#11463 
Updated FlameGraphView.vue so that spans with a computed width below
0.1% of the total trace duration are rendered with a minimum 0.1% width
instead of being dropped — ensuring all spans remain visible regardless
of how short they are.
2026-04-25 14:19:01 +00:00
929f9d88a3 fix: split metrics into Node, Pod, Network, and Other tabs in Traces (#11399)
#11360

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Omkar Kesarkhane <undefined@users.noreply.github.com>
2026-04-24 08:55:24 +00:00
ByteBakerandAshish Kolhe 907a3c74db fix: simplify _correlate API (#11301)
Co-authored-by: Ashish Kolhe <ashish.j.kolhe@gmail.com>
2026-04-19 10:54:07 +05:30
Omkar Kesarkhaneandgithub-actions[bot] 0c92272d0b fix: added metrics tab in service graph node details panel (#11203)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-04-12 02:03:44 +00:00
ByteBakerandHengfei Yang b948361769 chore: update copyright year to 2026 (#11166)
Co-authored-by: Hengfei Yang <hengfei.yang@gmail.com>
2026-04-07 09:57:53 +08:00
Bhargav eff23e31b7 fix: added unit test cases for services layer (#10867) 2026-03-12 15:27:50 +05:30
Bhargav 66d68ce9fb fix: 10744 add metric grouping in metrics correlation tab infra network others (#10767) 2026-03-06 11:10:06 +05:30
Omkar Kesarkhane fe7d9f12a9 fix: Traces list UI improvements (#10670) 2026-02-27 19:32:34 +08:00
Bhargavandgithub-actions[bot] 94ade6598a fix: Correlation error message fix (#10511)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-02-18 11:37:35 +05:30
Bhargav 524606e4f0 fix: insight page baseline vs selected time range (#10514) 2026-02-13 19:38:07 +05:30
Bhargav ba2329b27e fix: removed console log statements (#10499) 2026-02-13 10:43:30 +05:30
Bhargav 0593644a6e fix: Issue 1208 correlation UI (#10484) 2026-02-12 11:12:02 +05:30
Omkar Kesarkhane 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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </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>&nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; </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>&nbsp;
&nbsp; </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>&nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; </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>&nbsp;
&nbsp; &nbsp; </td>

</tr>
</table></td></tr></tr></tbody></table>

</details>

___
2026-02-10 20:38:58 +05:30
ByteBakerandsai nikhil kethe 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>&nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; </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>&nbsp;
&nbsp; &nbsp; </td>

</tr>
</table></td></tr></tr></tbody></table>

</details>

___

---------

Co-authored-by: sai nikhil kethe <nikhil@openobserve.ai>
2026-02-09 19:34:54 +05:30
Omkar Kesarkhaneandgithub-actions[bot] 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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10328/files#diff-1cf652f1e074a135294702959cf09fd96a1ed13e661ee3bc85266dbb1909c1a7">+74/-0</a>&nbsp;
&nbsp; </td>

</tr>

<tr>
<td><strong>TelemetryCorrelationDashboard.vue</strong><dd><code>Replace
traces table with `TraceBlock` list</code>&nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10328/files#diff-952e26660e4d6aadd292ea2ef7b314e139a4f516d0b3931e20d42d6394700d07">+8/-43</a>&nbsp;
&nbsp; </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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10328/files#diff-78f24ecb2dbcfc38fdf3ec22b2559a5b40d236ea689d1c55f5d3e87168310264">+3/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>en.json</strong><dd><code>Add correlation “View in Traces”
strings</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10328/files#diff-892aa3d75ab6e129ef9116aa21bec1b9a15ba69ce5366d2a19128078c690d824">+2/-0</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>es.json</strong><dd><code>Add correlation “View in Traces”
strings</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10328/files#diff-ac2a2167b8b973e3f776f9fe3b43bef4576470d8ad33f3d7cfaff6edff0e5778">+3/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>fr.json</strong><dd><code>Add correlation “View in Traces”
strings</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10328/files#diff-db80e762b88ddf183820c050cdc6b215e6b02b365b5e73f5152af46b0d26f1a2">+3/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>it.json</strong><dd><code>Add correlation “View in Traces”
strings</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10328/files#diff-2de78074a5f887afddce60d694ead9322e6ab223eb70251c13819f3028bdc70d">+3/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>ja.json</strong><dd><code>Add correlation “View in Traces”
strings</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10328/files#diff-092e49c5f9fbc1b539ab9c2866d108d0ce1d314022b4c294eb4611b285e7bbd3">+3/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>ko.json</strong><dd><code>Add correlation “View in Traces”
strings</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10328/files#diff-50e27ca1b4825a5026f3a251bfcf79c97cab07cfade2ebd512d332453d707c48">+3/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>nl.json</strong><dd><code>Add correlation “View in Traces”
strings</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10328/files#diff-a1706021687ae5d8a1c006c49eab3946174fecd895f9b70a89c2e76d97250906">+3/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>pt.json</strong><dd><code>Add correlation “View in Traces”
strings</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10328/files#diff-38e804f64cb5e0e451849fc84e9b46e53c954a4a4263d51c18665ad45f4b4815">+3/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>tr.json</strong><dd><code>Add correlation “View in Traces”
strings</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10328/files#diff-6f0f131e9e2591480c4c5d1eaffc72d02dc31cbd8d3f90d8f012f08cabac8818">+3/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>zh.json</strong><dd><code>Add correlation “View in Traces”
strings</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10328/files#diff-8818055db58f83230aeea4ebfd4cec31d924e8c47b6f91298e356959ab25339e">+3/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>
</table></details></td></tr></tr></tbody></table>

</details>

___

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-02-03 10:58:42 +05:30
Omkar Kesarkhaneandgithub-actions[bot] 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>&nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; </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>&nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10316/files#diff-0017bc08d8da96af6433770d0b274f825798d24401b33ce091b16a50fbaf4b57">+14/-3</a>&nbsp;
&nbsp; </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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10316/files#diff-78f24ecb2dbcfc38fdf3ec22b2559a5b40d236ea689d1c55f5d3e87168310264">+2/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>en.json</strong><dd><code>Add `traces.openInTraces` base
string</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10316/files#diff-892aa3d75ab6e129ef9116aa21bec1b9a15ba69ce5366d2a19128078c690d824">+1/-0</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>es.json</strong><dd><code>Add `traces.openInTraces`
translation key</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10316/files#diff-ac2a2167b8b973e3f776f9fe3b43bef4576470d8ad33f3d7cfaff6edff0e5778">+2/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>fr.json</strong><dd><code>Add `traces.openInTraces`
translation key</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10316/files#diff-db80e762b88ddf183820c050cdc6b215e6b02b365b5e73f5152af46b0d26f1a2">+2/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>it.json</strong><dd><code>Add `traces.openInTraces`
translation key</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10316/files#diff-2de78074a5f887afddce60d694ead9322e6ab223eb70251c13819f3028bdc70d">+2/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>ja.json</strong><dd><code>Add `traces.openInTraces`
translation key</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10316/files#diff-092e49c5f9fbc1b539ab9c2866d108d0ce1d314022b4c294eb4611b285e7bbd3">+2/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>ko.json</strong><dd><code>Add `traces.openInTraces`
translation key</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10316/files#diff-50e27ca1b4825a5026f3a251bfcf79c97cab07cfade2ebd512d332453d707c48">+2/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>nl.json</strong><dd><code>Add `traces.openInTraces`
translation key</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10316/files#diff-a1706021687ae5d8a1c006c49eab3946174fecd895f9b70a89c2e76d97250906">+2/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>pt.json</strong><dd><code>Add `traces.openInTraces`
translation key</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10316/files#diff-38e804f64cb5e0e451849fc84e9b46e53c954a4a4263d51c18665ad45f4b4815">+2/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>tr.json</strong><dd><code>Add `traces.openInTraces`
translation key</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10316/files#diff-6f0f131e9e2591480c4c5d1eaffc72d02dc31cbd8d3f90d8f012f08cabac8818">+2/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>zh.json</strong><dd><code>Add `traces.openInTraces`
translation key</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10316/files#diff-8818055db58f83230aeea4ebfd4cec31d924e8c47b6f91298e356959ab25339e">+2/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>
</table></details></td></tr></tr></tbody></table>

</details>

___

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-02-02 12:39:27 +05:30
Bhargav 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>&nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10311/files#diff-310992fb4914c6eaffbbce225e0c0683c2edad2bb0ab0f8e43530fc38152ed2a">+1/-0</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>CorrelatedLogsTable.vue</strong><dd><code>Conditionally
render dimension filters in table</code>&nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10311/files#diff-57e0ec3ac2762de21e67254edf83a4559490f717a8826762c0566fa3b70b6fb8">+2/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>TelemetryCorrelationDashboard.vue</strong><dd><code>Add
filter toggle in TelemetryCorrelationDashboard props</code>&nbsp;
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10311/files#diff-b77a766fa0094f641873071a8f13c73704933b941f387ed105e85a4e59efdb38">+2/-0</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>DetailTable.vue</strong><dd><code>Pass
`hide-dimension-filters` to logs correlation table</code>&nbsp; &nbsp;
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10311/files#diff-80552b5d25fa6cef9fbbe430b1865d761c4b132284c2d2175afceea8cbabc8c7">+3/-0</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>TraceDetails.vue</strong><dd><code>Adjust sidebar widths and
pass `selectedSpanId`</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10311/files#diff-bc7fe6b6339ee2cde6494c0982d4b860847447e79f7431f07d598e0446df06f2">+18/-7</a>&nbsp;
&nbsp; </td>

</tr>

<tr>
<td><strong>TraceDetailsSidebar.vue</strong><dd><code>Replace dashboard
with `CorrelatedLogsTable` in sidebar</code>&nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10311/files#diff-0017bc08d8da96af6433770d0b274f825798d24401b33ce091b16a50fbaf4b57">+12/-6</a>&nbsp;
&nbsp; </td>

</tr>

<tr>
<td><strong>TraceTree.vue</strong><dd><code>Add span selection highlight
and hover logic</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10311/files#diff-5d1fa8ba4d433439860b4bc036fb80e3e1b51948616dc04b1bfd1f9110a87091">+26/-1</a>&nbsp;
&nbsp; </td>

</tr>
</table></details></td></tr></tr></tbody></table>

</details>

___
2026-02-01 18:14:55 +05:30
Bhargav 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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </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>

___
2026-01-31 13:10:52 +05:30
Bhargav 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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</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>&nbsp;
&nbsp; </td>

</tr>

<tr>
  <td>
    <details>

<summary><strong>TelemetryCorrelationDashboard.vue</strong><dd><code>Add
dashboard loading/empty/error states</code>&nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; </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>&nbsp;
&nbsp; </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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; </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>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
  <td>
    <details>
<summary><strong>SearchResult.vue</strong><dd><code>Refine correlation
metrics handling</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </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>&nbsp;
</td>

</tr>
</table></td></tr></tr></tbody></table>

</details>

___
2026-01-30 21:37:18 +05:30
Bhargav 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>&nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; </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>&nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10279/files#diff-b77a766fa0094f641873071a8f13c73704933b941f387ed105e85a4e59efdb38">+13/-0</a>&nbsp;
&nbsp; </td>

</tr>

<tr>
<td><strong>DetailTable.vue</strong><dd><code>Remove legacy correlated
logs tab and toggles</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10279/files#diff-80552b5d25fa6cef9fbbe430b1865d761c4b132284c2d2175afceea8cbabc8c7">+22/-65</a>&nbsp;
</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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10279/files#diff-78f24ecb2dbcfc38fdf3ec22b2559a5b40d236ea689d1c55f5d3e87168310264">+4/-2</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>en.json</strong><dd><code>Add selectAll/deselectAll
translations</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10279/files#diff-892aa3d75ab6e129ef9116aa21bec1b9a15ba69ce5366d2a19128078c690d824">+2/-2</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>es.json</strong><dd><code>Add selectAll/deselectAll
translations</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10279/files#diff-ac2a2167b8b973e3f776f9fe3b43bef4576470d8ad33f3d7cfaff6edff0e5778">+2/-2</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>fr.json</strong><dd><code>Add selectAll/deselectAll
translations</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10279/files#diff-db80e762b88ddf183820c050cdc6b215e6b02b365b5e73f5152af46b0d26f1a2">+4/-2</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>it.json</strong><dd><code>Add selectAll/deselectAll
translations</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10279/files#diff-2de78074a5f887afddce60d694ead9322e6ab223eb70251c13819f3028bdc70d">+2/-2</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>ja.json</strong><dd><code>Add selectAll/deselectAll
translations</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10279/files#diff-092e49c5f9fbc1b539ab9c2866d108d0ce1d314022b4c294eb4611b285e7bbd3">+4/-2</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>ko.json</strong><dd><code>Add selectAll/deselectAll
translations</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10279/files#diff-50e27ca1b4825a5026f3a251bfcf79c97cab07cfade2ebd512d332453d707c48">+4/-2</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>nl.json</strong><dd><code>Add selectAll/deselectAll
translations</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10279/files#diff-a1706021687ae5d8a1c006c49eab3946174fecd895f9b70a89c2e76d97250906">+4/-2</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>pt.json</strong><dd><code>Add selectAll/deselectAll
translations</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10279/files#diff-38e804f64cb5e0e451849fc84e9b46e53c954a4a4263d51c18665ad45f4b4815">+4/-2</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>tr.json</strong><dd><code>Add selectAll/deselectAll
translations</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10279/files#diff-6f0f131e9e2591480c4c5d1eaffc72d02dc31cbd8d3f90d8f012f08cabac8818">+4/-2</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>zh.json</strong><dd><code>Add selectAll/deselectAll
translations</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10279/files#diff-8818055db58f83230aeea4ebfd4cec31d924e8c47b6f91298e356959ab25339e">+4/-2</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>
</table></details></td></tr></tr></tbody></table>

</details>

___
2026-01-30 16:00:26 +05:30
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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10246/files#diff-310992fb4914c6eaffbbce225e0c0683c2edad2bb0ab0f8e43530fc38152ed2a">+583/-0</a>&nbsp;
</td>

</tr>

<tr>
<td><strong>TimeRangeEditor.vue</strong><dd><code>Add time range editor
dialog component</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10246/files#diff-fbebc998fca2093c7f168d13e720aa6606b21ace2e9f2185f81c49e59e9eec70">+498/-0</a>&nbsp;
</td>

</tr>

<tr>
<td><strong>DimensionFilterEditor.vue</strong><dd><code>Add dimension
filter editor dialog component</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10246/files#diff-6c9172f6882b50f84b5927c491c21702617c66ddde648170199bb11b360f4dde">+324/-0</a>&nbsp;
</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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10246/files#diff-f5ec3243549ef3a5081acfb9b928fb87d26e86e04a669a85ad03a1a053ec4eac">+591/-0</a>&nbsp;
</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>&nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10246/files#diff-de54e5b8cd9503c53f3f802ac7bc7e3d25846f1657c77cd99534d9f60673992e">+6/-2</a>&nbsp;
&nbsp; &nbsp; </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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10246/files#diff-ad7744a2edc4764be1c7d67feb7fe1473536af245821898a9136256b3aeb0342">+8/-3</a>&nbsp;
&nbsp; &nbsp; </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>&nbsp;
&nbsp; </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>&nbsp;
&nbsp; </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>&nbsp;
&nbsp; </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>&nbsp;
&nbsp; </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>&nbsp;
&nbsp; </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>&nbsp;
&nbsp; </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>&nbsp;
&nbsp; </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>&nbsp;
&nbsp; </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>&nbsp;
&nbsp; </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>&nbsp;
&nbsp; </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>&nbsp;
&nbsp; </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>&nbsp;
&nbsp; </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>&nbsp;
</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>&nbsp;
</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>&nbsp;
</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>&nbsp;
</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>&nbsp;
</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>&nbsp;
&nbsp; </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>&nbsp;
&nbsp; </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>
2026-01-29 19:31:17 +05:30
Bhargav 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>&nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </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>&nbsp;
&nbsp; </td>

</tr>

<tr>
  <td>
    <details>
<summary><strong>SearchResult.vue</strong><dd><code>Reset correlation
data on sidebar close</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; </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>&nbsp;
&nbsp; </td>

</tr>

<tr>
  <td>
    <details>
<summary><strong>TenstackTable.vue</strong><dd><code>Remove redundant
row measurement</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </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>&nbsp;
&nbsp; &nbsp; </td>

</tr>
</table></td></tr></tr></tbody></table>

</details>

___
2026-01-19 11:44:16 +05:30
Sai Nikhilandgithub-actions[bot] 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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10080/files#diff-a1827956e5a817edc7efb5f4516e7cc4d453e15ea9e9d970aafb8360b09fc78e">+12/-0</a>&nbsp;
&nbsp; </td>

</tr>

<tr>
<td><strong>AlertList.vue</strong><dd><code>Remove incidents tab and
adjust layout</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; </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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10080/files#diff-953ad015996758a8c86e489499cd3b0a614501b99b0c9c5c242a299e34c24ff2">+54/-28</a>&nbsp;
</td>

</tr>

<tr>
<td><strong>MainLayout.vue</strong><dd><code>Add incidents link to main
menu</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10080/files#diff-91e4134141264c4624d4eb4cfa987b33ed31eb6f551e089c0b26f2610dd54362">+11/-4</a>&nbsp;
&nbsp; </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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10080/files#diff-78f24ecb2dbcfc38fdf3ec22b2559a5b40d236ea689d1c55f5d3e87168310264">+2/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>en.json</strong><dd><code>Add English translation for
incidents</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10080/files#diff-892aa3d75ab6e129ef9116aa21bec1b9a15ba69ce5366d2a19128078c690d824">+2/-0</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>es.json</strong><dd><code>Add Spanish translation for
incidents</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10080/files#diff-ac2a2167b8b973e3f776f9fe3b43bef4576470d8ad33f3d7cfaff6edff0e5778">+2/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>fr.json</strong><dd><code>Add French translation for
incidents</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10080/files#diff-db80e762b88ddf183820c050cdc6b215e6b02b365b5e73f5152af46b0d26f1a2">+2/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>it.json</strong><dd><code>Add Italian translation for
incidents</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10080/files#diff-2de78074a5f887afddce60d694ead9322e6ab223eb70251c13819f3028bdc70d">+2/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>ja.json</strong><dd><code>Add Japanese translation for
incidents</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10080/files#diff-092e49c5f9fbc1b539ab9c2866d108d0ce1d314022b4c294eb4611b285e7bbd3">+2/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>ko.json</strong><dd><code>Add Korean translation for
incidents</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10080/files#diff-50e27ca1b4825a5026f3a251bfcf79c97cab07cfade2ebd512d332453d707c48">+2/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>nl.json</strong><dd><code>Add Dutch translation for
incidents</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10080/files#diff-a1706021687ae5d8a1c006c49eab3946174fecd895f9b70a89c2e76d97250906">+2/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>pt.json</strong><dd><code>Add Portuguese translation for
incidents</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10080/files#diff-38e804f64cb5e0e451849fc84e9b46e53c954a4a4263d51c18665ad45f4b4815">+2/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>tr.json</strong><dd><code>Add Turkish translation for
incidents</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10080/files#diff-6f0f131e9e2591480c4c5d1eaffc72d02dc31cbd8d3f90d8f012f08cabac8818">+2/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>zh.json</strong><dd><code>Add Chinese translation for
incidents</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10080/files#diff-8818055db58f83230aeea4ebfd4cec31d924e8c47b6f91298e356959ab25339e">+2/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>
</table></details></td></tr></tr></tbody></table>

</details>

___

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-01-19 07:08:45 +05:30
ByteBaker 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
2026-01-08 13:28:04 +05:30
Bhargav f0527b9267 fix: UI tailwind changes (#9836)
issue #9539
2026-01-05 18:29:10 +05:30
Bhargav 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>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</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>&nbsp;
&nbsp; &nbsp; </td>

</tr>
</table></td></tr></tr></tbody></table>

</details>

___
2025-12-29 20:00:34 +05:30
Bhargav 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>&nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</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>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
  <td>
    <details>

<summary><strong>TelemetryCorrelationDashboard.vue</strong><dd><code>Update
correlation dashboard filter buttons</code>&nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</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>&nbsp;
&nbsp; </td>

</tr>

<tr>
  <td>
    <details>
<summary><strong>DetailTable.vue</strong><dd><code>Enhance DetailTable
correlation loading</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; </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>&nbsp;
</td>

</tr>

<tr>
  <td>
    <details>
<summary><strong>JsonPreview.vue</strong><dd><code>Refine JSON preview
correlation handler</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; </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>&nbsp;
</td>

</tr>

<tr>
  <td>
    <details>
<summary><strong>SearchResult.vue</strong><dd><code>Implement direct
correlation on log rows</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; </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>&nbsp;
&nbsp; </td>

</tr>

<tr>
  <td>
    <details>
<summary><strong>detail-table.scss</strong><dd><code>Increase detail
dialog width</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; </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>&nbsp;
&nbsp; &nbsp; </td>

</tr>
</table></td></tr></tr></tbody></table>

</details>

___
2025-12-23 17:21:16 +05:30
sktrpathiandsai nikhil kethe 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>
2025-12-12 22:14:18 +05:30
Ashish Kolheandgithub-actions[bot] 34939d0769 fix: fqn co relation user settings (#9536)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-10 06:38:21 +05:30
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>
2025-12-08 19:05:33 +05:30
Ashish Kolheandgithub-actions[bot] 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>
2025-12-04 13:58:09 +05:30