Commit Graph
234 Commits
Author SHA1 Message Date
Huaijin 4773c9e4c7 fix: preserve PromQL smoothing names in backend diagnostics (#15198) 2026-10-09 10:01:13 +00:00
Amey PawarandHengfei Yang a9faf71acd fix(functions): don't reuse a JS context left with a queued job (#14980)
Co-authored-by: Hengfei Yang <hengfei.yang@gmail.com>
2026-10-08 14:33:57 +00:00
Hengfei Yang 610cd70a13 fix: generate and store the ext auth salt on a new install instead of refusing to start (#15191) 2026-10-08 09:56:01 +00:00
Prabhat Sharmaandgithub-actions[bot] 4020426135 feat(metrics): metrics v2 — alerts from charts, compare, forecast, formulas, Used in, builder round-trip, staleness markers and Prometheus 3.x functions (#15150)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-10-08 04:50:02 +00:00
Ashish Kolheandgithub-actions[bot] 46678ea8da fix: tighten input validation, auth and outbound request checks (#15054)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-10-08 00:54:05 +00:00
Vamsi Karthik R 92a62c2d6c test(rum): end-to-end coverage for Product Analytics and its schema-state fixes (#15131) 2026-10-07 10:05:59 +00:00
Neha P 3b1c5f4c7e test(logs): fix the false-green paths in the #15086 coverage, and move it onto logsPage (#15138) 2026-10-07 05:10:21 +00:00
Amey PawarandHengfei Yang 4c50b0c9cf feat(stream): refuse non-widening type changes in update_fields (#15047)
Co-authored-by: Hengfei Yang <hengfei.yang@gmail.com>
2026-10-07 03:38:06 +00:00
Hengfei Yang 96b31990c8 fix(metrics): correct OTLP sums that can go down still stored as counters (#15134) 2026-10-06 10:40:31 +00:00
Neha P e6deef9737 test(logs): UI and API coverage for the #15086 logs changes (#15116) 2026-10-06 09:26:24 +00:00
Amey PawarandHengfei Yang 779f09fabc fix(ingest): parse RFC3339 timestamps with a 2- or 5-digit fraction and a zone (#15059)
Co-authored-by: Hengfei Yang <hengfei.yang@gmail.com>
2026-10-06 08:56:02 +00:00
Amey PawarandHengfei Yang 7707ee4de6 fix(metrics): store an OTLP sum that can go down as a gauge (#15113)
Co-authored-by: Hengfei Yang <hengfei.yang@gmail.com>
2026-10-06 08:51:42 +00:00
Amey Pawar 7fcb4ae1fa fix(search): refuse malformed multi-stream requests instead of panicking (#15030) 2026-10-06 07:06:50 +00:00
Amey Pawar 870ba9c56f fix(pipelines): start each scheduled window where the previous one ended (#15042) 2026-10-06 07:04:08 +00:00
c575b3a91a feat(rum): product analytics with named events and saved funnels (#15070)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Prabhat Sharma <prabhat@openobserve.ai>
2026-10-03 21:28:18 +00:00
Prabhat Sharmaandgithub-actions[bot] b75978cd37 feat(alerts): anomaly value band on the Charts tab, with direction, window-share and band-width settings (#15052)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-10-03 00:13:16 +00:00
Neha P 5cd1d86469 fix(functions): repair an import fix-up that could not write, with E2E + API coverage (#15043) 2026-10-02 07:41:47 +00:00
uddhavdave ff3cc7ab04 fix(prompts): folder-scoped RBAC for prompts (#15008) 2026-09-30 13:39:39 +00:00
Neha P ee32552c6f test(regression): cover 11 closed logs, streams, pipeline and enrichment bugs (#14978) 2026-09-30 09:30:33 +00:00
uddhavdave 301abd269a fix(prompts): enforce per-prompt RBAC and gate protected labels (#14942) 2026-09-29 08:34:48 +00:00
Vamsi Karthik R 1b50f7ca0a test: regression coverage for retested bug fixes (#14376, #14317, #14648, #11283, #14636, #14640, #14917) (#14927) 2026-09-28 19:46:23 +00:00
Neha P db61c88aa6 test(regression): cover 10 closed logs, pipeline and enrichment bugs (#14932) 2026-09-28 13:33:31 +00:00
65e0e7edf6 feat(prompts): add managed prompt registry (#14818)
Co-authored-by: sai nikhil kethe <nikhil@openobserve.ai>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-09-28 10:18:16 +00:00
Vamsi Karthik R 33c0239410 test: cover the bug fixes confirmed by retest, and drop the #13243 workarounds (#14842) 2026-09-27 19:35:38 +00:00
Neha P 0cbdb03dc2 test: regression coverage for 29 closed Needs-Automation issues (#14883) 2026-09-25 12:42:57 +00:00
Bhargav ad9e9c4b33 fix: Fix/2724 rum oo to o2 (#14853) 2026-09-24 10:54:41 +00:00
Neha P 5e4a992f6a fix(anomaly): reject a detection_function the trainer cannot deserialize (#14761) 2026-09-24 04:55:52 +00:00
Neha P 6f6d53d771 test(anomaly): cover the condition surface at the HTTP boundary (#14798) 2026-09-23 14:22:33 +00:00
0b1e67bc2c test(autoe2e): generated E2E tests for #14601 (dashboard-cell-explorer-log-detail) (#14703)
Co-authored-by: Shrinath-O2 <214651540+Shrinath-O2@users.noreply.github.com>
Co-authored-by: ktx-akshay <akshay.patil@kiara.tech>
Co-authored-by: Neha P <neha@openobserve.ai>
2026-09-22 11:32:05 +00:00
Bhargav c8184b3101 fix(tests): give each realtime pipeline its own source stream (#14731) 2026-09-22 09:08:04 +00:00
Bhargav 7158e9a2bb test: search backend API regression coverage (PromQL + histogram) (#14437) 2026-09-22 08:46:34 +00:00
Shrinath Rao cb083f3826 fix(ingest): count and warn a wholly-discarded batch's window drops (#14706) 2026-09-21 13:48:51 +00:00
Neha P ab5413a475 fix: enforce realtime pipeline exclusivity against the persisted source (#14661) 2026-09-21 13:37:48 +00:00
Shrinath RaoandShrinath-O2 edcb3c835e test(autoe2e): generated E2E tests for #14613 (splunk-hec-ingestion-window) (#14641)
Co-authored-by: Shrinath-O2 <214651540+Shrinath-O2@users.noreply.github.com>
2026-09-21 12:20:32 +00:00
Neha P 80d9d6ff91 test: regression coverage for 4 closed Needs-Automation bugs, and repair the alert wizard's stream select (#14689) 2026-09-21 12:17:22 +00:00
Shrinath Rao b2e058a202 test: regression coverage for 4 Needs-Automation issues (1 API + 3 Logs UI regression) (#14538) 2026-09-21 06:14:44 +00:00
Neha P 8dcaf5e8e8 test: cover report folders (#11219) and the incident status filter (#12611) (#14646) 2026-09-20 08:33:59 +00:00
Neha P b607d0a623 fix(alerts): repair three clone-dialog bugs, and cover the clone surface (#14621) 2026-09-18 14:44:18 +00:00
Neha P 2c341ca4ae test(api): cover 8 closed Needs-Automation issues (#14598) 2026-09-18 08:09:45 +00:00
Shrinath Rao b85030e7d9 test(promql): guard left-open range-selector boundary (#14546) (#14584) 2026-09-17 14:11:04 +00:00
3be8821d93 fix: correctly handle silence for pending period (main) (#14564)
Signed-off-by: Yashodhan Joshi <yjdoc2@gmail.com>
Co-authored-by: Yashodhan Joshi <yjdoc2@gmail.com>
Co-authored-by: Shrinath Rao <shnath@openobserve.ai>
2026-09-17 14:04:37 +00:00
Neha P f3db1f5477 test(workflows): cover folders and folder-scoped RBAC [merge after o2-enterprise#2653] (#14577) 2026-09-17 12:18:23 +00:00
Neha P 5cecdc0f7f fix(alerts): send a name-resolved expression summary on composite list rows (#14458) 2026-09-16 17:39:49 +00:00
Hengfei Yang 1263f05595 fix(ci): honor fuzz health-check settings under the CI profile (#14527) 2026-09-16 09:12:13 +00:00
Neha P 94a82a2ef8 test(alerts): real E2E coverage for composite alerts (#14456) 2026-09-13 06:05:30 +00:00
Ashish Kolheandgithub-actions[bot] 2a19a61a31 fix(dbm): Metrics tab — database load, themed catalog, health ratios, and the o2_dbm_kind panel-failure fix (#14401)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-09-11 05:40:02 +00:00
udevandsai nikhil kethe f27440841b fix(ai): improve provider testing, playground feedback, and experiment results (#14174)
Co-authored-by: sai nikhil kethe <nikhil@openobserve.ai>
2026-09-08 09:41:15 +00:00
Neha P 0fb66d4f26 test: fail-loud when WORKFLOWS_REQUIRED=1 instead of silent skip (#14040) 2026-08-31 12:06:53 +00:00
Neha P e74d5ea210 test(workflows): parametrized condition-eval matrix (17 cases) (#13999) 2026-08-27 11:55:36 +00:00
Prabhat Sharma fea71e02d4 feat(alerts): alert library — browse, preview and install curated alerts (#13922)
## Alert Library

A curated catalog at `/alert-library`: browse packs of ready-made
alerts, see
which ones can actually run against the streams this org already
receives,
preview a verdict against real data, and install one or many.

The library is a **peer page** of Alerts / Notification Destinations /
Templates
— flat routing, presented as tabs via a shared `AlertSectionTabs` in
`OPageLayout #header-tabs` (the pattern `PipelineSectionTabs` already
ships).

### What landed, by phase

| Phase | What |
| --- | --- |
| Data layer | S3 manifest fetch, cache, readiness resolution
(`useAlertLibrary`, `constants/alertLibrary`, `types/alertLibrary`) |
| Gallery | Rail (packs / categories, multi-select, segmented switch),
stat-strip availability facets, cards |
| Drawer | Detail view with query preview and customizable tunables |
| Install | Bulk-install wizard — destination selection, per-alert
tunables, stale-session hardening |
| Prefill | Carry a library alert (query, trigger, threshold, severity)
into the alert editor |

### Design decisions worth knowing

- **Rail navigates, strip filters.** Availability is deliberately not in
the rail
  — carrying both overflowed it and pushed a facet group below the fold.
- **Colour marks the exception only.** No "Ready" pill (it would
describe ~75 of
  86 cards and signal nothing); only unusable cards carry a label.
- **A failed `/streams` call leaves readiness unknown**, rather than
claiming
"none of your data matches" — that claim would be about the request, not
the
org, and it is the most alarming thing this page can say. Counts read
`—`
until there is an answer, and a failed *refresh* keeps the verdict it
already had.
- **No "Installed" tile** — installed detection doesn't exist yet, and a
tile
  reading a permanent zero is dishonest UI.
- **`severity: warning` renders as `medium`** — the badge group's scale
is
critical/high/medium/low/info, and medium is the amber it also gives P3,
which
  is exactly the priority a warning alert installs as.
- Pack and category names come from the manifest, so they render as
`raw()` data —
  a pack added upstream needs no frontend release.

### Design-system changes (used by the library, applied app-wide)

- **`warning-quiet` badge tone** — one variant whose values differ by
theme: the
soft amber wash in light, a neutral chip in dark. Neither the filled
amber chip
nor the neutral one was right in both, because the two ramps aren't
symmetric.
- **Border tokens now meet WCAG 2.1 SC 1.4.11.** Every border token
measured
under 3:1 (`border-strong` was 2.52:1). `border-default` firms to
grey-300 and
  controls get a token that clears 3:1.
- Nav: Reliability's flyout groups its four alerting entries under one
**Alerts**
header, declared in the same order as the tab strip those pages carry.
Flyout
  levels are sized by depth.
- `sensors-off` icon added to the `OIcon` registry.

### Fixes that rode along

- **metrics**: a shared URL whose `metrics_data` blob omits panel query
fields no
longer blanks the whole metrics page — blob queries are filled out to
the panel
  schema before being laid over.
- **dashboards**: a PromQL series with no legend template was named
`JSON.stringify(metric)`, so fifty series read identically for the width
of the
chip. Series are now named by the labels that actually differ,
preferring the
ones that say *which workload* it is (namespace / service / pod / host).
Correlation's semantic groups refine that when loaded, but nothing is
fetched
to render a chart — that endpoint is enterprise-only and a chart must
render
  the same on OSS.
- **alerts**: preview evaluates against the alert's real trigger;
deleting a row
no longer reloads the list behind it; peer tabs no longer shift when
switching
  alerting pages.
- **ui**: badge-only select options no longer render bold.

### Tests

- `test(search)`: pins the streaming-aggregate **wire contract** at the
HTTP
boundary. Under streaming aggregates each partition carries the
cumulative
merged state (last frame is the answer) while ordinary partitions are
disjoint
and must be summed. No pytest had ever received `streaming_aggs: true` —
the
emitter could have flipped to per-partition deltas with the whole suite
green
while dashboards, Logs and the alert preview all silently over-counted.
- `test(e2e)`: four helpers that passed only while an org stayed small —
an
assertion reading past a 20-row page, an unfiltered `OSelect` that
virtualises
past 50 entries, a tab click landing on the rename pencil, and two
builder
  tests asserting on whichever metric sorted first.
- New unit specs across the library components, composable, facets,
tunables and
  install path.

### Notes

- **i18n**: en-US only; CI generates the other 14 locales.
- **No backend changes** — this branch is entirely `web/` plus test
helpers.
2026-08-23 20:32:28 +00:00