Skip to content

Releases

Release notes for Resource Surveillance (surveilr) 0.30.0

What’s New


1. surveilr_markdown_ast and surveilr_markdown_uri_ast Functions

  • surveilr_markdown_ast(content_text, selector, selector, ...):
    • A new function that accepts a markdown content text value and returns a JSON string of the Markdown AST (Abstract Syntax Tree).
  • surveilr_markdown_uri_ast(uri):
    • Another function that fetches markdown content from a given URL and returns its AST in JSON format.

2. Surveilr Shell: Support for .sqlr Files

  • Added support for new file types in surveilr shell (and orchestrate) to extend its functionality for SQL execution:

    • .sqlr (“recursive SQL” static files):
      • Standard SQL file types that the surveilr shell recognizes as “recursive SQL.”
    • .sqlr.* (“recursive SQL” executables):
      • Executable files that behave similarly to .sqlr files but run dynamically.
      • The result of the first execution, which emits more SQL, is captured and executed recursively (at depth 1) for dynamic use cases.
  • Extensive Logging:

    • Added extensive logging for .sqlr executions unless --no-observability is passed in as a flag to disable observability.

3. New Virtual Table: console_table_physical_stat

  • Added a new virtual table console_table_physical_stat to SQLite, allowing the capture and query of physical database statistics in our Rust application.

  • Key Metrics:

    • The table exposes crucial database metrics using SQLite pragmas, such as:
      • Table name (table_name)
      • Size in bytes (size_bytes)
      • Total number of rows (total_rows)
      • Total number of columns (total_columns)
      • Page count (page_count)
      • Used pages (used_pages)
      • Freelist pages (freelist_pages)
      • Payload and metadata bytes (payload_bytes, metadata_bytes)
      • B-tree depth (btree_depth)
      • Unused bytes (unused_bytes, unused_bytes_index_pages, unused_bytes_primary_pages, unused_bytes_overflow_pages)
      • Non-sequential pages (non_sequential_pages)
      • Overflow entries and pages (overflow_entries, overflow_pages_used)
      • Autovacuum pages (autovacuum_pages)
      • Number of indices (num_indices, num_defined_indices, num_implied_indices)

4. Observability and Debugging

  • Enhanced logging and observability features have been added to improve troubleshooting and analysis.
    • The system captures detailed logs for recursive SQL operations.
    • These logs are suppressed if the --no-observability flag is used.

Assets

Please find the release here.