Files
openobserve/web
omkark06 1c06082a82 fix(traces): zoom controls on trace graphs, per-branch tree metrics, catalog errors, org switch with Auto Run off
Trace Graph (Tree View and Graph View) and Flame Graph had no zoom
buttons, so zooming needed a mouse wheel or trackpad gesture. They now
share the zoom in / zoom out / fit control and zoom logic that Service
Graph already had (useChartZoom + ChartZoomControls). Flame Graph zooms
by narrowing the visible time range and pans by dragging or by
horizontal / shift wheel; selecting a span outside the window brings it
into view, and a new trace resets the zoom.

Tree View gave every copy of a repeated service the same latency and
error state, built from all of that service's spans. Each node now takes
its numbers from the spans on its own ancestor path, and the hover
tooltip resolves the node by its position in the tree the chart draws,
so it stays right while the service search filters the tree.

Service Catalog selected infer_service_system and infer_service_type
whenever infer_service_name existed, so streams without them got a 400,
and the failure was shown as "No services found" or as the previous
stream's rows. Absent columns are now selected as NULL, and a failed
query clears the rows and shows the load-error state with the server
message and Retry.

With Auto Run off, a header org switch still searched: the remounted
page could read the previous org's URL, whose stream= counted as a
shared link, and the Rate and Duration panels queried because
searchApplied survived the reset. During an org switch a URL that still
names the org being left is no longer treated as a shared link, and the
reset clears searchApplied. A shared link for another org still
searches.
2026-11-03 23:51:30 +05:30
..
…
…
…
…
…
2026-09-03 10:39:27 +00:00

web

This template should help get you started developing with Vue 3 in Vite.

VSCode + Volar (and disable Vetur) + TypeScript Vue Plugin (Volar).

Type Support for .vue Imports in TS

TypeScript cannot handle type information for .vue imports by default, so we replace the tsc CLI with vue-tsc for type checking. In editors, we need TypeScript Vue Plugin (Volar) to make the TypeScript language service aware of .vue types.

If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a Take Over Mode that is more performant. You can enable it by the following steps:

  1. Disable the built-in TypeScript Extension
    1. Run Extensions: Show Built-in Extensions from VSCode's command palette
    2. Find TypeScript and JavaScript Language Features, right click and select Disable (Workspace)
  2. Reload the VSCode window by running Developer: Reload Window from the command palette.

Customize configuration

See Vite Configuration Reference.

Project Setup

npm install

Compile and Hot-Reload for Development

For stand-alone UI development environment, create .env file and which contains below environment variable

VITE_OPENOBSERVE_ENDPOINT=http://localhost:5080/
npm run dev

Type-Check, Compile and Minify for Production

npm run build

Run Unit Tests with Vitest

npm run test:unit

Run End-to-End Tests with Cypress

npm run test:e2e:dev

This runs the end-to-end tests against the Vite development server. It is much faster than the production build.

But it's still recommended to test the production build with test:e2e before deploying (e.g. in CI environments):

npm run build
npm run test:e2e

Lint with ESLint

npm run lint