mirror of
https://github.com/openobserve/openobserve.git
synced 2026-11-06 08:09:24 +00:00
16afc7588c8dd6558f2d79cf6691e2af9c801dd7
942
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
16afc7588c | feat: impl llm session view backend api (#10412) | ||
|
|
6a03a7675f |
feat(incidents): enrich alert dimensions from query conditions (#10399)
### **User description** ## Summary Adds dimension enrichment from alert conditions (SQL WHERE, GUI conditions, PromQL) to ensure consistent dimensions across alert firings, preventing duplicate incidents caused by incomplete result_row data. ## Problem Alert `result_row` has inconsistent fields depending on log entry completeness: - Same alert creates incidents with different dimensions - Production data shows 50% of incidents missing deployment dimension - Causes unnecessary duplicate incidents (e.g., "test_alert_1_might_break" creates 6 separate incidents for same namespaces) **Example:** ``` Alert fires 3 times: Firing #1: result_row = {namespace: "ziox"} → Incident #1 (68 alerts) Firing #2: result_row = {namespace: "ziox", deployment: "router"} → Incident #2 (23 alerts) ❌ Separate! Firing #3: result_row = {namespace: "ziox", deployment: "compactor"} → Incident #3 (19 alerts) ❌ Separate! Result: 3 incidents for same namespace ``` ## Solution Extract baseline dimensions from alert query conditions and enrich result_row: **Priority order:** 1. result_row (actual runtime data) - highest priority 2. Alert conditions (SQL/GUI/PromQL) - fills gaps with baseline 3. Service Discovery - fills remaining gaps **Supported condition types:** - ✅ SQL WHERE clauses: `WHERE namespace='prod' AND deployment='api'` - ✅ GUI conditions V1 (tree-based) and V2 (linear) - ✅ PromQL label matchers: `{namespace="prod",deployment="api"}` ## Changes - Make result_row labels mutable for enrichment - Call enterprise sql_parser to extract condition dimensions - Merge condition dimensions into labels using `.entry().or_insert()` - Add logging for dimension enrichment tracking - Update debug log message ## Impact - **Dimension consistency:** 50% → >95% - **Incident reduction:** Target -60% total (from -50% with hierarchical correlation) - **Works for:** Auto-fired and manually triggered alerts - **Performance:** <1ms overhead per alert ## Testing - Covered by enterprise integration tests (26 tests passing) - Requires enterprise PR (to be created) for sql_parser implementation - Full test suite: 92 tests passing ## Design Design at: `designs/incidents/hierarchical-correlation.md` ## Related - Depends on: Enterprise PR (creating next) - Builds on: #10XXX (hierarchical correlation) ___ ### **PR Type** Enhancement, Bug fix, Tests ___ ### **Description** - Add hierarchical incident correlation upgrades - Enrich alert labels from query conditions - Introduce upgrade window configuration defaults - Add key/dimension relationship unit tests |
||
|
|
b315f4ca08 | feat: dag graph for llm traces (#10388) | ||
|
|
e6d5b6eed5 | fix: ParserError on streams with : in name (#10394) | ||
|
|
ac57e491d6 |
fix: query usage stream for their org (#10139)
### **User description** resolve https://github.com/openobserve/o2-enterprise/issues/1168 ___ ### **PR Type** Enhancement, Tests ___ ### **Description** - Add `usage_stream_enabled` org setting flag - Provide `get_org_setting_usage_stream_enabled` function - Extend ingestion to route usage streams per org - Introduce `usage_schema` module for lazy schema init - Add `UsageData::init_for_reflection` for schema inference ___ ### Diagram Walkthrough ```mermaid flowchart LR UD["UsageData ingestion"] -- "serialize & filter" --> RD["report_data: Vec<Value>"] RD -- "ingest to meta org" --> META["ingest_reporting_data(META_ORG_ID)"] RD -- "split by org" --> PERORG["per_org_map"] PERORG -- "for each enabled org" --> INIT["ensure_usage_stream_initialized(org)"] INIT -- "then" --> INGORG["ingest_reporting_data(org)"] ``` <details> <summary><h3> File Walkthrough</h3></summary> <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Configuration changes</strong></td><td><details><summary>2 files</summary><table> <tr> <td><strong>organization.rs</strong><dd><code>Add default and config for usage_stream_enabled</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10139/files#diff-4f089715a7ac4f78b45039d773f2fccbb4fbc6a409e0ab9ceee1fcf7911bc44b">+9/-0</a> </td> </tr> <tr> <td><strong>mod.rs</strong><dd><code>Include usage_schema module</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10139/files#diff-c6255010f7a87d6acdb3ad04954fc9f2c27350ae319c53a1857b120aa06408a3">+1/-0</a> </td> </tr> </table></details></td></tr><tr><td><strong>Enhancement</strong></td><td><details><summary>5 files</summary><table> <tr> <td><strong>usage.rs</strong><dd><code>Add UsageData init_for_reflection method</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10139/files#diff-b15a6adcb163dc27993c83528105a6726c44c86d8a84c5cf5d1d382c6ec8cc29">+55/-0</a> </td> </tr> <tr> <td><strong>settings.rs</strong><dd><code>Handle usage_stream_enabled in HTTP settings</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10139/files#diff-1e807254f2faf8fd09b802f71b23412f203eed289033f96bfc62b15dd997db8c">+5/-0</a> </td> </tr> <tr> <td><strong>organization.rs</strong><dd><code>Add get_org_setting_usage_stream_enabled API</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10139/files#diff-ce65cea926a09721a8fea14d07fe188bc2b887218e95d74a8bffefb54001da50">+27/-0</a> </td> </tr> <tr> <td><strong>ingestion.rs</strong><dd><code>Route and serialize usage streams per org</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10139/files#diff-3edd5f4ed1eed0f765b7b450ef0fbf587632e6b22302006a5e397049e297057f">+60/-5</a> </td> </tr> <tr> <td><strong>usage_schema.rs</strong><dd><code>Implement lazy schema init and unit tests</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10139/files#diff-20a9eccd303d49e271e64fb18c608b7ef135a710e9e057d32db9c0d13b15e1e3">+191/-0</a> </td> </tr> </table></details></td></tr></tr></tbody></table> </details> ___ |
||
|
|
c05ae833b8 | fix: routes for billings (#10358) | ||
|
|
21155591fd | feat: map otel field to openobserve field (#10213) | ||
|
|
b11a50e4ff | fix: prevent incorrect incident correlation for alerts with empty stable dimensions (#10361) | ||
|
|
f23d22d9b7 |
fix: adds pass through headers for ai-agent (#10330)
### **User description** refer https://github.com/openobserve/openobserve/pull/10069 ___ ### **PR Type** - Enhancement - Tests - Bug fix ___ ### **Description** - Add configurable header passthrough extraction - Prepare AI chat to forward headers - Add unit tests for header matching - Stop storing backfill ingestion errors ___ ### Diagram Walkthrough ```mermaid flowchart LR req["Incoming AI chat request"] cfg["Passthrough patterns (CSV)"] ext["extract_passthrough_headers()"] fwd["forward_headers merged"] agent["Agent client query (future headers)"] tests["Unit tests"] req -- "provides headers" --> ext cfg -- "patterns" --> ext ext -- "selected headers" --> fwd fwd -- "intended to forward" --> agent ext -- "verified by" --> tests ``` <details> <summary><h3> File Walkthrough</h3></summary> <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Enhancement</strong></td><td><table> <tr> <td> <details> <summary><strong>chat.rs</strong><dd><code>Add passthrough header extraction for AI chat</code> </dd></summary> <hr> src/handler/http/request/ai/chat.rs <ul><li>Add <code>extract_passthrough_headers</code> helper with wildcard support<br> <li> Collect passthrough headers in <code>chat</code> and <code>chat_stream</code><br> <li> Merge passthrough headers without overwriting existing ones<br> <li> Add unit tests for matching behavior</ul> </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/10330/files#diff-12a78cbb31b313cb3a0ca50f25c177470cf49b02708f179fe138ed3d66a2926b">+178/-1</a> </td> </tr> </table></td></tr><tr><td><strong>Bug fix</strong></td><td><table> <tr> <td> <details> <summary><strong>handlers.rs</strong><dd><code>Disable persisting ingestion error during backfill</code> </dd></summary> <hr> src/service/alerts/scheduler/handlers.rs - Comment out `ingestion_error` assignment on batch failure </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/10330/files#diff-5eca8995a88fcecb6d6b8efd3c7c4496f4a96a4b060fb4ed85593574f7cf49eb">+1/-1</a> </td> </tr> </table></td></tr></tr></tbody></table> </details> ___ |
||
|
|
571be3e746 |
fix: include functions validation in mcp (#10324)
### **PR Type**
Documentation, Enhancement
___
### **Description**
- Update function test endpoint docs
- Clarify VRL/JS validation behavior
- Add MCP extension metadata
___
### Diagram Walkthrough
```mermaid
flowchart LR
A["/api/{org_id}/functions/test endpoint"] -- "updates OpenAPI summary/description" --> B["Clearer VRL/JS validation docs"]
A["/api/{org_id}/functions/test endpoint"] -- "adds extension" --> C["x-o2-mcp category metadata"]
```
<details> <summary><h3> File Walkthrough</h3></summary>
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Documentation</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>mod.rs</strong><dd><code>Refine testFunction docs and
MCP metadata</code>
</dd></summary>
<hr>
src/handler/http/request/functions/mod.rs
<ul><li>Change OpenAPI summary to validation focus<br> <li> Rewrite
description to emphasize syntax validation<br> <li> Document
<code>trans_type</code> VRL/JS options<br> <li> Add
<code>x-o2-mcp</code> OpenAPI extension metadata</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10324/files#diff-a5e1b3644cef9feb689dfe66382e44e5434ecadbff3469127346a333d4733102">+6/-5</a>
</td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
|
||
|
|
6e8426feb3 | fix: pick up fqn based on lastest update (#10334) | ||
|
|
19034ca3a4 | feat: support memory profiling with jemalloc and cpu profiling (#10317) | ||
|
|
6a0ebc505b | fix: change domain management method from post to put (#10320) | ||
|
|
b23f6273b7 | fix: o2 assistant issues (#10315) | ||
|
|
fac4b9eecc | fix: result cache delta end time to fix duplicates during delta search (#10313) | ||
|
|
0a1d7196ce | perf: add cache statistics functionality (#10306) | ||
|
|
e52dacb4b2 |
fix: alert destinations (#10301)
### **PR Type**
Enhancement, Tests
___
### **Description**
- Support backend-managed prebuilt templates
- Cache and fetch templates with async preview
- Rename templates prefix to `prebuilt_`, update tests
- Add backend ensure_system_templates & template reuse
___
### Diagram Walkthrough
```mermaid
flowchart LR
BL["Backend load_prebuilt_config & builtins"]
Endpoint["GET /api/{org}/alerts/templates/system/prebuilt"]
FE["Frontend fetchSystemTemplates()"]
Cache["systemTemplatesCache in memory"]
Generate["generatePreview/testDestination"]
UI["UI preview/test buttons"]
BL -- "provides templates" --> Endpoint
Endpoint -- "called by" --> FE
FE -- "stores in" --> Cache
Cache -- "used by" --> Generate
Generate -- "triggers" --> UI
```
<details> <summary><h3> File Walkthrough</h3></summary>
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Enhancement</strong></td><td><details><summary>14
files</summary><table>
<tr>
<td><strong>usePrebuiltDestinations.ts</strong><dd><code>Implement
fetchSystemTemplates and caching logic</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-2c90b706aae7486541bbee80d2c67c9de18504b90e1d9618ba130e017d0a5246">+195/-28</a></td>
</tr>
<tr>
<td><strong>slack.ts</strong><dd><code>Rename slack template to
`prebuilt_slack`</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-f7068d6fc979cc1fbc6e2bc562be53f5453fc874b367c1688adf70c0896aac62">+41/-45</a>
</td>
</tr>
<tr>
<td><strong>email.ts</strong><dd><code>Rename email template and remove
CC/subject</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-3e756aefde39bd7c780066f6ee6e22df1f2846f5e0013fd6ec568a98dd54f64b">+18/-16</a>
</td>
</tr>
<tr>
<td><strong>servicenow.ts</strong><dd><code>Rename ServiceNow template
to `prebuilt_servicenow`</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-3790cdccf9f6221cf55c86664b4cbfb65d20f3da9db719167898b8b76b698a2f">+2/-2</a>
</td>
</tr>
<tr>
<td><strong>alert_templates.ts</strong><dd><code>Add
`get_system_templates` API call</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-fd8c4260abc3df601e4331d36b0c211eca568ee70139ad90c87247bc552fe4e2">+3/-0</a>
</td>
</tr>
<tr>
<td><strong>prebuilt_loader.rs</strong><dd><code>Add
get_prebuilt_template and fallback loader</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-d75e85b239701cb3c9e85c15a8a5cd8d23120a4b5ba0a61003c0df1f4854b74d">+345/-10</a></td>
</tr>
<tr>
<td><strong>destinations.rs</strong><dd><code>Implement
ensure_prebuilt_template & reuse logic</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-c06292c108cc15b585a0e3318fd15d3e86c1f1a0f001ab84fff85facefd3c4d3">+420/-1</a>
</td>
</tr>
<tr>
<td><strong>templates.rs</strong><dd><code>Add ensure_system_templates
initialization</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-975d7665f1439ca49810c28554f85e513ff3a4c8b849f2bb1966536230951464">+86/-0</a>
</td>
</tr>
<tr>
<td><strong>templates.rs</strong><dd><code>Expose GET system prebuilt
templates endpoint</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-b08e274a64cc935b0cec402a04271a872b1586027a77dc0ccb84c597c3960f61">+54/-0</a>
</td>
</tr>
<tr>
<td><strong>AddDestination.vue</strong><dd><code>Update form logic for
prebuilt vs custom</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-61b295458e13049a538f5014124855d58dce664dfbd644b57a964a37a07b7a3f">+123/-66</a></td>
</tr>
<tr>
<td><strong>DestinationTestResult.vue</strong><dd><code>Improve test
error message handling</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-1fa17c0e52becd683dec1bbee12aab6823b28c1bbedca0d5039d688527f826e5">+29/-2</a>
</td>
</tr>
<tr>
<td><strong>AlertsDestinationList.vue</strong><dd><code>Add custom
destination label logic</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-e9d05ba6c071c0e2f5d9ef7acdef757f79910abd6897b29e27b069a10d4ba8de">+15/-2</a>
</td>
</tr>
<tr>
<td><strong>PrebuiltDestinationForm.vue</strong><dd><code>Comment out
unsupported email fields</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-606eb6f7e6e43518cc9b1f3194097c52acf3df0df9ab5945274196d7221035a0">+3/-2</a>
</td>
</tr>
<tr>
<td><strong>pagerduty.ts</strong><dd><code>Rename PagerDuty template to
`prebuilt_pagerduty`</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-a216d76143343db3aec8efe02596be53b438813aa2aa8af2fb1080e17f5540aa">+2/-2</a>
</td>
</tr>
</table></details></td></tr><tr><td><strong>Tests</strong></td><td><details><summary>5
files</summary><table>
<tr>
<td><strong>templates.spec.ts</strong><dd><code>Update tests to use
`prebuilt_` prefix</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-262b3003a3045192e0aaccddebe76bdb29fcd68655e8bacfd486e50575a14801">+9/-9</a>
</td>
</tr>
<tr>
<td><strong>types.spec.ts</strong><dd><code>Adjust PrebuiltConfig tests
for new prefix</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-67fc167ebe4d6a433579ba9850a6d7ce3a83d97bebe410521f85775a948595fc">+4/-4</a>
</td>
</tr>
<tr>
<td><strong>alertDestinationsPage.js</strong><dd><code>Update selector
for test result element</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-57e5c53b4ef998b3d8708149620ff94dcc46807927f1a3a9e9f28ed3ebe25b0a">+3/-1</a>
</td>
</tr>
<tr>
<td><strong>alerts-destinations-prebuilt.spec.js</strong><dd><code>Add
random name for Slack destination test</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-0295825c868c1d1ed5cc194ba04843a7d5f4e58decff2593c7d9bd5b29ec33a4">+1/-0</a>
</td>
</tr>
<tr>
<td><strong>discord.spec.ts</strong><dd><code>Update Discord tests for
new prefix</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-21a02fd01b42452d1f13140715e5f81146b7a62d61d4b899deea4f30be06284e">+2/-2</a>
</td>
</tr>
</table></details></td></tr><tr><td><strong>Configuration
changes</strong></td><td><details><summary>1 files</summary><table>
<tr>
<td><strong>mod.rs</strong><dd><code>Route for system prebuilt templates
API</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-02556e3f515441b5d2b6bbea7829df488beac03c4cc41309a6638ae3c0e0aec6">+1/-0</a>
</td>
</tr>
</table></details></td></tr><tr><td><strong>Documentation</strong></td><td><details><summary>1
files</summary><table>
<tr>
<td><strong>en.json</strong><dd><code>Add custom destination translation
keys</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-892aa3d75ab6e129ef9116aa21bec1b9a15ba69ce5366d2a19128078c690d824">+5/-1</a>
</td>
</tr>
</table></details></td></tr><tr><td><strong>Additional
files</strong></td><td><details><summary>25 files</summary><table>
<tr>
<td><strong>auth.rs</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-9bc2b1841504a435f66ad094f72ddbe7b7fa75e5e1557b8adbfe36f7f0592e1b">+20/-0</a>
</td>
</tr>
<tr>
<td><strong>openapi.rs</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-edb8ce232c0cd08366879f642788a75d99f6bab64b4c0e77391281fdb9241e90">+1/-0</a>
</td>
</tr>
<tr>
<td><strong>mod.rs</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-f2e4c29b8eef22189ec704a832633c4bd135a24444f054864c98064bd0963681">+8/-2</a>
</td>
</tr>
<tr>
<td><strong>main.rs</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-42cb6807ad74b3e201c5a7ca98b911c5fa08380e942be6e4ac5807f8377f87fc">+5/-5</a>
</td>
</tr>
<tr>
<td><strong>destinations.rs</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-4652ac6be3f7cf720faf5b9c4cb1d5dbab9e2fed608f3abbe295fb270dde54b5">+6/-0</a>
</td>
</tr>
<tr>
<td><strong>de.json</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-78f24ecb2dbcfc38fdf3ec22b2559a5b40d236ea689d1c55f5d3e87168310264">+5/-1</a>
</td>
</tr>
<tr>
<td><strong>es.json</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-ac2a2167b8b973e3f776f9fe3b43bef4576470d8ad33f3d7cfaff6edff0e5778">+5/-1</a>
</td>
</tr>
<tr>
<td><strong>fr.json</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-db80e762b88ddf183820c050cdc6b215e6b02b365b5e73f5152af46b0d26f1a2">+5/-1</a>
</td>
</tr>
<tr>
<td><strong>it.json</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-2de78074a5f887afddce60d694ead9322e6ab223eb70251c13819f3028bdc70d">+5/-1</a>
</td>
</tr>
<tr>
<td><strong>ja.json</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-092e49c5f9fbc1b539ab9c2866d108d0ce1d314022b4c294eb4611b285e7bbd3">+5/-1</a>
</td>
</tr>
<tr>
<td><strong>ko.json</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-50e27ca1b4825a5026f3a251bfcf79c97cab07cfade2ebd512d332453d707c48">+5/-1</a>
</td>
</tr>
<tr>
<td><strong>nl.json</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-a1706021687ae5d8a1c006c49eab3946174fecd895f9b70a89c2e76d97250906">+5/-1</a>
</td>
</tr>
<tr>
<td><strong>pt.json</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-38e804f64cb5e0e451849fc84e9b46e53c954a4a4263d51c18665ad45f4b4815">+5/-1</a>
</td>
</tr>
<tr>
<td><strong>tr.json</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-6f0f131e9e2591480c4c5d1eaffc72d02dc31cbd8d3f90d8f012f08cabac8818">+5/-1</a>
</td>
</tr>
<tr>
<td><strong>zh.json</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-8818055db58f83230aeea4ebfd4cec31d924e8c47b6f91298e356959ab25339e">+5/-1</a>
</td>
</tr>
<tr>
<td><strong>discord.ts</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-e4703f8270d000f785a48aa220752f303d2330b6e123817310ecb8a60815fb0b">+2/-2</a>
</td>
</tr>
<tr>
<td><strong>email.spec.ts</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-744915b43017fdc102b0e00d157d7deef4b1f23e0e8e5cb483c2f2c9d6af655c">+2/-2</a>
</td>
</tr>
<tr>
<td><strong>index.spec.ts</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-9b9a6bc1e17f1874fda50428263ff607dca3ba94b01f95933f179ba544f6e11a">+1/-1</a>
</td>
</tr>
<tr>
<td><strong>msteams.spec.ts</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-6815fa747fe74c5cd6835f9fce8f037c15489fab95e399e15199a104c0c08061">+2/-2</a>
</td>
</tr>
<tr>
<td><strong>msteams.ts</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-efeec26ed5ec589000448466539dcdb0d7bb918e8a4f80c9df565eaa1e522b5c">+2/-2</a>
</td>
</tr>
<tr>
<td><strong>opsgenie.spec.ts</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-2560842b70b2f74eb3ef2c940e0a55500b3bd5b89a9b5b34e3c0039c57fc1361">+2/-2</a>
</td>
</tr>
<tr>
<td><strong>opsgenie.ts</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-9412abdf9baf6b8c0cc87fa3ea0efec50928399c0112ad695c021040d24d7c3a">+2/-2</a>
</td>
</tr>
<tr>
<td><strong>pagerduty.spec.ts</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-f62fcc0b648144816cef61b1f5512ba5e2bc573237158efbd896d33e779282f2">+2/-2</a>
</td>
</tr>
<tr>
<td><strong>servicenow.spec.ts</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-ada67bb0bbeaf97a2e7c6a21a741d53df941306e6c694d1a1d89cf965403ce85">+2/-2</a>
</td>
</tr>
<tr>
<td><strong>slack.spec.ts</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10301/files#diff-3fa8b2b7534ebec5c2cea1c76c54741c105b64819bb87e6a7f6d3b5a85969740">+2/-2</a>
</td>
</tr>
</table></details></td></tr></tr></tbody></table>
</details>
___
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
|
||
|
|
9f86567547 | fix: search around honor size even if sql has limit (#10289) | ||
|
|
b139c012a1 |
fix: adding reporting in HTTP models enum (#10277)
### **User description**
OFGA and migration are already working
___
### **PR Type**
Enhancement
___
### **Description**
- Add `Reports` variant to `FolderType`
- Extend `From<FolderType>` conversion mapping
___
<details> <summary><h3> File Walkthrough</h3></summary>
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Enhancement</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>folders.rs</strong><dd><code>Introduce Reports folder
variant and mapping</code>
</dd></summary>
<hr>
src/handler/http/models/folders.rs
<ul><li>Added <code>Reports</code> variant to <code>FolderType</code>
enum<br> <li> Updated <code>From<FolderType></code> mapping for
<code>Reports</code></ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10277/files#diff-3d6faeebd404db5b13f071895c7d4729bbd62a85c5c7ea6d67c9c69a44babb11">+2/-0</a>
</td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
|
||
|
|
294118ecca | fix: update routing for Kinesis and GCP requests (#10297) | ||
|
|
2c4ae4ea66 |
fix: actions routes and rename role (#10255)
### **User description** - **fix action routes** - **rename script server** ___ ### **PR Type** Enhancement ___ ### **Description** - Rename `ScriptServer` role to `ActionServer` - Add `ActionServer` auth middleware and handlers - Update init, routing, config checks for action server - Enhance `list_actions` logging and error handling ___ ### Diagram Walkthrough ```mermaid flowchart LR Config["Load configuration"] --> Cluster["Cluster role check"] Cluster --> Main["Main init_action_server"] Main --> Router["ActionServer router setup"] Router --> AuthMw["Authentication middleware"] AuthMw --> Handlers["ActionServer request handlers"] Handlers --> Deployer["ACTION_DEPLOYER invocation"] ``` <details> <summary><h3> File Walkthrough</h3></summary> <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Configuration changes</strong></td><td><details><summary>1 files</summary><table> <tr> <td><strong>config.rs</strong><dd><code>Replace ScriptServer role check with ActionServer</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10255/files#diff-9aeee4a74c0520daa40f9b81c7016f5b6b3254375b968dd7598e745630980d62">+2/-2</a> </td> </tr> </table></details></td></tr><tr><td><strong>Refactoring</strong></td><td><details><summary>6 files</summary><table> <tr> <td><strong>cluster.rs</strong><dd><code>Rename ScriptServer variants and methods</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10255/files#diff-a2667c1be522ce095796a7066e02631a7e01acc85a46573e1e3a157d2aefb7c3">+12/-10</a> </td> </tr> <tr> <td><strong>mod.rs</strong><dd><code>Expose action_server auth module</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10255/files#diff-740e95d118f8498bbd4c8b3a56528c33ee98279036f723ed37975347b58600c8">+1/-1</a> </td> </tr> <tr> <td><strong>mod.rs</strong><dd><code>Register action_server request module</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10255/files#diff-a1cfd40da1ab6cd4db0181fd8664965034298047b3b7c3320c5385897a7c4aed">+2/-2</a> </td> </tr> <tr> <td><strong>mod.rs</strong><dd><code>Remove old script_server handlers</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10255/files#diff-2de1185a98f50a00cfe6d7d3984957e96d92e5f5df60290a6263e96fb73bc993">+0/-185</a> </td> </tr> <tr> <td><strong>main.rs</strong><dd><code>Update init and router to action server</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10255/files#diff-42cb6807ad74b3e201c5a7ca98b911c5fa08380e942be6e4ac5807f8377f87fc">+21/-15</a> </td> </tr> <tr> <td><strong>node.rs</strong><dd><code>Map ActionServer to ProtoRole::ScriptServer</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10255/files#diff-2f1dc99535ad93ff353f43538b436a01ee7c3d81c008db0f5dfaf45414f29ec6">+2/-2</a> </td> </tr> </table></details></td></tr><tr><td><strong>Enhancement</strong></td><td><details><summary>3 files</summary><table> <tr> <td><strong>action_server.rs</strong><dd><code>Add ActionServer authentication middleware</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10255/files#diff-0f69b5830bc733a31dfd0fc967302084bc0bc7d2f21e92fa32ae599f2216c479">[link]</a> </td> </tr> <tr> <td><strong>mod.rs</strong><dd><code>Implement ActionServer request handlers</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10255/files#diff-c125d4ccb837b4dbf987658592af12e0858a1269c2e5ef2b1d1587bbcdb99d47">+244/-0</a> </td> </tr> <tr> <td><strong>action.rs</strong><dd><code>Add logging and error details to list_actions</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10255/files#diff-616df3014c553f763ea57e925f1bff7bb47f9467c632940d93a45b7b1e4c3a07">+26/-11</a> </td> </tr> </table></details></td></tr></tr></tbody></table> </details> ___ |
||
|
|
c0b6521458 |
fix: path for logo/text (#10275)
### **User description**
the path for text was incorrectly specified
___
### **PR Type**
Bug fix
___
### **Description**
- Correct logo text route path
___
<details> <summary><h3> File Walkthrough</h3></summary>
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Bug
fix</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>mod.rs</strong><dd><code>Update logo text route
path</code>
</dd></summary>
<hr>
src/handler/http/router/mod.rs
<ul><li>Adjusted logo text endpoint path<br> <li> Changed route from
<code>/settings/logo_text</code> to
<code>/settings/logo/text</code></ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10275/files#diff-02556e3f515441b5d2b6bbea7829df488beac03c4cc41309a6638ae3c0e0aec6">+1/-1</a>
</td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
Signed-off-by: Yashodhan Joshi <yjdoc2@gmail.com>
Co-authored-by: Yashodhan Joshi <yjdoc2@gmail.com>
|
||
|
|
9d96682470 |
refactor: remove unused incident service graph API endpoint
The service graph data is now embedded in the main incident details
response via topology_context field, eliminating the need for a
separate API endpoint and reducing HTTP round trips.
- Remove GET /incidents/{id}/service_graph route and handlers
- Remove get_service_graph service function
- Remove IncidentServiceGraph and IncidentGraphStats types
- Clean up frontend API client and tests
|
||
|
|
32e6ac9831 | fix: add session id and traceparent to ai calls (#10230) | ||
|
|
bc8aa46b4d |
fix: set dex_refresh method to get instead of POST (#10236)
### **User description**
cherry picked from v0.60.0 : the previous route for this was GET not
POST, accidentally changed in auxm migration
___
### **PR Type**
Bug fix
___
### **Description**
- Change dex_refresh route method to GET
- Revert accidental POST method change
___
### Diagram Walkthrough
```mermaid
flowchart LR
Client["Client"]
Handler["refresh_token_with_dex handler"]
Client -- "GET /dex_refresh" --> Handler
```
<details> <summary><h3> File Walkthrough</h3></summary>
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Bug
fix</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>mod.rs</strong><dd><code>Use GET for dex_refresh
route</code>
</dd></summary>
<hr>
src/handler/http/router/mod.rs
- Changed `/dex_refresh` route from POST to GET
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10236/files#diff-02556e3f515441b5d2b6bbea7829df488beac03c4cc41309a6638ae3c0e0aec6">+1/-1</a>
</td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
Signed-off-by: Yashodhan Joshi <yjdoc2@gmail.com>
Co-authored-by: Yashodhan Joshi <yjdoc2@gmail.com>
|
||
|
|
f0ccfbe396 |
fix: use correct config flag on UI for incidents
Earlier, the UI code was using `service_graph_enabled` to show (or hide) the incidents screen, this was wrong. Now `incidents_enabled` is used and sent by the backend as part of `/config` API call. |
||
|
|
6b29f3cdc9 |
fix: sync saas changes (#10188)
### **User description** This sync the aws and azure saas related changes and cloud org related changes from v0.50.0 branch to main. Reviewers, please specifically take a look at [fix: auxm related changes](https://github.com/openobserve/openobserve/commit/1e278e9b5121d2df9757b3908ab27801bdc06383) commit, which does changes needed for auxm from actix web. Note that router changes have been done in the respective saas commit itself, as it caused conflicts. NOTE: This has not built locally to validate that everything at least compiles, as at the time of writing the main branch is not compiling with ent. ___ ### **PR Type** Enhancement ___ ### **Description** - AWS Marketplace onboarding: UI, API routes, services - Azure Marketplace onboarding: UI, API routes, services - Billing UI adapts to AWS/Azure providers - Add HttpResponse.created/found helpers - Add distributed metering lock and cloud jobs - Enforce free-tier org creation limits ___ <details> <summary><h3> File Walkthrough</h3></summary> <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Configuration changes</strong></td><td><details><summary>3 files</summary><table> <tr> <td><strong>router.ts</strong><dd><code>Add AWS/Azure marketplace setup routes</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10188/files#diff-5cf8b2f94d45462f216d1b74cec6e139cbc94e6f5677bba1e7b55a30aaa95792">+31/-1</a> </td> </tr> <tr> <td><strong>mod.rs</strong><dd><code>Expose aws and azure marketplace modules</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10188/files#diff-01aa8706a5e31c9d66036669676b55c4f50e8acbbd3323a1979dc43b9611b9a2">+2/-0</a> </td> </tr> <tr> <td><strong>mod.rs</strong><dd><code>Register marketplace webhook and API routes</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10188/files#diff-02556e3f515441b5d2b6bbea7829df488beac03c4cc41309a6638ae3c0e0aec6">+23/-1</a> </td> </tr> </table></details></td></tr><tr><td><strong>Enhancement</strong></td><td><details><summary>16 files</summary><table> <tr> <td><strong>awsMarketplace.ts</strong><dd><code>Implement AWS Marketplace HTTP client</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10188/files#diff-a84cf89c9eec197f49a3eafff23d45d539f711282b60175a80cb96255e877661">+64/-0</a> </td> </tr> <tr> <td><strong>azureMarketplace.ts</strong><dd><code>Implement Azure Marketplace HTTP client</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10188/files#diff-45edda85f9d7b0e2ec5a750d112b0b52d22dce0c48aa8361e30d51cacfeee16c">+51/-0</a> </td> </tr> <tr> <td><strong>http.rs</strong><dd><code>Add HttpResponse.created and found helpers</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10188/files#diff-e1831572a854319ed0a69e803514466aea13a4924f4fa02f58dbf508c30a19fd">+18/-0</a> </td> </tr> <tr> <td><strong>billings.rs</strong><dd><code>Include provider field in subscription model</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10188/files#diff-986786190d086283f70a66cc487eadc68784dd4200f8a32e6cf4c50a3d6603ca">+3/-0</a> </td> </tr> <tr> <td><strong>aws_marketplace.rs</strong><dd><code>Add AWS Marketplace registration and linking handlers</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10188/files#diff-03b179d714809fbccd4a85bbd783f2399540b515796f5afb0060ff886f872b87">+364/-0</a> </td> </tr> <tr> <td><strong>azure_marketplace.rs</strong><dd><code>Add Azure Marketplace linking handler</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10188/files#diff-da9cf01b26c5f642ceebba9d4355bc45ccb518b4a191c38dbe3178f42884b153">+148/-0</a> </td> </tr> <tr> <td><strong>billings.rs</strong><dd><code>Enhance billing webhook and redirect logging</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10188/files#diff-725936e3d6e955175e6100e8ca6f4437f334a2b554d6f11fa349ee9cbac70425">+64/-5</a> </td> </tr> <tr> <td><strong>mod.rs</strong><dd><code>Add distributed metering lock logic</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10188/files#diff-f2e4c29b8eef22189ec704a832633c4bd135a24444f054864c98064bd0963681">+67/-2</a> </td> </tr> <tr> <td><strong>organization.rs</strong><dd><code>Enforce free org limits in org workflow</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10188/files#diff-6b3c3c2b027c1158c0d41302cc69dfcd20ab68a6a4fa365cda403f838940bbb4">+40/-13</a> </td> </tr> <tr> <td><strong>Billing.vue</strong><dd><code>Conditional invoice tab based on provider</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10188/files#diff-08d804667873a5d984027ad69438432a14973e0318cf78ad981bc7b9a31c1bf4">+30/-2</a> </td> </tr> <tr> <td><strong>TrialPeriod.vue</strong><dd><code>Hide trial message for AWS-billed orgs</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10188/files#diff-cc999442352001a0c7a756db0974f99ec3a21d566e9082d1b113c85ca897dafa">+25/-3</a> </td> </tr> <tr> <td><strong>plans.vue</strong><dd><code>Adapt plan view to billing providers</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10188/files#diff-a85ef89681b89f6ae045ed1c45bd3e4aa8c494a7784a8a56514def1af6eef896">+6/-1</a> </td> </tr> <tr> <td><strong>proPlan.vue</strong><dd><code>Display AWS/Azure billing chip in plan card</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10188/files#diff-b5678b2763909484d6475adf5af690b3d382d8438520adcfc1428b66cf7ad7d5">+28/-2</a> </td> </tr> <tr> <td><strong>AwsMarketplaceSetup.vue</strong><dd><code>Add AWS Marketplace setup Vue view</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10188/files#diff-7345a61d1ba6216718c48067d9c010f069fb43222a15094b4644474eb9091cae">+445/-0</a> </td> </tr> <tr> <td><strong>AzureMarketplaceSetup.vue</strong><dd><code>Add Azure Marketplace setup Vue view</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10188/files#diff-5e29364b67f1e0a714d1d219bc4b619229068ef6e0b2312cedeabf720a0b25f1">+371/-0</a> </td> </tr> <tr> <td><strong>Login.vue</strong><dd><code>Support marketplace redirects in login flow</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10188/files#diff-a135c379ef6ac8f92199ea5f7ff19a227971a9b0a87ccccf87c0268740522c2c">+21/-0</a> </td> </tr> </table></details></td></tr><tr><td><strong>Documentation</strong></td><td><details><summary>1 files</summary><table> <tr> <td><strong>en.json</strong><dd><code>Add AWS/Azure marketplace localization text</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10188/files#diff-892aa3d75ab6e129ef9116aa21bec1b9a15ba69ce5366d2a19128078c690d824">+35/-0</a> </td> </tr> </table></details></td></tr></tr></tbody></table> </details> ___ --------- Signed-off-by: Yashodhan Joshi <yjdoc2@gmail.com> Co-authored-by: Yashodhan Joshi <yjdoc2@gmail.com> Co-authored-by: udev <uddhav@openobserve.ai> Co-authored-by: sai nikhil kethe <nikhil@openobserve.ai> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> |
||
|
|
5426673cbd |
feat: RUM Traces correlation (#10149)
Design at: rum ### **PR Type** Enhancement, Bug fix, Tests ___ ### **Description** - Add `useTraceCorrelation` composable merging RUM and backend spans - Support `x-openobserve-trace-id`/`span-id` headers in backend - Fix span parent-child hierarchy in `setup_tracing_with_trace_id` - Add event/resource drawers for trace correlation UI - Configure CORS and `allowedTracingUrls` for tracing ___ ### Diagram Walkthrough ```mermaid flowchart LR A["Browser RUM SDK"] -- "x-openobserve-trace-id/span-id" --> B["Backend HTTP server"] B -- "get_or_create_trace_id / setup_tracing" --> C["OpenTelemetry context"] C -- "spans in _traces stream" --> D["APM traces"] E["useTraceCorrelation"] -- "searchService queries" --> F["_rumdata / _traces"] E -- "compute performance breakdown" --> G["CorrelationData"] G -- "render in drawers" --> H["EventDetailDrawer / ResourceDetailDrawer"] ``` <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>9 files</summary><table> <tr> <td><strong>useTraceCorrelation.ts</strong><dd><code>Composable for fetching RUM-trace correlation</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10149/files#diff-12b26c2158a3ef524819fe592bbd31ad7eda4fa3775633317bdc98924fcbe500">+178/-0</a> </td> </tr> <tr> <td><strong>http.rs</strong><dd><code>Parse `x-openobserve-trace-id` and span propagation</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10149/files#diff-3b50a69c1ec2f63f8eebb5f9880e17826463a586768aed3e3e15242833609d6b">+135/-0</a> </td> </tr> <tr> <td><strong>mod.rs</strong><dd><code>Maintain span hierarchy in trace setup</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10149/files#diff-1b15316505c31acccb26ba66d920fdb0894567d08d2bf1e3457716d128a67b83">+25/-0</a> </td> </tr> <tr> <td><strong>search_stream.rs</strong><dd><code>Enter HTTP span before child search span</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10149/files#diff-642de43ff6b19ae41087a9f1efc02d8b0b873809e0c92cbddfac1a30ef3f1184">+18/-10</a> </td> </tr> <tr> <td><strong>multi_streams.rs</strong><dd><code>Enter HTTP span before multi-stream span</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10149/files#diff-c3233cdf1e68cb2455f91457719b9c2f477e735ee16546fdfe111e76768bd054">+9/-5</a> </td> </tr> <tr> <td><strong>EventDetailDrawer.vue</strong><dd><code>Add EventDetailDrawer correlation UI</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10149/files#diff-f168d8fad42a6fd39bd4e4b499de54953b7b420831df98b40402b662dfefa88e">+723/-0</a> </td> </tr> <tr> <td><strong>ResourceDetailDrawer.vue</strong><dd><code>Add ResourceDetailDrawer correlation UI</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10149/files#diff-cec3736de55c8f0a415cdbe912d9c630cce6f91aaf92c694b64bf2f7e4989b5b">+317/-0</a> </td> </tr> <tr> <td><strong>TraceDetails.vue</strong><dd><code>Merge RUM events into trace details view</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10149/files#diff-bc7fe6b6339ee2cde6494c0982d4b860847447e79f7431f07d598e0446df06f2">+207/-22</a></td> </tr> <tr> <td><strong>TraceDetailsSidebar.vue</strong><dd><code>Improve trace sidebar formatting & correlation</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10149/files#diff-0017bc08d8da96af6433770d0b274f825798d24401b33ce091b16a50fbaf4b57">+159/-102</a></td> </tr> </table></details></td></tr><tr><td><strong>Configuration changes</strong></td><td><details><summary>2 files</summary><table> <tr> <td><strong>main.ts</strong><dd><code>Configure RUM init and allowed tracing URLs</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10149/files#diff-37b29c5a3b76595194070205d9a0cdedcd717bf7c4367022d1e2667395962f2e">+53/-41</a> </td> </tr> <tr> <td><strong>mod.rs</strong><dd><code>Allow custom tracing headers in CORS</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10149/files#diff-02556e3f515441b5d2b6bbea7829df488beac03c4cc41309a6638ae3c0e0aec6">+4/-0</a> </td> </tr> </table></details></td></tr><tr><td><strong>Tests</strong></td><td><details><summary>1 files</summary><table> <tr> <td><strong>http.rs</strong><dd><code>Add tests for trace ID header validation</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10149/files#diff-3b50a69c1ec2f63f8eebb5f9880e17826463a586768aed3e3e15242833609d6b">+135/-0</a> </td> </tr> </table></details></td></tr><tr><td><strong>Formatting</strong></td><td><details><summary>3 files</summary><table> <tr> <td><strong>SearchResult.vue</strong><dd><code>Clean up formatting in log results</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10149/files#diff-5e65533aa4754bb6d0074fda18ffc1ecacded3b9ca6bc28a161c3f6b12f20195">+180/-78</a></td> </tr> <tr> <td><strong>PlayerEventsSidebar.vue</strong><dd><code>Tidy up player events sidebar formatting</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10149/files#diff-a7d04eb87cd7588ba4811d79c6d32696a58d737a24931258329be4f96cee7610">+28/-8</a> </td> </tr> <tr> <td><strong>FrustrationEventBadge.vue</strong><dd><code>Increase padding on frustration badges</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10149/files#diff-092623e0f5b95471d97cd4f39f065d35ea154df9051a44908c1aec3ea84ca682">+7/-3</a> </td> </tr> </table></details></td></tr><tr><td><strong>Dependencies</strong></td><td><details><summary>1 files</summary><table> <tr> <td><strong>package.json</strong><dd><code>Bump `@openobserve/browser-*` to beta versions</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10149/files#diff-b861012a5dd72b8a9f3281b7cf09f5a779c98569d040b1bbc1db50f1b15e7cce">+2/-2</a> </td> </tr> </table></details></td></tr><tr><td><strong>Additional files</strong></td><td><details><summary>2 files</summary><table> <tr> <td><strong>TraceCorrelationCard.vue</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/10149/files#diff-e0d662d92758dec703db8d4d5be5a694f3454ee43512515488be24a2531a96a6">+291/-0</a> </td> </tr> <tr> <td><strong>SessionViewer.vue</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/10149/files#diff-9f7a183be1e2cfcb3c3c852c059f66003dd4f3f586421b012e1b835724929ca1">+122/-6</a> </td> </tr> </table></details></td></tr></tr></tbody></table> </details> ___ --------- Co-authored-by: Subhradeep Chakraborty <chakrabortysubhradeep556@gmail.com> |
||
|
|
7ebb4c9940 |
fix: backfill icons and edit timerange (#10209)
- Use consistent styling for backfill UI. - The timerange picker on edit page should display the backfill timerange by default. |
||
|
|
484c4a953a |
feat: (Incidents) endpoint to update incident severity and title
- create endpoint `PATCH .../incident/{id}/update` to update incident
severity and title
- add MCP description for incident APIs
- consolidate the `/update_status` endpoint with this
- a few optimizations and code cleaning
- unit tests
|
||
|
|
471df611cc |
chore: remove redundant ai handlers (#10208)
### **PR Type** Other ___ ### **Description** - Remove legacy `agent` chat handlers - Remove AI `prompt` modules and endpoints - Cleanup router and OpenAPI docs entries - Drop `ai_prompts` job watch and cache ___ <details> <summary><h3> File Walkthrough</h3></summary> <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Miscellaneous</strong></td><td><details><summary>4 files</summary><table> <tr> <td><strong>chat.rs</strong><dd><code>Delete agent chat handler implementation</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10208/files#diff-a0e13f17674a3657690f9e5829da2f1c4a6a957fe8a95f9c44b854643b5fe9b7">+0/-400</a> </td> </tr> <tr> <td><strong>mod.rs</strong><dd><code>Remove agent submodule reference</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10208/files#diff-f80e4a8dc1babfaf6eb98474ff7baff339efc6a8d0d5cc8042e028a6f218513e">+0/-16</a> </td> </tr> <tr> <td><strong>mod.rs</strong><dd><code>Drop ai prompt module import</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10208/files#diff-5be832620ef4597524cd781e129bac956d8729132b076257e7d5ca71fbda1f33">+0/-1</a> </td> </tr> <tr> <td><strong>prompt.rs</strong><dd><code>Delete ai prompt handlers</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10208/files#diff-4435a6dbd41255db8c334941643b22ef4eb401004370566cc56394d2e74bab6b">+0/-220</a> </td> </tr> </table></details></td></tr><tr><td><strong>Configuration changes</strong></td><td><details><summary>3 files</summary><table> <tr> <td><strong>mod.rs</strong><dd><code>Remove agent module registration</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10208/files#diff-a1cfd40da1ab6cd4db0181fd8664965034298047b3b7c3320c5385897a7c4aed">+0/-2</a> </td> </tr> <tr> <td><strong>mod.rs</strong><dd><code>Remove agent and ai prompt routes</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10208/files#diff-02556e3f515441b5d2b6bbea7829df488beac03c4cc41309a6638ae3c0e0aec6">+0/-7</a> </td> </tr> <tr> <td><strong>mod.rs</strong><dd><code>Drop ai_prompts watch and cache jobs</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10208/files#diff-f2e4c29b8eef22189ec704a832633c4bd135a24444f054864c98064bd0963681">+0/-6</a> </td> </tr> </table></details></td></tr><tr><td><strong>Documentation</strong></td><td><details><summary>1 files</summary><table> <tr> <td><strong>openapi.rs</strong><dd><code>Remove agent and prompt API docs</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10208/files#diff-edb8ce232c0cd08366879f642788a75d99f6bab64b4c0e77391281fdb9241e90">+0/-4</a> </td> </tr> </table></details></td></tr></tr></tbody></table> </details> ___ |
||
|
|
3750d71444 | fix: add vectorscan feature and refactor enterprise dependencies (#10199) | ||
|
|
1b55a7f07e |
fix: backfill job UI should use pipeline id in the api endpoint (#10020) (#10106)
### **User description**
Frontend bug fixes for backfill jobs
- it should send the pipeline id in the api endpoint
- pause/unpause now works
- view details on backfill jobs now work
___
### **PR Type**
Bug fix, Enhancement
___
### **Description**
- Added cancel alias and pipeline ID in APIs
- Unified ConfirmDialog usage in job list
- Implemented timezone-aware date formatting
- Clarified UTC alignment warnings in dialogs
___
### Diagram Walkthrough
```mermaid
flowchart LR
subgraph Service
BS["backfill.ts"]
end
subgraph Utils
U["timestampToTimezoneDate"]
end
subgraph Components
JD["BackfillJobDetails.vue"]
JL["BackfillJobsList.vue"]
CB["CreateBackfillJobDialog.vue"]
EB["EditBackfillJobDialog.vue"]
CD["ConfirmDialog.vue"]
end
BS --> JD
BS --> JL
BS --> CA["cancelBackfillJob alias"]
JD --> U
JL --> U
CB --> U
EB --> U
JL --> CD
```
<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>backfill.ts</strong><dd><code>Add cancelBackfillJob API
alias</code>
</dd></summary>
<hr>
web/src/services/backfill.ts
- Added `cancelBackfillJob` alias for `enableBackfillJob`
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10106/files#diff-157d2d264744485c530ea8132fee4012a95a2c6a38ad084ac8dbac834a30edd1">+16/-0</a>
</td>
</tr>
<tr>
<td>
<details>
<summary><strong>BackfillJobsList.vue</strong><dd><code>Unify confirm
dialogs and timezone formatting</code>
</dd></summary>
<hr>
web/src/components/pipelines/BackfillJobsList.vue
<ul><li>Added dynamic <code>confirmDialog</code> replacing multiple
dialogs<br> <li> Passed <code>pipelineId</code> to details view<br> <li>
Imported <code>timestampToTimezoneDate</code> and timezone-aware
ranges<br> <li> Updated action functions to include
<code>pipeline_id</code></ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10106/files#diff-db1a66743e977238714590c7537ae278070f396c6710f1bf94fd8859b87e6a65">+55/-36</a>
</td>
</tr>
<tr>
<td>
<details>
<summary><strong>EditBackfillJobDialog.vue</strong><dd><code>Enhanced
edit dialog UTC warning details</code>
</dd></summary>
<hr>
web/src/components/pipelines/EditBackfillJobDialog.vue
<ul><li>Adjusted warning layout with UTC alignment header<br> <li> Added
UTC specification in list items<br> <li> Minor styling tweaks for
warning icon</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10106/files#diff-2a07eaacb9ae9e3d8fa477d5142011fe5ac8eb5f176967405b59e7ec37be6d5a">+12/-5</a>
</td>
</tr>
</table></td></tr><tr><td><strong>Error
handling</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>BackfillJobDetails.vue</strong><dd><code>Refactor job
details: pipeline ID and timezone dates</code>
</dd></summary>
<hr>
web/src/components/pipelines/BackfillJobDetails.vue
<ul><li>Imported <code>timestampToTimezoneDate</code> util<br> <li>
Added <code>pipelineId</code> prop and include in API calls<br> <li>
Added error notification when job info missing<br> <li> Replaced
<code>date-fns</code> formatting with timezone-aware util</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10106/files#diff-82c39386df707d78a3f6d34dcd07211728fc3bb03f79639045f4e36601053931">+20/-5</a>
</td>
</tr>
</table></td></tr><tr><td><strong>Documentation</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>CreateBackfillJobDialog.vue</strong><dd><code>Clarify
UTC alignment in creation dialog</code>
</dd></summary>
<hr>
web/src/components/pipelines/CreateBackfillJobDialog.vue
<ul><li>Clarified warning title and list subtitle to include UTC<br>
<li> Updated time alignment requirements to mention UTC</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/10106/files#diff-0f5545b0a3f981757160babdff6b33897a5d420d3f37b58499f4510595806cce">+3/-3</a>
</td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
|
||
|
|
37994fa5ac |
fix: service graph and incident updates (cherry-pick #10121) (#10175)
### **User description** Enhancement, Tests, Bug fix ___ - Introduce alert flow graph replacing service topology - Add `AlertNode`/`AlertEdge` types & serialization - Rewrite `enrich_with_topology` incremental node/edge logic - Update UI components and spec tests for new graph UI ___ ### **PR Type** Enhancement, Bug fix, Tests ___ ### **Description** - Introduce typed `AlertNode`/`AlertEdge` and serialization - Rewrite `enrich_with_topology` to build alert flow graph - Update UI with D3-force layout and ECharts rendering - Add DB get/update_topology helpers and tests --------- Co-authored-by: sai nikhil kethe <nikhil@openobserve.ai> |
||
|
|
25b1684516 |
fix: create incident for user-triggered alerts as well (#10170)
### **User description** Originally, incidents were created when an alert was triggered through alert manager evaluation, not when the same alert was triggered by a user on the UI. This is now taken care of. Additionally, a bug in incident API's response on the UI resulted in a discrepancy in the count of alert triggers. This is fixed now. + clippy fixes. ___ ### **PR Type** Bug fix, Enhancement ___ ### **Description** - Create incidents for user-triggered alerts - Support synthetic alert metadata for correlation - Update metadata only on dimension changes - Clippy and import cleanups across handlers |
||
|
|
dfe8cb0a65 | refactor: enhance access log middleware with custom header support (#10153) | ||
|
|
8ed1bba28b | feat: ai agent phase 2 (#10054) | ||
|
|
e419449ddb |
feat: implement prebuilt alert destination (Backend) (#10074)
Design at : observability/alert-prebuilt-destinations/alert-prebuilt-destinations-plan.md ## 🤖 Auto-Implementation (Backend) **Feature:** implement prebuilt alert destination **Source Issue:** openobserve#10055 ## Changes - ✅ Backend code (Rust) - ✅ Unit + integration tests - ✅ All quality gates passed ## Related PRs Frontend PR: #FRONTEND_PR_NUMBER (to be linked) Closes openobserve#10055 --- 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> --------- Co-authored-by: claude-code-bot <claude-code-bot@openobserve.ai> Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> |
||
|
|
2fcdfeb726 |
fix: adding api access to non-native users (#9704)
### **User description** resolves https://github.com/openobserve/o2-enterprise/issues/991 ___ ### **PR Type** Enhancement ___ ### **Description** - Allow service account token auth before native login - Unify token validation for ingestion endpoints - Expose `service_account_enabled` in config API - Conditionally enable serviceAccounts UI route and tab ___ ### Diagram Walkthrough ```mermaid flowchart LR VC["validate_credentials"] ZC["zo_config handler"] UI["UI route & tabs"] VC -- "token auth bypass" --> ZC ZC -- "include service_account_enabled" --> UI ``` <details> <summary><h3> File Walkthrough</h3></summary> <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Enhancement</strong></td><td><table> <tr> <td> <details> <summary><strong>validator.rs</strong><dd><code>Reorder and unify token authentication logic</code> </dd></summary> <hr> src/handler/http/auth/validator.rs <ul><li>Moved service account token checks above native login restriction<br> <li> Added unified token auth for ingestion endpoints<br> <li> Removed duplicate token validation blocks</ul> </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/9704/files#diff-f4d4b51574b378a8c372345ea48875834a4eadacfac33fa4d0ceca1e0ef96b35">+31/-26</a> </td> </tr> <tr> <td> <details> <summary><strong>mod.rs</strong><dd><code>Add service_account_enabled to API config</code> </dd></summary> <hr> src/handler/http/request/status/mod.rs <ul><li>Added <code>service_account_enabled</code> field to <code>ConfigResponse</code><br> <li> Initialized field from <code>dex_cfg</code> or default value<br> <li> Updated API response to include new config flag</ul> </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/9704/files#diff-ca09c9c9b020049bdbc3382c466bfcca80daac92e98760d9a9a76172abf34049">+7/-0</a> </td> </tr> <tr> <td> <details> <summary><strong>useEnterpriseRoutes.ts</strong><dd><code>Guard serviceAccounts route by configuration</code> </dd></summary> <hr> web/src/composables/shared/useEnterpriseRoutes.ts <ul><li>Added guard to check <code>service_account_enabled</code> flag<br> <li> Redirect disabled serviceAccounts route to users page</ul> </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/9704/files#diff-962367ed3d329e73232da2c262cf10c60b14820dd43e95e94302cdcb2f080cbe">+10/-0</a> </td> </tr> <tr> <td> <details> <summary><strong>IdentityAccessManagement.vue</strong><dd><code>Filter IAM tabs based on service_account_enabled</code> </dd></summary> <hr> web/src/views/IdentityAccessManagement.vue <ul><li>Imported <code>computed</code> to dynamically filter tabs<br> <li> Replaced static <code>tabs</code> ref with computed filtering on config<br> <li> Hid serviceAccounts tab when feature disabled</ul> </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/9704/files#diff-60b63024c98ee8927e12f9ebec93e99ba7ff419038cfe1cc57d49de1f6f342d6">+16/-3</a> </td> </tr> </table></td></tr></tr></tbody></table> </details> ___ --------- Co-authored-by: Claude Sonnet 4.5 (1M context) <noreply@anthropic.com> |
||
|
|
fcd8c501c6 | perf: remove timestamp filter when file already satisfy constraints (#10116) | ||
|
|
6cff6e303a | feat: support query manager for metrics (#9907) | ||
|
|
8af544d6dc |
fix: service identity deduction (#10111)
### **PR Type** Enhancement ___ ### **Description** - Move `SemanticFieldGroup` to new `correlation` module - Add `is_scope` flag and new constructors in code - Update imports in deduplication, service streams, and system settings - Extend UI for scope/stable checkboxes and FQN formula preview ___ ### Diagram Walkthrough ```mermaid flowchart LR A["config/meta/correlation::SemanticFieldGroup"] B["alerts/deduplication.rs"] C["service_streams handler"] D["UI components"] A -- "import & use" --> B A -- "import & use" --> C A -- "props & computed" --> D ``` <details> <summary><h3> File Walkthrough</h3></summary> <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Configuration changes</strong></td><td><details><summary>2 files</summary><table> <tr> <td><strong>deduplication.rs</strong><dd><code>Remove local `SemanticFieldGroup` definition and update import</code></dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10111/files#diff-ee8d9d671130757ae84ef01809003701d36e4cc90a1d1eca286d3af9a6def2ea">+3/-172</a> </td> </tr> <tr> <td><strong>mod.rs</strong><dd><code>Expose `correlation` submodule in metadata</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10111/files#diff-bab79e8da2d0d9f903cb1a6187d922c6de63d3e4561e8ce633660b664b4e859f">+1/-0</a> </td> </tr> </table></details></td></tr><tr><td><strong>Enhancement</strong></td><td><details><summary>9 files</summary><table> <tr> <td><strong>correlation.rs</strong><dd><code>Introduce new correlation module with full `SemanticFieldGroup`</code></dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10111/files#diff-334a1b82336171d7e7554d29e68d2023385173f4ebc7a748490394f95932f543">+325/-0</a> </td> </tr> <tr> <td><strong>deduplication.rs</strong><dd><code>Update `SemanticFieldGroup` import path</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10111/files#diff-1dcfc87616331ed9f5eafb74c5218bd77cfa35f158c31a12a7ef4ac076b1d348">+3/-1</a> </td> </tr> <tr> <td><strong>mod.rs</strong><dd><code>Pass semantic groups into FQN grouping call</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10111/files#diff-9b40aebd34816dc4fe7c145357e24fe8866d52eef0882a56cfb6fb686c5aca8a">+5/-1</a> </td> </tr> <tr> <td><strong>openapi.rs</strong><dd><code>Replace deduplication import with correlation path</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10111/files#diff-edb8ce232c0cd08366879f642788a75d99f6bab64b4c0e77391281fdb9241e90">+1/-1</a> </td> </tr> <tr> <td><strong>org_config.rs</strong><dd><code>Adjust import of `SemanticFieldGroup` from correlation</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10111/files#diff-2d8c98413faeeaed258d14fe48c956b2c8e84a8b80cfcbb8c9245fcb651e8234">+3/-1</a> </td> </tr> <tr> <td><strong>system_settings.rs</strong><dd><code>Use `correlation::SemanticFieldGroup` in settings retrieval</code></dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10111/files#diff-54a8d97ad281e61d55d7b7b5532dd4c5a56f419993669f6ebe4a4e028ca12746">+3/-4</a> </td> </tr> <tr> <td><strong>SemanticFieldGroupsConfig.vue</strong><dd><code>Add `is_stable` and `is_scope` field support</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10111/files#diff-1c5890d42337715bb86ba5c025148e41cc72b9ab6fe19e10a4eb0411554162de">+2/-0</a> </td> </tr> <tr> <td><strong>SemanticGroupItem.vue</strong><dd><code>Add scope & stable checkboxes in group item</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10111/files#diff-416d80d707542beaa5d710fa4f1e0e573e0abf81110a6b15558271a7b6f157ea">+38/-3</a> </td> </tr> <tr> <td><strong>ServiceIdentityConfig.vue</strong><dd><code>Render FQN formula preview and legend UI</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10111/files#diff-25b25407f85be211af5760a897e5442beef913af6b031c351c50dbb70eed2bcd">+289/-11</a></td> </tr> </table></details></td></tr><tr><td><strong>Documentation</strong></td><td><details><summary>1 files</summary><table> <tr> <td><strong>*.json</strong><dd><code>Add translations for scope/stable and FQN UI text</code> </dd></td> <td><a href=""></a></td> </tr> </table></details></td></tr><tr><td><strong>Additional files</strong></td><td><details><summary>11 files</summary><table> <tr> <td><strong>de.json</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/10111/files#diff-78f24ecb2dbcfc38fdf3ec22b2559a5b40d236ea689d1c55f5d3e87168310264">+7/-1</a> </td> </tr> <tr> <td><strong>en.json</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/10111/files#diff-892aa3d75ab6e129ef9116aa21bec1b9a15ba69ce5366d2a19128078c690d824">+38/-14</a> </td> </tr> <tr> <td><strong>es.json</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/10111/files#diff-ac2a2167b8b973e3f776f9fe3b43bef4576470d8ad33f3d7cfaff6edff0e5778">+7/-1</a> </td> </tr> <tr> <td><strong>fr.json</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/10111/files#diff-db80e762b88ddf183820c050cdc6b215e6b02b365b5e73f5152af46b0d26f1a2">+7/-1</a> </td> </tr> <tr> <td><strong>it.json</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/10111/files#diff-2de78074a5f887afddce60d694ead9322e6ab223eb70251c13819f3028bdc70d">+7/-1</a> </td> </tr> <tr> <td><strong>ja.json</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/10111/files#diff-092e49c5f9fbc1b539ab9c2866d108d0ce1d314022b4c294eb4611b285e7bbd3">+7/-1</a> </td> </tr> <tr> <td><strong>ko.json</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/10111/files#diff-50e27ca1b4825a5026f3a251bfcf79c97cab07cfade2ebd512d332453d707c48">+7/-1</a> </td> </tr> <tr> <td><strong>nl.json</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/10111/files#diff-a1706021687ae5d8a1c006c49eab3946174fecd895f9b70a89c2e76d97250906">+7/-1</a> </td> </tr> <tr> <td><strong>pt.json</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/10111/files#diff-38e804f64cb5e0e451849fc84e9b46e53c954a4a4263d51c18665ad45f4b4815">+7/-1</a> </td> </tr> <tr> <td><strong>tr.json</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/10111/files#diff-6f0f131e9e2591480c4c5d1eaffc72d02dc31cbd8d3f90d8f012f08cabac8818">+7/-1</a> </td> </tr> <tr> <td><strong>zh.json</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/10111/files#diff-8818055db58f83230aeea4ebfd4cec31d924e8c47b6f91298e356959ab25339e">+7/-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> |
||
|
|
90f7e69d3c | feat: hierarchical rate limiting support (#10094) | ||
|
|
7672bc12f3 | chore: upgrade datafusion to 52 (#10090) | ||
|
|
91e2f06895 | fix: pipeline destinations incorrectly saved as alert destinations (#10079) | ||
|
|
2b3dc73cb4 | chore: improve some mcp tools desc (#10061) | ||
|
|
aca7162b12 | fix: keep fixing router problems (#10071) | ||
|
|
84693eb033 | fix: improve alert mcp (#10065) | ||
|
|
bdefdde66c | fix: migration router (#10058) | ||
|
|
7d94362d02 | feat: bind templates to alert instead of alert-destination (#10023) |