- #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 -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced error handling for data fetching and processing, providing
clearer feedback to users.
- Improved dynamic rendering of error messages and search results in the
user interface.
- **Bug Fixes**
- Resolved issues with undefined properties, ensuring robust error
message display and a smoother user experience.
- **Refactor**
- Streamlined logic for managing field visibility and refined data
processing methods for better performance and clarity.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Bhargav <BJP232004@GMAIL.COM>
1. the limit of text is fixed to 100 char
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced input sanitization to enhance text handling and security.
- Expanded file format validation for uploads to include additional
formats (.gif, .bmp, .tif).
- **Improvements**
- Enhanced input handling with a character limit of 100 for custom text.
- Updated validation messages for file uploads.
- **Type Safety**
- Added TypeScript type annotations for improved code safety and
clarity.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
this PR fixes#4752
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Improved date-time handling in the Search History component for more
accurate log searches.
- Added utility function to extract timestamps based on specified
periods.
- Enhanced functionality for managing query parameters and stream data.
- **Bug Fixes**
- Enhanced error handling for clearer notifications and traceability.
- **Refactor**
- Code refactoring for better clarity and maintainability in query
management.
- **Chores**
- Minor template adjustments for improved testing support.
<!-- 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 method to restore URL query parameters on component
mount.
- Enhanced data loading responsiveness based on route changes.
- Improved handling of search history visibility based on query
parameters.
- **Bug Fixes**
- Added validation checks for executing queries to ensure only valid
queries are processed.
- **Style**
- Updated layout and scrollbar styles for a better user interface
experience.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
…ill help to provide more insight in case of no record found with
function error.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced a button to toggle error details based on error messages.
- Added a new key for error button label in the localization file to
enhance user interface.
- **Bug Fixes**
- Improved error handling logic to provide comprehensive feedback on
errors encountered during log searches.
- **User Experience Enhancements**
- Refined user interaction for better understanding and management of
error information on the logs page.
- Enhanced clarity of error reporting with improved rendering of error
messages.
- Users can now access detailed error information more easily during log
searches.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Closes: #4749
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced logic for updating stream settings, including synchronization
with index streams for data retention.
- Improved error handling for stream cache operations, returning
immediate responses for disabled caches.
- **Bug Fixes**
- Added checks to ensure proper handling of cache deletion based on
cache status.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: hengfei yang <hengfei.yang@gmail.com>
#4806
Issue replication steps:
Go to logs, turn off histogram, select stream and click run-query after
getting results, turn on histogram.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced functionality for refreshing data based on user settings.
- Added dynamic SQL query management capabilities.
- Added a method for generating histogram data skeletons.
- Updated the region data fetching process for improved structure.
- **Improvements**
- Enhanced error handling with detailed messages and better trace ID
management.
- Improved pagination management and histogram data handling.
- Updated component structure for better search query handling and
visualizations.
- Enhanced clarity and maintainability of data filtering logic in the
permission table.
- **Minor Adjustments**
- Various code adjustments for clarity and efficiency.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
cherry-pick commits for short_url schema
ref: #4815
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced URL expiration handling with improved database interactions.
- Updated storage schema for short URLs to optimize performance.
- **Bug Fixes**
- Resolved issues with URL expiration retrieval by adjusting method
parameters.
- **Documentation**
- Updated documentation to reflect changes in database schema and method
signatures.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: oasisk <ashish.j.kolhe@gmail.com>
related to #4806, fix: Schema error: Ambiguous reference to unqualified
field _timestamp
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced SQL query analysis capabilities, including the ability to
identify JOIN operations and subqueries.
- Added a new constant to the aggregate user-defined function list.
- **Improvements**
- Improved clarity in the aggregate query detection process.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->