this PR introduces o2 ai agent with this user able to ask o2 ai about
sql query , vrl query and logs
---------
Co-authored-by: Subhradeep Chakraborty <chakrabortysubhradeep556@gmail.com>
Co-authored-by: Taiming Liu <liutaiming3@gmail.com>
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
## Release Notes
- **New Features**
- Added support for code coverage reporting with the integration of
`vite-plugin-istanbul`.
- Introduced a new configuration file for code coverage settings.
- **Improvements**
- Updated project to use ECMAScript modules for better compatibility.
- Enhanced UI test coverage with additional test cases and improved
error handling.
- Refactored test suites to utilize a custom module for better
organization and maintainability.
- Improved the login process and dashboard loading in test cases for
better reliability.
- **Bug Fixes**
- Resolved issues related to import statements affecting test execution.
- **Documentation**
- Updated `.gitignore` to exclude coverage directories from version
control.
These updates enhance the functionality, maintainability, and
reliability of the application and its testing framework.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
- #5036
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced styling for rendered HTML and Markdown content using Tailwind
CSS typography utilities.
- Integrated the `@tailwindcss/typography` plugin for improved text
styling capabilities.
- **Chores**
- Updated project dependencies to include `@tailwindcss/typography` in
development dependencies.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
## Release Notes
- **New Features**
- Enhanced `SessionViewer` component for improved readability in method
calls.
- Additional fields in stream settings for better configuration
management.
- **Bug Fixes**
- Adjusted expected outputs in test cases for `LogStream` and `Schema`
components.
- **Refactor**
- Updated dependencies for testing tools, transitioning from Jest to
Vitest.
- Improved structure and presentation in the `schema.vue` component.
- **Chores**
- Modified testing configuration paths and updated inline dependencies.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This PR implements the new design of **Pipeline** introduced by #4432
---
**2 types of pipelines differentiates by the source**
Type I: **Realtime**
- source is a stream (Logs, Metrics, & Traces)
- takes effect when the source stream is being ingested
Type II: **Scheduled** (aka DerivedSteram)
- source is a SQL query
- takes effect based on the given schedule
The new pipeline is represented as a graph consists of different types
of Nodes that are connected by edges.
**Pipeline Data Model**
```rs
pub struct Pipeline {
pub id: String,
pub version: i32,
pub enabled: bool,
pub org: String,
pub name: String,
pub description: String,
pub source: PipelineSource,
pub nodes: Vec<Node>,
pub edges: Vec<Edge>,
}
```
**4 types of node**
I. StreamNode: either used for source node of realtime pipeline or for
destination nodes
II. QueryNode: used for source node of scheduled pipeline
III. FunctionNode: used for executing vrl functions
IV. ConditionNode: used for checking routing conditions
Rules applied to validating a pipeline when it's created:
1. non-empty nodes list
2. non-empty edges list
3. 1st node in nodes list is either StreamNode or QueryNode
4. non-empty `conditions` in all ConditionNode nodes in nodes list
5. all leaf nodes are of type StreamNode
6. In the same branch, unchecked `after_flattened` FunctionNode can't
follow checked
`after_flattened` checked FunctionNode
Pipeline execution is implemented with the struct `ExecutablePipeline`,
a ready-execute pipeline object cached in memory based on the Pipeline
objects modified on the UI side.
`ExecutablePipeline` object
- builds the relationships among all the nodes based on the edges
- topologically sorts the nodes based on the level to determine which
node to process first
- registers all the vrl function node once
`ExecutablePipeline` object processes ingested records in batch.
Starting from the source node, each connecting edge has a channel
connecting the parent and child node, used for passing the records. This
approach enables batch processing in parallel.
---
**Deprecated Features**
1. previous implementation of pipeline
2. Function x Stream associations
- Functions can still be added/edited/removed as before
- Needs to create a pipeline in order to apply chosen functions to the
desired stream
The new release when this pr is merged will automatically migrate **old
pipelines** and **Function x Stream associations** to new pipeline
format and can be found in `Stream Pipelines` tab with `Migrated-`
prefix names.
**_Note: Auto generated pipelines are paused by default. Please verify
the pipelines before enabling them_**
Co-authored-by: Taiming Liu <liutaiming3@gmail.com>
Co-authored-by: Bhargav <BJP232004@GMAIL.COM>
- #4837
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
## Release Notes
- **New Features**
- Introduced a new color configuration option for dashboard panels,
allowing users to customize colors via a new dropdown component.
- Added a utility for managing color palettes and calculating color
values based on data metrics.
- **Enhancements**
- Improved SQL and PromQL data conversion processes to dynamically apply
color schemes and enhance tooltip formatting.
- Enhanced the configuration options for dashboard panels with
additional color settings.
- **Dependencies**
- Added new dependencies for improved data visualization capabilities.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
## Release Notes
- **New Features**
- Introduced new utility functions for SQL query parsing and un-parsing.
- Added functionality for managing fields in SQL queries based on user
interactions in the log search interface.
- **Improvements**
- Enhanced log search interface with new event handlers and improved
user feedback.
- Streamlined error handling and data management for log queries.
- Refined conditional rendering and query construction logic in the
search interface.
- Updated SQL query manipulation logic for better accuracy and error
handling.
- Improved the clarity and efficiency of SQL query handling and saved
views.
- Enhanced control flow and data structure management within SQL query
handling.
- Added optional chaining to improve robustness in dashboard panel data
handling.
- Adjusted handling of SQL queries for improved performance and
responsiveness.
- **Bug Fixes**
- Removed redundant code to improve performance and clarity.
- **Chores**
- Updated dependencies to enhance SQL parsing capabilities.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: ktx-abhay <abhay.padamani@kiara.tech>
fix#3973
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced a new dynamic table component for enhanced data display and
interaction.
- Added support for Tailwind CSS, improving styling capabilities across
the application.
- Implemented interactive controls for managing log entries in the data
table.
- **Improvements**
- Enhanced logging functionality with clearer error messaging, improved
content wrapping, and optimized selection of log fields based on user
input.
- Streamlined user interface in the JSON preview and search result
components for better usability and readability.
- Improved performance and responsiveness of the search results table.
- Refined column visibility management in the search results, enhancing
user experience.
- **Bug Fixes**
- Updated column management logic in the search results for improved
robustness.
- Enhanced reliability of Playwright tests by refining timing and
interaction steps.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Sai Nikhil <nikhil@openobserve.ai>
Removed Monoco-single-line dependency
When user clicks on Ctrl + enter (windows) or Cmd + enter (max) in query
mode or vrl function editor
run query runs
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced a keyboard shortcut (Ctrl + Enter) in the Search Bar for
executing queries, enhancing user experience and interactivity.
- **Dependency Updates**
- Updated the dependency from `vue-monaco-singleline` to
`monaco-editor-vue`, which may introduce new features and optimizations
for the Monaco Editor integration.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced `SanitizedHtmlRenderer` for improved and secure HTML
content rendering in search results.
- **Enhancements**
- Improved error handling in the application, including updated error
messages with "TraceID" for better tracking.
- Enhanced user experience by allowing users to view additional error
details during search failures.
- Simplified error output by removing detailed error information from
user interfaces.
- **Bug Fixes**
- Adjusted handling of notifications to more accurately reflect error
states, especially for rate limiting scenarios.
- **Chores**
- Modified dependency version for `rudder-sdk-js` to a specific version,
potentially impacting update capabilities.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Chores**
- Downgraded the `rudder-sdk-js` dependency version to enhance
compatibility and stability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Bug Fixes**
- Updated error messaging in the Logs UI to provide clearer feedback to
users when search queries fail.
- **Chores**
- Improved element selection specificity in Playwright tests to ensure
interactions with the correct UI elements.
- Upgraded dependencies to the latest versions for improved performance,
security, and compatibility.
- Excluded unnecessary directories from TypeScript compilation to
enhance project specificity and efficiency.
- Refined time zone handling across components for better accuracy in
date and time displays.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Neha P <neha@openobserve.ai>
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Integrated Tailwind CSS for enhanced styling capabilities.
- Added Autoprefixer to ensure cross-browser compatibility.
- Introduced PostCSS configuration for better CSS processing.
- **Improved Styling**
- New styling framework (Tailwind CSS) incorporated into the project for
easier and more efficient design.
```
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
- #3460
- #2015
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Added multi-select functionality for variables in dashboards.
- Introduced a custom value selector component for dashboard settings.
- Updated the app to use Quasar's fullscreen module.
- **Enhancements**
- Improved query verification process in DashboardQueryEditor.
- Enhanced filtering logic for variable placeholders and values in
queries.
- Added "IN" operator support for dashboard queries.
- **Bug Fixes**
- Fixed issues with handling and displaying selected values in various
components.
- **Performance Improvements**
- Increased size parameter for dashboard panel data loading from 10 to
100.
- **Localization**
- Added new localization key: "multiSelect" for multiple selection
support.
- **UI/UX**
- Updated styles and key bindings in DrilldownPopUp.
- Enhanced display logic for selected values in
VariableQueryValueSelector.
- **Dependencies**
- Updated Quasar package from version ^2.7.5 to ^2.15.4.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: ktx-abhay <abhay.padamani@kiara.tech>