San Francisco, CA – October 26, 2023 – OpenObserve, a leading open-source observability platform, today announced the landmark release of its first generally available 1.x version, marking a significant milestone in its development. Version 1.0.0 introduces a revolutionary observability environment specifically designed for Large Language Model (LLM) and AI agent applications. This new suite of features aims to provide unprecedented visibility into complex, multi-stage AI workflows, enabling teams to meticulously capture telemetry, evaluate outputs, and diagnose errors with newfound clarity. Beyond its AI-centric advancements, the release also bolsters OpenObserve’s existing offerings, expanding its alerting and Service Level Objective (SLO) capabilities, integrating Synthetic Monitoring into its open-source edition, and promising substantial performance enhancements for PromQL queries.

OpenObserve, built on the robust and performant Rust programming language, positions itself as a cloud-native observability platform that seamlessly integrates logs, metrics, and traces. Its core mission is to empower development and operations teams by providing a centralized repository for ingesting, searching, and correlating vast amounts of telemetry data. The platform boasts broad query language support, including SQL for general data manipulation and PromQL for sophisticated metric analysis, a testament to its commitment to interoperability with established monitoring paradigms. Data storage is optimized for efficiency and scalability, leveraging the Parquet format and object storage solutions, further enhancing its suitability for large-scale deployments. Comprehensive documentation is available on the OpenObserve website, guiding users through its extensive features and functionalities.

Revolutionizing AI Workload Observability: Evaluation, Experimentation, and Deeper Insights

At the heart of OpenObserve 1.0.0 lies a groundbreaking new capability dubbed "AI Observability." According to the development team, this feature represents a paradigm shift in how AI applications are monitored and understood. It encompasses a sophisticated suite of tools designed to provide granular insights into the performance and behavior of LLM and agent-based systems.

Key components of the AI Observability suite include:

  • Trace and Session Evaluation: The platform now offers advanced evaluation mechanisms for individual traces and entire AI sessions. This allows developers to assess the quality and accuracy of AI responses, identify patterns of failure, and pinpoint areas for improvement. By analyzing how an LLM or agent navigates through a series of interactions, teams can gain a deeper understanding of its decision-making process and identify subtle biases or errors.
  • Human Annotation Queues and Datasets: Recognizing the crucial role of human feedback in refining AI models, OpenObserve 1.0.0 introduces dedicated queues and datasets for human annotations. This facilitates a structured and efficient process for collecting expert evaluations, enabling the creation of high-quality datasets for model retraining and fine-tuning. The integration of human feedback directly into the observability loop ensures that AI systems are continuously learning and improving.
  • AI Playground for Experimentation and Evaluation: A pivotal addition is the AI Playground, an interactive environment where users can execute and evaluate AI tasks. This feature empowers teams to experiment with different prompts, model configurations, and agent behaviors in a controlled setting. Crucially, the playground allows for the rigorous evaluation of these experiments, moving beyond simple response times and cost considerations to incorporate defined quality criteria. This is particularly valuable for teams aiming to optimize LLM and agent workflows, ensuring that changes not only enhance performance but also maintain or improve the accuracy and relevance of outputs.
  • Experiment Workflows for Comparative Analysis: The release introduces experiment workflows that enable teams to conduct comparative tests of different variants of an LLM or agent workflow. This is instrumental in A/B testing new prompts, model versions, or agent logic. By facilitating side-by-side comparisons, developers can objectively assess the impact of these changes on key performance indicators (KPIs) such as accuracy, latency, cost, and user satisfaction. This systematic approach to experimentation accelerates the iteration cycle and reduces the risk associated with deploying new AI functionalities.

The release notes for OpenObserve 1.0.0 detail further enhancements within the AI Observability domain, including support for time-dependent model pricing, which allows for more accurate cost tracking in dynamic environments. Additionally, a highly available mode for the o2-ai agent is introduced, ensuring continuous operation and reliability for critical AI deployments.

Enhanced Agent and Service Graph for Holistic System Visibility

Complementing the AI-specific features, OpenObserve 1.0.0 also introduces an expanded Agent and Service Graph. This visualization tool is critical for understanding the intricate web of dependencies within modern, distributed systems. The updated graph now makes visible the relationships between various services and AI components, offering a holistic view of the entire application architecture.

Key improvements to the Agent and Service Graph include:

  • Visualizing AI Component Interactions: The graph allows teams to see how agent calls are linked to the underlying model invocations, the tools utilized by the agent, and any downstream services that are involved. This deep level of insight is invaluable for troubleshooting, performance optimization, and capacity planning. For example, an engineer can now trace a user’s request through an agent, see which LLM was queried, which external API was called by the agent, and the eventual response flow back to the user.
  • Error Correlation Across AI and Traditional Services: By visually mapping dependencies, the graph facilitates the correlation of errors that may originate in either traditional microservices or the AI components they interact with. This unified view helps to quickly identify the root cause of issues, whether it stems from a backend database, a network latency, or an unexpected output from an LLM.
  • Refined Visualizations for LLM Diagrams: The release notes also highlight bug fixes related to the visualization of LLM diagrams, ensuring that these complex structures are rendered accurately and are easy to interpret.
  • Cost and Comparison Views for Experiments: The enhanced graph also improves the presentation of cost and comparison views for experiments, making it easier to analyze the financial implications and performance differences of various AI configurations.
  • Normalization of Model Names: To improve consistency and clarity, model names within the service graph are now normalized, simplifying the identification and tracking of specific AI models in use.

It is important for users to note that not all features mentioned in the changelog are available in every product variant. The OpenObserve team explicitly distinguishes between changes made to the open-source codebase and those that are part of their enterprise offerings, ensuring transparency for all users.

Fortifying Observability with Advanced SLOs, Composite Alarms, and Database Monitoring

Beyond the groundbreaking AI capabilities, OpenObserve 1.0.0 significantly enhances its traditional observability features, catering to the needs of operating classical services with greater precision and flexibility.

Key advancements in alerting and SLO management include:

  • Enhanced Service Level Objectives (SLOs): OpenObserve continues to strengthen its support for Service Level Objectives (SLOs) with robust burn-rate alerting. Burn-rate alerts are designed to provide early warnings by monitoring the rate at which an error budget is being consumed. This means that if a service is experiencing a higher-than-acceptable error rate, an alert can be triggered well before the end of a defined period (e.g., a month), allowing for proactive intervention.
  • PromQL Integration for SLOs: A significant enhancement is the ability to leverage PromQL for defining SLOs. This empowers users to create more sophisticated and context-aware SLOs that can dynamically adapt to changing system behaviors. Furthermore, the platform now supports time-segmented objectives, allowing for the definition of different SLO targets for distinct periods, such as peak hours or maintenance windows.
  • Composite Alarm Rules: The introduction of composite alarm rules allows for the creation of more intelligent alerting systems. These rules enable the combination of multiple individual alerts into a single, more comprehensive alert. This reduces alert fatigue by only notifying users when a critical combination of conditions is met, rather than inundating them with numerous individual alerts.
  • SQL-Powered Multi-Alarming: The platform now supports the use of SQL queries to power multiple alarms. This provides a flexible and powerful way to define complex alerting conditions based on aggregated data and custom logic.
  • Pending Alarm Phase: To mitigate the impact of transient fluctuations and noise, alarms can now be configured with a "pending" phase. This means that a specific condition must persist for a defined duration before an alert is triggered. This feature is invaluable for filtering out short-lived spikes and ensuring that alerts are only raised for persistent issues.
  • Alarm Library and Templating: A new alarm library will provide users with pre-defined, ready-to-use alarm templates. This streamlines the process of setting up common alerts and promotes best practices. Alarms and SLOs can also be exported as Terraform or OpenTofu configurations, enabling infrastructure-as-code (IaC) practices for managing observability configurations.

New additions to monitoring capabilities include:

  • Database Monitoring Surface: A dedicated surface for database monitoring has been introduced, providing insights into the health and performance of critical database systems.
  • Synthetic Monitoring in Open Source: In a significant move for the open-source community, Synthetic Monitoring functionality has been fully integrated into the open-source edition. This allows users to automate checks of endpoints and multi-stage browser workflows, ensuring the availability and performance of their applications from an end-user perspective.
  • Super Cluster Support: The release includes support for super clusters, enabling the management and monitoring of large, distributed OpenObserve deployments.
  • Usage-Based Billing Adjustments: Changes have been made to the usage-based billing for check steps, optimizing cost management for synthetic monitoring.

Performance Optimizations for PromQL and Enhanced Trace Analysis

OpenObserve 1.0.0 also brings significant performance improvements to its query engine, particularly for PromQL, a widely adopted query language for time-series data. These optimizations are expected to lead to faster data retrieval and analysis, especially for complex queries.

Key performance enhancements include:

  • PromQL Query Optimizations: The development team has implemented several optimizations for PromQL queries, including:

    • Label and Time Series Processing: Improvements in how labels and time series are processed are expected to yield faster query execution.
    • Global Cache Structure for Series Labels: A new global cache structure for series labels will reduce redundant lookups, accelerating query performance.
    • Efficient Range Function and Aggregation Evaluation: Range functions and aggregations, common in time-series analysis, are now evaluated more efficiently.
    • Reduced Memory Footprint: OpenObserve now limits memory usage when merging indexed metrics, leading to more efficient resource utilization.
      While concrete benchmark figures are not provided in the release notes, these architectural changes are anticipated to deliver tangible performance gains.
  • Trace and Search Enhancements: Version 1.0.0 also introduces improvements to trace analysis and search capabilities.

    • New Time Index for Trace Queries: A new time index is designed to accelerate trace queries that span multiple IDs and organization-wide time ranges, making it easier to analyze long-running or complex distributed transactions.
    • Span Events and Exceptions on Trace Timeline: Span events and exceptions are now prominently displayed on the trace timeline, providing immediate visual cues for potential issues within a trace.
    • Query Editor Overhaul for Dashboards: The query editor for dashboards has been revamped, offering a more intuitive and powerful experience for building and refining visualizations.
    • Embedded Logs Explorer in Table Cells: Table cells within dashboards can now open an embedded logs explorer, allowing users to seamlessly drill down from aggregated metrics or traces to the underlying log data for deeper investigation.

Crucial Considerations for Upgrading and Future Development

Administrators planning to upgrade to OpenObserve 1.0.0 should be aware of several backward-incompatible changes that have been implemented to streamline the platform and introduce new functionalities. These changes, detailed in the release notes, are crucial for a smooth transition.

Key breaking changes and administrative notes include:

  • *Replacement of `distinctvaluesStreams:** The previousdistinctvalues*` streams have been replaced with a more efficient TopK implementation based on Tantivy. This change necessitates adjustments in how distinct value data is accessed and processed.
  • Deprecation of Action Scripts and Server: Action scripts and the associated Action server have been removed from the platform. Users relying on these features will need to explore alternative methods for task automation.
  • Removal of trace_list_index Function: The trace_list_index function has also been deprecated and removed.
  • Renaming of Node Role: The node role previously known as AlertManager has been renamed to Scheduler, reflecting its evolving responsibilities within the platform.
  • Deprecation of Unauthenticated /config Endpoint: Internal deployment information will no longer be exposed via the unauthenticated /config endpoint. This change enhances security by restricting access to sensitive configuration details.
  • ORM Access Split: To improve performance and concurrency, ORM (Object-Relational Mapping) accesses have been split into separate read and write clients, effectively resolving the SQLite write lock issues.

The OpenObserve team’s commitment to continuous improvement is evident in this significant 1.0.0 release. By introducing specialized observability for AI workloads, enhancing traditional monitoring features, and optimizing performance, OpenObserve is positioning itself as a comprehensive and indispensable tool for modern IT operations and development teams. The ongoing development promises further advancements, solidifying its role in the rapidly evolving landscape of cloud-native observability.

(Reported by Moritz Fürster)