mirror of
https://github.com/openobserve/openobserve.git
synced 2026-11-04 16:09:05 +00:00
9bf7164e2b68ed5c277f0235dfbbce1a8268bd2a
50
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
8da9959293 | fix: timestamp in human redable format based on selected timezone (#12899) | ||
|
|
060e02c655 | chore: correlated metrics tab fixes (#12866) | ||
|
|
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. |
||
|
|
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> |
||
|
|
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> |
||
|
|
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 |
||
|
|
f5aa61b6c1 | fix: correlated logs table UI fix (#12437) | ||
|
|
f8249d341c | fix: ux revamp search input component (#12383) | ||
|
+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> |
||
|
|
6ecd9363be | fix: refactor corealted metrics tab (#12242) | ||
|
|
1829cd46f8 |
fix: ux improvement dialog - Revert (#11824)
Reverts openobserve/openobserve#11644 |
||
|
|
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> |
||
|
|
f79d123ef7 | fix: two scrollbars were visible on logs page and logs tab in traces page (#11789) | ||
|
|
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. |
||
|
|
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> |
||
|
|
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. |
||
|
|
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> |
||
|
|
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> |
||
|
|
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> |
||
|
|
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. |
||
|
|
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> |
||
|
|
907a3c74db |
fix: simplify _correlate API (#11301)
Co-authored-by: Ashish Kolhe <ashish.j.kolhe@gmail.com> |
||
|
|
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> |
||
|
|
b948361769 |
chore: update copyright year to 2026 (#11166)
Co-authored-by: Hengfei Yang <hengfei.yang@gmail.com> |
||
|
|
eff23e31b7 | fix: added unit test cases for services layer (#10867) | ||
|
|
66d68ce9fb | fix: 10744 add metric grouping in metrics correlation tab infra network others (#10767) | ||
|
|
fe7d9f12a9 | fix: Traces list UI improvements (#10670) | ||
|
|
94ade6598a |
fix: Correlation error message fix (#10511)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> |
||
|
|
524606e4f0 | fix: insight page baseline vs selected time range (#10514) | ||
|
|
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> |