Sai Nikhil
a818da85ea
fix: data sources page breaking when no ingestion happened ( #9127 ) ( #9152 )
...
This PR fixes the 4th issue in #9105
2025-11-17 13:14:28 +05:30
Sai Nikhil
c49d088099
Fix/theme customization issue ( #9147 )
2025-11-17 11:36:13 +05:30
Sai Nikhil
ce70d6ad0d
fix: remove pipe operator support fro non sqlmode ( #9136 )
...
This PR fixes the issue in #9117
2025-11-17 10:53:01 +05:30
ByteBaker
bb37f8f1af
feat: add comprehensive service graph visualization with tree/graph views
...
Backend:
- Add `stream_name` parameter to service graph query API for multi-stream filtering
- Pass `stream_name` through `handle_otlp_request` to service graph tracking
- Filter Prometheus metrics by both `org_id` and optional `stream_name`
- Update API documentation with stream filtering examples
Frontend:
- Add tree view and graph view visualization modes with toggle
- Implement tree layouts: horizontal, vertical, and radial
- Implement graph layouts: force-directed and circular
- Add stream selector dropdown to filter metrics by trace stream
- Add auto-refresh toggle with configurable interval (5-300 seconds)
- Refactor graph rendering to use `ChartRenderer` component with ECharts
- Implement D3-force physics simulation for force-directed layout
- Add `convertServiceGraphToTree` and `convertServiceGraphToNetwork` utilities
- Preserve node positions during graph updates to prevent re-layout jitter
- Use incremental updates (`notMerge: false`) for stable graph view
- Store user preferences (visualization type, layout, stream filter) in localStorage
- Update `ChartRenderer` to respect `notMerge` and `lazyUpdate` flags from props
Dependencies:
- Add `d3-force` for force-directed graph layout calculations
- Add `@types/d3-force` for TypeScript support
- Add `d3-quadtree` for spatial indexing in force simulation
2025-11-14 16:19:04 +05:30
Sai Nikhil
4727e5f6d1
fix: show delete for extended retention dates as well ( #9104 )
2025-11-14 13:38:40 +05:30
Sai Nikhil
803434bd30
fix: theme customization ( #9077 )
2025-11-14 11:55:50 +05:30
Omkar Kesarkhane and Shrinath Rao
47e97c6b50
fix: RUM UI improvements ( #9108 )
...
Co-authored-by: Shrinath Rao <shnath@openobserve.ai >
2025-11-13 22:15:09 +05:30
Abhay Padamani
ea1a5784e7
fix: add panel repositoin issue ( #9103 )
2025-11-13 15:22:03 +05:30
Simha G and sai nikhil kethe
e92f385751
feat: Alert and Pipeline History columns are now sortable ( #9052 )
...
# PR Type
Enhancement
# Description
The columns in the Alerts and Pipelines History are augmented to be
sortable. The backend endpoint is updated accordingly too.
---------
Co-authored-by: sai nikhil kethe <nikhil@openobserve.ai >
2025-11-12 19:03:47 +05:30
ktx-vaidehi and Kirtan Thakkar
6ab3e14d70
fix: dashboard camelCase issue with zero value ( #9061 )
...
Co-authored-by: Kirtan Thakkar <kirtan@kiara.tech >
2025-11-12 15:25:21 +05:30
Abhay Padamani and ktx-akshay
a603429941
fix: dashboard pie chart layout issue ( #9065 )
...
Co-authored-by: ktx-akshay <akshay.patil@kiara.tech >
2025-11-12 13:41:48 +05:30
Omkar Kesarkhane
ade016bf29
fix: Log field-list issues ( #9074 )
...
1. Field List schema tabs were getting disabled due to warning message
when searching for non-existing fields.
2. Reset scroll position on changing field-list schema tab.
3. Parse decimal values to whole numbers that are added in the Date Time
custom value input.
2025-11-12 13:11:00 +05:30
Sai Nikhil
39bcaad8f6
fix: import module refactored ( #8962 )
...
1. Here we have refactored import module
the structure will be
```
BaseImport will be main serving component for Import UI
import(module).vue will be used to serve core business logic and functionality
```
2025-11-12 09:29:04 +05:30
udev
a5b9facdc8
fix: migration issue ( #9067 )
...
fixes migration issue where older format pipeline would fail to load if
the pipeline contains a `condition` node.
2025-11-11 23:20:23 +05:30
Sai Nikhil
ef1edeac90
fix: saved views apply consider max query range ( #9062 )
...
This PR fixes the issue in #9042
2025-11-11 18:52:22 +05:30
Sai Nikhil
77c74a4af3
fix: pagination sync issue in list page ( #9041 )
...
1. This PR fixed the sync issue on all listing pages alerts , piplines ,
actions , reports , iam pages , destinations , templates , sensitive
data redaction list , cipher keys
2025-11-11 18:05:10 +05:30
udev
2854a33791
feat: pipeline or operator ( #8911 )
...
with this PR we add OR operator support in pipeline conditions along
with the ability to nest conditions, creating complex conditions
quickly. existing conditions will be treated as legacy conditions and
still be honoured in the new evaluation logic.
2025-11-11 17:39:11 +05:30
85a8fc1648
feat: license check ( #8522 )
...
### **User description**
This adds license check job
___
### **PR Type**
Enhancement, Bug fix
___
### **Description**
- Add enterprise license HTTP APIs and DB watch
- Enforce quota checks on search and ingestion
- Always enable usage reporting; simplify modes
- Expose license expiry in config and UI
___
### Diagram Walkthrough
```mermaid
flowchart LR
Backend["Backend: License APIs + quota checks"]
DB["DB: License watch + dist lock"]
Config["Config: usage/reporting & expiry"]
UI["UI: Settings License page + banner"]
Search["Search/PromQL: quota enforcement"]
Backend -- "watch updates" --> DB
Backend -- "expose expiry" --> Config
UI -- "GET/POST /api/license" --> Backend
Search -- "check_search_allowed" --> Backend
```
<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>21
files</summary><table>
<tr>
<td><strong>config.rs</strong><dd><code>Validate usage mode and publish
interval bounds</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8522/files#diff-9aeee4a74c0520daa40f9b81c7016f5b6b3254375b968dd7598e745630980d62 ">+16/-4</a>
</td>
</tr>
<tr>
<td><strong>mod.rs</strong><dd><code>Add license GET/POST endpoints with
validation</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8522/files#diff-d569000673e415b222a20a6f4f50a93c278c189a7d6e43231d5ab8807e93021f ">+75/-0</a>
</td>
</tr>
<tr>
<td><strong>mod.rs</strong><dd><code>Register license routes for
enterprise builds</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8522/files#diff-a1cfd40da1ab6cd4db0181fd8664965034298047b3b7c3320c5385897a7c4aed ">+2/-0</a>
</td>
</tr>
<tr>
<td><strong>mod.rs</strong><dd><code>Enforce search quota in PromQL
endpoints</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8522/files#diff-0ad5729a1fbce00ff53076728c51822400c13af9918e1d8554f41be56d060fa0 ">+24/-1</a>
</td>
</tr>
<tr>
<td><strong>mod.rs</strong><dd><code>Add enterprise search quota checks
in endpoints</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8522/files#diff-96630a0dbb6dd7b2b0248fa325c7c7041ce31340c32826675a4a70772e9d29f6 ">+51/-1</a>
</td>
</tr>
<tr>
<td><strong>search_stream.rs</strong><dd><code>Enforce quota in
streaming search endpoints</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8522/files#diff-642de43ff6b19ae41087a9f1efc02d8b0b873809e0c92cbddfac1a30ef3f1184 ">+21/-1</a>
</td>
</tr>
<tr>
<td><strong>mod.rs</strong><dd><code>Expose license expiry; always
enable usage flag</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8522/files#diff-ca09c9c9b020049bdbc3382c466bfcca80daac92e98760d9a9a76172abf34049 ">+8/-1</a>
</td>
</tr>
<tr>
<td><strong>mod.rs</strong><dd><code>Wire license endpoints into
router</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8522/files#diff-02556e3f515441b5d2b6bbea7829df488beac03c4cc41309a6638ae3c0e0aec6 ">+3/-1</a>
</td>
</tr>
<tr>
<td><strong>mod.rs</strong><dd><code>Add license check locking and
startup watchers</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8522/files#diff-f2e4c29b8eef22189ec704a832633c4bd135a24444f054864c98064bd0963681 ">+57/-0</a>
</td>
</tr>
<tr>
<td><strong>license.rs</strong><dd><code>Implement license update
broadcast and watch</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8522/files#diff-43bb2d7d70d03657337dfabb078079de71fae8a7f58962a10ac68c03594e0f81 ">+70/-0</a>
</td>
</tr>
<tr>
<td><strong>mod.rs</strong><dd><code>Export license DB module for
enterprise</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8522/files#diff-b7e3bf7f0ac23dd084c0c817a310a4d5e7a64ff532746d182986ef940fa03fd0 ">+2/-0</a>
</td>
</tr>
<tr>
<td><strong>mod.rs</strong><dd><code>Enforce ingestion quota for
enterprise</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8522/files#diff-7c7b5bca85f0ced652965cae66540c96f56dfcca4f4c16b77bf7b45aac203d1b ">+10/-0</a>
</td>
</tr>
<tr>
<td><strong>mod.rs</strong><dd><code>Provide search quota check
helper</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8522/files#diff-c3b85ea662a885fbd39797968928b291cb59a58f53a03f7b7dfd7ba8b6a7985a ">+18/-0</a>
</td>
</tr>
<tr>
<td><strong>ingestion.rs</strong><dd><code>Simplify reporting mode;
always requeue on error</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8522/files#diff-3edd5f4ed1eed0f765b7b450ef0fbf587632e6b22302006a5e397049e297057f ">+19/-50</a>
</td>
</tr>
<tr>
<td><strong>mod.rs</strong><dd><code>Always enable usage queue and
publishing</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8522/files#diff-c6255010f7a87d6acdb3ad04954fc9f2c27350ae319c53a1857b120aa06408a3 ">+2/-25</a>
</td>
</tr>
<tr>
<td><strong>useManagementRoutes.ts</strong><dd><code>Add license
management route</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8522/files#diff-b71a1d39b1fab0749f0668d5f16382536fbda6e2f0c92c56a972fb5d8b5835f5 ">+8/-0</a>
</td>
</tr>
<tr>
<td><strong>license_server.ts</strong><dd><code>Add client for license
APIs</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8522/files#diff-3ac3fe8faca5f5a6aebd9d5e8885837f1511834eb7c78d0830af8f00c70523cb ">+16/-0</a>
</td>
</tr>
<tr>
<td><strong>License.vue</strong><dd><code>New license management UI with
usage</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8522/files#diff-614c7b48f6f2ab1e8041d20c7583b6864285eacf9db032c27508b76f6de8467f ">+469/-0</a>
</td>
</tr>
<tr>
<td><strong>index.vue</strong><dd><code>Add License tab and routing
guards</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8522/files#diff-699c63979f851c48ad440a078e93282fd797a18fc065e5331b2e41122ddb8b69 ">+27/-0</a>
</td>
</tr>
<tr>
<td><strong>LicensePeriod.vue</strong><dd><code>License expiry banner
component</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8522/files#diff-14f02914aaa78ef3e82717173fa95455b7f1092faff2d0dbd51e243663850ad4 ">+111/-0</a>
</td>
</tr>
<tr>
<td><strong>HomeView.vue</strong><dd><code>Show license expiry banner
and navigate</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8522/files#diff-9af441af191d3254ef5f9db603dca75486de7638cda41a3c050e7b3c33d68280 ">+9/-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>schema.rs</strong><dd><code>Remove usage_enabled dependency
in org creation</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8522/files#diff-4696a44abde2df4ac48fed716f930bfdcc01759bdfcfd8d802821c6dd857bff9 ">+1/-3</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 i18n key for License tab
label</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8522/files#diff-892aa3d75ab6e129ef9116aa21bec1b9a15ba69ce5366d2a19128078c690d824 ">+2/-1</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: sai nikhil kethe <nikhil@openobserve.ai >
2025-11-11 14:36:03 +05:30
Simha G and Subhradeep Chakraborty
24ac8ee0ff
fix: Add RBAC to the Alerts and Pipelines history endpoints and add tests ( #8930 )
...
# PR Type
Feature/Fix
# Description
The pipelines history and alerts history endpoints are now covered by
RBAC. Added basic e2e api test for the same endpoints.
---------
Co-authored-by: Subhradeep Chakraborty <chakrabortysubhradeep556@gmail.com >
2025-11-11 11:49:14 +05:30
198d8161e1
fix: ui issues latest ( #9023 )
...
1. Duplicate api calls displayed on cmd+enter under logs for any query
2. On clicking cmd+enter when sql is blank, the tables disappear
3. #7719
---------
Co-authored-by: omkark06 <omkar@zinclabs.io >
Co-authored-by: Shrinath Rao <shnath@openobserve.ai >
2025-11-11 11:12:53 +05:30
Abhay Padamani and Kirtan Thakkar
098ee9d7d2
fix: dashboard panel re-position ( #9016 )
...
- #9020
---------
Co-authored-by: Kirtan Thakkar <kirtan@kiara.tech >
2025-11-10 18:54:30 +05:30
Harsh Mahajan
89a0b57fb7
fix: tooster for importing same regex pattern ( #9019 )
...
<img width="601" height="198" alt="image"
src="https://github.com/user-attachments/assets/3e30d246-ceea-46d7-be13-3a68f7dc76ff "
/>
2025-11-10 17:40:10 +05:30
Omkar Kesarkhane
da80cef2af
fix: Log patterns refactoring ( #9026 )
2025-11-10 15:07:58 +05:30
Abhay Padamani
7be74c9d92
fix: timezone conversion issue while drilldown to logs ( #9001 )
...
- #8998
2025-11-07 17:39:39 +05:30
12aedbf858
fix: hide query management page for oss ( #8995 )
...
Co-authored-by: Bhargav <BJP232004@GMAIL.COM >
Co-authored-by: omkark06 <omkar@zinclabs.io >
2025-11-07 13:48:14 +05:30
ByteBaker
eedebaeec8
feat: enable dual reporting and add alert history UI
...
Changes alert trigger reporting behavior to write to both the originating
organization and `_meta` org by default, with new UI for viewing history.
**Backend:**
- Change `ZO_USAGE_REPORT_TO_OWN_ORG` config default from `false` to `true`
- Update alert history API to query organization's own `triggers` stream
- Add comprehensive backend tests for history API and config
**Frontend:**
- Integrate history metrics into main alerts table (`Total Evaluations`, `Firing Count`)
- Add alert details drawer showing properties and evaluation timeline
- Display formatted timestamps, status badges, and performance metrics
- Support click-outside and ESC key to close drawer
- Add i18n translations for history-related labels
This eliminates cross-org API calls for alert history while maintaining
global monitoring capability in `_meta` org.
2025-11-07 01:49:57 +05:30
Sai Nikhil
f7c9f6eb81
fix: firefox org dropdown issue ( #8988 )
...
1. This PR fixes the issue in firefox related to org dropdown not
opening
2. getting undefined for empty values in csv format
2025-11-06 20:53:41 +05:30
ktx-akshay
48b8143769
fix: update dashboard failing testcases ( #8975 )
2025-11-06 19:43:42 +08:00
ktx-vaidehi
7eee8a69c4
fix: dashboard annotation based on time ( #8981 )
2025-11-06 18:58:46 +08:00
5fbdbe4f46
fix: traces, alert insights charts render issue ( #8977 )
...
Co-authored-by: omkark06 <omkar@zinclabs.io >
Co-authored-by: Bhargav <BJP232004@GMAIL.COM >
2025-11-06 18:38:13 +08:00
Harsh Mahajan
53fcfebfe2
fix: fixing deletion for fields ( #8980 )
2025-11-06 17:59:47 +08:00
Sai Nikhil
1cd593c7be
fix: UI issues in schema page ( #8976 )
...
1. schema pagination issues
2. only add to uds upto max uds fields
2025-11-06 13:07:06 +05:30
Sai Nikhil
f91a403871
fix: UI issues latest ( #8973 )
...
1. This PR fixes the saved views UI
2. search result icons size fixed
2025-11-06 10:16:17 +05:30
Bhargav
982d8c15af
fix: ui fix for alert and pipeline history ( #8971 )
2025-11-05 22:21:23 +05:30
Sai Nikhil
96de939ef8
fix: new UI issues latest v2 ( #8966 )
2025-11-05 23:16:41 +08:00
Harsh Mahajan
5059a167f2
feat: adding UDS for metrics and traces ( #8941 )
2025-11-05 23:14:30 +08:00
Loakesh Indiran
6b76fbf785
feat: clear cache main ( #8919 )
2025-11-05 22:27:19 +08:00
Simran Kumari
6830b2f0b3
ci: add workflow for logging FEAT/PERF merges to sheet ( #8963 )
2025-11-05 19:44:45 +05:30
ktx-vaidehi
d58aeb123a
fix: dashboard annotation issue with single search api ( #8965 )
2025-11-05 17:10:09 +05:30
Bhargav
b6635fc3f4
fix: alert & pipeline history and alert insight page UI fix ( #8964 )
2025-11-05 16:23:20 +05:30
Abhay Padamani
a6928526a4
fix: dashboard resize, drag issue for viewonly mode ( #8960 )
...
- do not allow to resize or drag for viewOnly mode
2025-11-05 14:15:42 +05:30
Omkar Kesarkhane
f84a760a63
fix: Service Graph UI improvements ( #8958 )
2025-11-05 13:10:29 +05:30
Abhay Padamani
643ee5c743
fix: dashboard multisearch api call issues ( #8959 )
...
- Fill missing value issue due to `histogram_interval` config mismatch.
- Panel loader issue for multi search api call.
2025-11-05 11:56:35 +05:30
Bhargav
682d1581fc
fix: disable feature comparison for prod ( #8955 )
2025-11-04 19:43:40 +05:30
Omkar Kesarkhane and ktx-vaidehi
790f679a2d
fix: Traces UI issues ( #8942 )
...
Co-authored-by: ktx-vaidehi <vaidehi.akhani@kiara.tech >
2025-11-04 19:03:58 +05:30
Bhargav
c66caee0ea
feat: Openobserve feature comparison table ( #8954 )
2025-11-04 17:59:57 +05:30
Simha G and Bhargav
8bd7b62672
fix: Alert and Pipelines history recovery + Pagination fix + View fixes ( #8935 )
...
# PR type
fix/enchancement
# Description
The pagination issue with alerts and pipeline history is fixed - now
works as normally expected. A few elements of the views were improved
with better choices of representation. A previous PR about styling
changes has removed the Pipelines History related changes partially.
This was recovered and restored to functional state while also taking in
the styling changes.
---------
Co-authored-by: Bhargav <BJP232004@GMAIL.COM >
2025-11-04 16:37:39 +05:30
Bhargav and ktx-vaidehi
2a4e6307a0
fix: 8928 UI revamp issues v1 ( #8946 )
...
Co-authored-by: ktx-vaidehi <vaidehi.akhani@kiara.tech >
2025-11-04 15:07:18 +05:30
Ashish Kolhe and omkark06
196512057c
feat: log patterns ( #8927 )
...
PR introduces below features:
- [x] Reporting triggers to source org
- [x] Alerts Insights for detailed visibility in alerts
Enterprise features:
- [x] Patterns extraction during query - UI and API
- [x] Patterns extraction as part of ingestion process (No Sampling
today)
- [x] Settings to enable pattern extraction
---------
Co-authored-by: omkark06 <omkar@zinclabs.io >
2025-11-04 11:19:39 +05:30
Harsh Mahajan and sai nikhil kethe
b267159579
feat: adding built-in regex patterns ( #8827 )
...
### **PR Type**
Enhancement, Documentation
___
### **Description**
- Add built-in regex patterns fetch API
- Introduce GitHub data service with caching
- Handle duplicate pattern names gracefully
- UI to browse and import built-ins
___
### Diagram Walkthrough
```mermaid
flowchart LR
cfg["Config: regex_patterns_source_url"] -- used by --> ghsvc["GitHubDataService"]
ghsvc -- fetch_json/cache --> adapter["PyWhatAdapter.fetch_built_in_patterns"]
adapter -- returns --> api["GET /api/{org}/re_patterns/built-in"]
api -- consumed by --> websvc["web regexPatterns.getBuiltInPatterns()"]
websvc -- powers --> ui["BuiltInPatternsTab.vue"]
ui -- import selected --> importFlow["ImportRegexPattern.vue"]
importFlow -- create --> dbsvc["db::re_pattern::add (duplicate-safe)"]
```
<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>config.rs</strong><dd><code>Add source URL for built-in
regex patterns</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8827/files#diff-9aeee4a74c0520daa40f9b81c7016f5b6b3254375b968dd7598e745630980d62 ">+6/-0</a>
</td>
</tr>
<tr>
<td><strong>mod.rs</strong><dd><code>Register built-in patterns and
reorder routes</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8827/files#diff-02556e3f515441b5d2b6bbea7829df488beac03c4cc41309a6638ae3c0e0aec6 ">+2/-2</a>
</td>
</tr>
<tr>
<td><strong>mod.rs</strong><dd><code>Export github service
module</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8827/files#diff-1b15316505c31acccb26ba66d920fdb0894567d08d2bf1e3457716d128a67b83 ">+1/-0</a>
</td>
</tr>
</table></details></td></tr><tr><td><strong>Enhancement</strong></td><td><details><summary>10
files</summary><table>
<tr>
<td><strong>mod.rs</strong><dd><code>New endpoint to fetch built-in
patterns and improved save response</code></dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8827/files#diff-27d37a8738de89c81b540daa978e684caf2cf28803e1208d90cb4d42528ed28b ">+103/-4</a>
</td>
</tr>
<tr>
<td><strong>re_pattern.rs</strong><dd><code>Add duplicate-safe creation
with auto-suffix names</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8827/files#diff-0cb2bf6d550d07b66db7e325c6d44c6a598f2ac8e315bf9e168f4a1d9d6e745d ">+47/-17</a>
</td>
</tr>
<tr>
<td><strong>mod.rs</strong><dd><code>Add adapters module export for
pattern formats</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8827/files#diff-3a24aa67600735383b8b94a435974dc9b2677b6bb3f5fb502fb7d617af8bdec0 ">+20/-0</a>
</td>
</tr>
<tr>
<td><strong>pywhat.rs</strong><dd><code>Implement generic pattern
adapter and filters</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8827/files#diff-9ecd12df46c16fca3984bc46122a26568db208839f904e0b216185df43e13e08 ">+264/-0</a>
</td>
</tr>
<tr>
<td><strong>cache.rs</strong><dd><code>Introduce in-memory cache with
eviction and stats</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8827/files#diff-09bcde8f6abf0cbf88628e1e6e7290e9fde7655c7903569902bf28742e958326 ">+130/-0</a>
</td>
</tr>
<tr>
<td><strong>client.rs</strong><dd><code>Add GitHub data client with
retry and caching</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8827/files#diff-20a335d645493f38003faf7303124a6e85c3c2dfd765e148811aebee1ebfd890 ">+246/-0</a>
</td>
</tr>
<tr>
<td><strong>types.rs</strong><dd><code>Define service config, errors,
and cache types</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8827/files#diff-35becfa9ecfcd7711485f645f09a3fe2429231d0c351f0374f20f121225fbaae ">+119/-0</a>
</td>
</tr>
<tr>
<td><strong>regex_pattern.ts</strong><dd><code>Add client method to
fetch built-in patterns</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8827/files#diff-2a0b0828141d39ab0385e0941314ead1cdd2ec3ec7b3baf5fd0c42f8f010728a ">+18/-0</a>
</td>
</tr>
<tr>
<td><strong>BuiltInPatternsTab.vue</strong><dd><code>New UI to search,
filter, preview, import patterns</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8827/files#diff-0747e124429b322a69f6ae0117ec635044059bd48fb03e90b2328aa1f79b8b28 ">+451/-0</a>
</td>
</tr>
<tr>
<td><strong>ImportRegexPattern.vue</strong><dd><code>Integrate built-in
tab and import flow updates</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8827/files#diff-e8e1bcb5a02311504d7d571090eab27a270aaa71cae185ad2703023e2e70a31e ">+94/-36</a>
</td>
</tr>
</table></details></td></tr><tr><td><strong>Documentation</strong></td><td><details><summary>3
files</summary><table>
<tr>
<td><strong>mod.rs</strong><dd><code>Expose GitHub service modules and
types</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8827/files#diff-90a3518cd7c8b2a8b2a2093535b64a3dc4e6ffead41e5dca7901521e0c0ba910 ">+39/-0</a>
</td>
</tr>
<tr>
<td><strong>.env.example</strong><dd><code>Document regex patterns
source URL env var</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8827/files#diff-a3046da0d15a27e89f2afe639b25748a7ad4d9290af3e7b1b6c1a5533c8f0a8c ">+6/-1</a>
</td>
</tr>
<tr>
<td><strong>en.json</strong><dd><code>Add i18n strings for built-in
patterns UI</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8827/files#diff-892aa3d75ab6e129ef9116aa21bec1b9a15ba69ce5366d2a19128078c690d824 ">+17/-1</a>
</td>
</tr>
</table></details></td></tr></tr></tbody></table>
</details>
___
---------
Co-authored-by: sai nikhil kethe <nikhil@openobserve.ai >
2025-11-03 23:55:47 +05:30