<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced alert creation and cloning functionality with improved
validation checks.
- Added support for comprehensive search capabilities in the alert list.
- Introduced functionality to verify user interactions with search
history.
- **Bug Fixes**
- Improved error handling and user feedback during alert cloning.
- Enhanced validation for required fields in alert creation.
- **Tests**
- New test cases added for alert management and search history
functionalities.
- Updated existing tests to ensure better coverage and error handling,
including the addition of new scenarios for invalid inputs.
- **Chores**
- Cleaned up the test suite by removing unused code and improving
structure.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Sai Nikhil <nikhil@openobserve.ai>
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Bug Fixes**
- Improved error handling during coverage testing to ensure failures are
no longer ignored.
- **New Features**
- Streamlined command execution flow with a default command set to
`cmd_check` when no arguments are provided.
- **Documentation**
- Enhanced user feedback for unrecognized commands.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
- #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 -->
- #4944
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced loading process for panel data with improved error handling
and caching mechanisms.
- Updated time calculation functions to allow for more accurate
timestamp computations based on specified offsets.
- Streamlined naming process for series in chart rendering based on time
range gaps.
- **Bug Fixes**
- Improved handling of time range gaps in data conversion functions,
ensuring consistent and accurate data representation.
- **Documentation**
- Updated function signatures to reflect changes in parameters and
enhance clarity for developers.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
New integration tests for cargo to test alert scheduling
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Tests**
- Introduced new asynchronous integration tests for multi-range alert
handling.
- Enhanced existing alert tests with improved assertions for creation
and deletion processes.
- Updated alert trigger conditions to ensure comprehensive validation of
alert functionalities.
- Added tests for alert behavior during retries after destination
failures and evaluation errors.
- Updated tests for the `SearchHistoryQueryBuilder` to reflect new SQL
query structure tailored to search events.
- Modified tests for `RedirectResponse` to accommodate multiple query
parameter orders.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
- #4878
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced SQL query parsing and validation with improved error handling
for stream names.
- Introduced a new helper function to validate dummy stream names.
- **Bug Fixes**
- Refined error handling for invalid stream names to improve robustness.
- **Documentation**
- Updated comments for better clarity and consistency.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Tests**
- Introduced a new parameterized test suite for validating SQL queries
involving `cast` and `try_cast` operations.
- Enhanced testing framework to ensure API reliability when handling
various SQL casting scenarios.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
- #4829
- #4215
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
## Release Notes
- **New Features**
- Introduced the `OverrideConfigPopup` component for managing dashboard
override configurations.
- Added the `OverrideConfig` component for enhanced configuration
options in table-type dashboards.
- Enhanced `PanelConfig` to support override configurations.
- **Improvements**
- Expanded dashboard panel data structure to include `override_config`
for flexible configuration management.
- Improved unit handling and date formatting in table data conversion.
These updates enhance customization and usability for dashboard
configurations.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
This implements a background job for consuming metrics generated by
openobsere directly in itself. This is controlled by these env vars -
- `ZO_SELF_METRIC_CONSUMPTION_ENABLED` - enable/disable self metric
consumption, false by default
- `ZO_SELF_METRIC_CONSUMPTION_INTERVAL` - interval to run the job in
seconds, 60 seconds by default
- `ZO_SELF_METRIC_CONSUMPTION_WHITELIST` - comma separated list of
metric names to ingest, empty by default. The job does not run if this
is empty.
On ingesters, this directly calls the jons metric ingestion function to
ingest the metrics from the node. Other nodes do an grpc request to one
of the ingesters and send the metrics to it.
All metrics are ingested under the `_meta` org, as that seemed sensible
to have the metric of openobserve in itself.
The Json encode code was taken from
https://crates.io/crates/prometheus-json-encoder , which unfortunately
does not have any original repo anymore. It had to be changed in some
places to fit openobserve's needs, and it is originally licensed under
Apache 2.0 . I have kept the original notice header in the file as-is.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced self-consumption of metrics, allowing users to configure
which metrics to self-consume and at what intervals.
- Added a JSON encoder for Prometheus metrics to facilitate integration
with other systems.
- Enhanced metrics ingestion capabilities to support JSON data.
- New configuration options for self-consumption of metrics, including
enabling/disabling and specifying a whitelist.
- **Bug Fixes**
- Improved error handling for metrics ingestion requests.
- **Documentation**
- Updated public interfaces to reflect new modules and functions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Signed-off-by: Yashodhan Joshi <yjdoc2@gmail.com>
Co-authored-by: Yashodhan Joshi <yjdoc2@gmail.com>
Co-authored-by: Hengfei Yang <hengfei.yang@gmail.com>
- #4589
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
## Release Notes
- **New Features**
- Enhanced dashboard panel configuration with new options for line
thickness, label positioning, symbol visibility, and line interpolation.
- Introduced new icons for visual representation of chart options,
including Linear, NoSymbol, Smooth, StepBefore, StepAfter, and
StepMiddle.
- **Bug Fixes**
- Improved error handling and validation for dashboard panel
configurations.
- **Documentation**
- Added new localization entries for enhanced user interface labels
related to dashboard features.
These updates significantly improve the customization and usability of
dashboard panels, providing users with greater flexibility in
visualizing their data.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
- #4870
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced table rendering for print mode, ensuring proper styling and
positioning.
- Introduced conditional rendering for dashboard panels specifically in
print scenarios, improving layout adaptability.
- **Bug Fixes**
- Improved responsiveness of the dashboard display based on the
application's print state.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Addresses #4854
Currently, when updating organization settings, if relevant fields (like
`scrape_interval`, `trace_id_field_name` etc.) are not found, their
default values are used and hence all the fields that are not in the
request payload, are set to default.
This PR only updates the fields that are present in the request payload,
if none of the relevant fields are present, it returns 400 bad request
error.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced a new `OrganizationSettingPayload` structure for optional
organization settings, enhancing flexibility in configuration.
- Updated the settings creation process to handle optional fields and
improve validation.
- **Bug Fixes**
- Enhanced error handling for organization settings, ensuring proper
responses for invalid or missing data.
- **Documentation**
- Updated method signatures to reflect changes in the expected input
structure for organization settings.
<!-- 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 an optional `search_type` field in the QueryStatus,
allowing for more detailed tracking of search events.
- Enhanced the search functionality to include the search event type in
the response, improving the information provided about query statuses.
- **Improvements**
- Updated search operations to better handle incoming requests and
enhance filtering logic for search queries.
- Refined error handling and logging throughout the search process.
These changes aim to provide users with richer metadata and improved
search capabilities.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Whenever alert, report and derived stream retries reaches the maximum
retries (`ZO_SCHEDULER_MAX_RETRIES`, default `3`), with this pr, the
alert manager will skip to the next run timestamp.
Also, some flexibility added to the ENVs. For example, if the values of
`ZO_SCHEDULER_CLEAN_INTERVAL` and `ZO_SCHEDULER_WATCH_INTERVAL` are
negative, the background jobs for cleaning up and watching timeout for
`scheduled_jobs` table will not run.
`ZO_SCHEDULER_MAX_RETRIES` now accepts both negative and positive values
-
- For negative value, the max retries is the absolute value. But when
pulling jobs, it will pull jobs matching condition `< max_retries`. If a
job reaches max retries, it will never be pulled by the alert manager.
- For positive value (default case), It will pull jobs matching
conditions `< max_retries + 1`. So, even if a job reaches the maximum
retries, it will still be pulled by alert manager and will be skipped to
the next run timestamp of the alert/report/derived stream.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
## Release Notes
- **New Features**
- Introduced a new function to retrieve the maximum number of retries
for scheduled jobs, enhancing dynamic configuration management.
- Updated alert processing logic to handle retries consistently across
different trigger types.
- **Bug Fixes**
- Added error handling for negative interval values in job scheduling
functions, improving robustness.
- **Refactor**
- Improved code readability and maintainability by refactoring interval
initialization in scheduling functions.
These changes enhance the overall functionality and reliability of the
scheduling system.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Tests**
- Introduced a series of end-to-end tests for SQL queries with various
join types to ensure functionality against the API.
- Added tests for `LIKE`, inner join, `IN`, left join, right join, and
full join SQL queries.
- Implemented parameterized testing for improved coverage and
maintainability.
<!-- 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 SQL query handling across multiple components by trimming
whitespace from user inputs, ensuring cleaner and more reliable query
execution.
- Added a `refreshTimezone` method to update grid columns and regenerate
histogram data in the search functionality.
- **Bug Fixes**
- Improved error handling and user feedback for session data retrieval
and search requests.
These updates enhance the overall robustness and user experience within
the application, particularly in handling search queries and alerts.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: ktx-vaidehi <vaidehi.akhani@kiara.tech>
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Added end-to-end tests for creating alerts based on SQL and float
values.
- Introduced a page object model for unflattened logs to streamline UI
interactions.
- Implemented a function to toggle quick mode in the test suite.
- **Bug Fixes**
- Enhanced error handling and validation in alert tests.
- Improved reliability of tests by ensuring UI elements are visible
before interactions.
- **Refactor**
- Refactored Playwright tests to utilize the `UnflattenedPage` object
for better maintainability.
- Consolidated parameters in fetch requests for clarity.
- **Chores**
- Removed redundant tests from the alert test suite to improve clarity
and maintainability.
<!-- 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 a new `UnflattenedPage` class for structured UI
interactions in tests.
- Added functionality to toggle quick mode in the testing framework.
- **Bug Fixes**
- Improved error handling and visibility assertions in various test
cases.
- **Documentation**
- Enhanced comments and code formatting for better readability and
maintainability.
- **Refactor**
- Restructured test cases to utilize the `UnflattenedPage` object,
promoting a page object model for improved code organization.
- Updated test configurations for better clarity and consistency.
- **Chores**
- Removed several outdated test files related to dashboard and logging
functionalities, streamlining the test suite.
<!-- 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**
- Enhanced UI testing for time precision across multiple pages,
including Logs, Traces, Reports, Dashboards, Alerts, and Metrics.
- Added tests for both relative and absolute seconds to ensure accurate
time settings.
- **Bug Fixes**
- Updated existing tests to improve verification of time settings on the
Metrics and RUM pages.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
fixes#4851
As reported by user, we were ignoring the span status message when
storing the span data. In this PR, now we also store that as part of
attributes, and sets it as `status_code` and `status_message` .
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced trace span handling with new attributes for status codes and
messages, improving trace debugging capabilities.
- **Bug Fixes**
- Maintained existing error handling for invalid span IDs and timestamps
to ensure robust processing.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Signed-off-by: Yashodhan Joshi <yjdoc2@gmail.com>
Co-authored-by: Yashodhan Joshi <yjdoc2@gmail.com>
1. Reduced streams page table vertical padding
2. Reduced debounce timeout to 2500 of the column actions to appear
quicker
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced responsiveness of cell actions in the log table.
- Added a new CSS class for improved styling of the log stream table.
- Conditional display of the "doc_num" column based on user settings.
- **Improvements**
- Reduced debounce time for cell action updates, improving interaction
speed.
- Refined filtering functionality for the log stream, ensuring better
user experience.
- Improved handling of log stream data for more effective display.
- **Style**
- Introduced scoped styles for the new log stream table class.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Addresses #3750
When alert manager processes alerts, there can be some delay in
processing of alert. This PR adds a check to decide whether to include
the delay in the data timerange (to be used for alert evaluation) along
with the period. If the delay is `<= 20%` of the frequency, the delay is
added to the timerange (i.e. period + delay) and maximum considerable
delay is 1 hour. Hence, the considerable delay is `min(20% of frequency,
1 hour)`.
In case the delay is more, that actual timerange will be skipped and new
timerange (i.e. `now - alert period`) will be used to evaluate the
alert.
Say for some reason, an alert(period - 5min, frequency - 5min) that was
supposed to run at 10:00am, it is delayed to 10:04am. The delay is 4
mins which is `> 1min (20% of 5min)`. Hence, when running this alert the
timerange of `9:55am to 10:00am` will be skipped and instead `9:59am to
10:04am` timerange will be used to evaluate the alert.
The `skipped` event will be logged into the `triggers` stream along with
the `delay_in_secs` field.
- [x] Skip alerts when delay is big
- [x] Add tolerance in alert payload. When calculating `next_run_at` it
adds a random delay within the given tolerance bound.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Added a new status option "Skipped" for trigger data.
- Introduced new fields for tracking delays and evaluation times in
trigger and usage data.
- Enhanced alert scheduling logic to better handle processing delays.
- Added a new public function to generate random numbers within a
specified range.
- Expanded configuration options with new fields for alert management
and tolerance settings.
- **Bug Fixes**
- Improved accuracy in alert processing by refining delay handling and
evaluation metrics.
- **Documentation**
- Updated logging statements for clearer context during trigger
evaluations.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Improvement to reduce the memory usage of `format_key()` function by modifying the chars in place instead of allocating new chars arrays.
This approach only applies to ASCII strings, which is checked in thefunction. For UTF-8 strings, the previous method is used.
fix#4821 related to _original and _o2_id with user defined schema
- add both to selection projection in quick mode
- add both to schema generated from user defined schema
cherry-picked over
Co-authored-by: hengfei yang <hengfei.yang@gmail.com>
**New ENV**: `ZO_SCHEDULER_PAUSE_ALERT_AFTER_RETRIES` (boolean
variable). Default is `false`. By default, the alert will not be paused
after the maximum retries (in case of alert evaluation errors).
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced a new configuration option to pause alerts during retries,
enhancing alert management capabilities.
- **Bug Fixes**
- Improved error handling for alert notifications, ensuring clearer
logging and data management after maximum retries are reached.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Co-authored-by: oasisk <ashish.j.kolhe@gmail.com>
<!-- 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>
issue #4872
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
## Summary by CodeRabbit
- **New Features**
- Updated menu label from "Ingestion" to "Data sources" for improved
clarity in the user interface.
- Expanded localization support with numerous new terms and phrases for
English, German, Spanish, French, Italian, Japanese, Korean, Dutch,
Portuguese, Turkish, and Chinese, enhancing user experience across
multiple sections including menus, dashboards, and search
functionalities.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: hengfei yang <hengfei.yang@gmail.com>
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced a new "Prefix partition" option for stream index types,
enhancing user selection.
- Improved validation logic to prevent incompatible index type
selections.
- **Bug Fixes**
- Refined handling of stream input fields and validation to ensure
consistent functionality.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Sai Nikhil <nikhil@openobserve.ai>
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced new UI testing classes for various application pages,
including `AlertsPage`, `DashboardPage`, `LogsPage`, `ReportsPage`,
`TracesPage`, and `LoginPage`.
- Added a new test suite focusing on time-related features across
multiple pages.
- **Bug Fixes**
- Improved consistency in the GitHub Actions workflow for UI integration
tests.
- **Documentation**
- Enhanced organization of locators and methods for better usability in
UI testing.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Neha P <144308844+neha00290@users.noreply.github.com>
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
## Release Notes
- **New Features**
- Enhanced filtering capabilities for logs with new methods for
constructing filter expressions based on field types and values.
- **Improvements**
- Updated search term handling across various components to accept more
detailed parameters, allowing for more structured filtering.
- Improved pagination logic to ensure better user experience when
navigating search results.
- **Bug Fixes**
- Enhanced error handling in search term addition to notify users of any
issues with filter expression generation.
<!-- 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**
- Streamlined presentation of version, commit hash, and build date on
the About page for improved clarity.
- **Bug Fixes**
- Removed outdated layout that may have caused confusion in data
display.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
1.This PR fixes#4850
2.additionally in the custom logo issues I have removed .tif format in
supported formats along with it throws an error if the custom logo text
is more than 100 chars
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced a "Prefix partition" option for enhanced schema
configuration.
- Added character limit enforcement for custom logo text input (max 100
characters).
- Expanded file upload support to include additional image formats (.gif
and .bmp).
- **Bug Fixes**
- Improved error handling for logo updates and deletions with user
notifications.
- **Documentation**
- Streamlined file type descriptions for uploads in the settings
component.
These updates enhance user experience by improving schema management,
input validation, and file upload functionality.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This PR fixes#4863
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced log querying with support for time periods specified in
seconds (e.g., "30s").
- Improved restoration of URL query parameters to accommodate new time
format.
- **Bug Fixes**
- Refined logic for managing query parameters to ensure accurate updates
and initialization.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
#4844
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced a new method for calculating the virtual index of expanded
rows, improving row expansion handling.
- **Bug Fixes**
- Adjusted inline styles for the table and headers for better width
calculations.
- **Style**
- Enhanced code readability by adding trailing commas in various
functions and properties.
<!-- 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 logging for lock and release requests, improving
traceability of file operations.
- Added a mechanism to track and manage files currently locked,
preventing premature deletion during processing.
- **Bug Fixes**
- Enhanced file processing logic to ensure locked files are handled
appropriately, preventing errors during cleanup.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->