ElixirScope.Core.EventManager (elixir_scope v0.0.1)

Manages runtime event querying and filtering.

Bridges RuntimeCorrelator with main API to provide user-facing event querying capabilities. This module translates high-level query requests into specific RuntimeCorrelator operations.

Summary

Functions

Gets correlation statistics from RuntimeCorrelator.

Gets events based on query criteria.

Gets events for a specific AST node.

Gets events with a specific query filter.

Types

event_query()

@type event_query() :: [
  pid: pid() | :all,
  event_type: atom() | :all,
  since: integer() | DateTime.t(),
  until: integer() | DateTime.t(),
  limit: pos_integer()
]

Functions

get_correlation_statistics()

@spec get_correlation_statistics() :: {:ok, map()} | {:error, term()}

Gets correlation statistics from RuntimeCorrelator.

get_events(opts \\ [])

@spec get_events(event_query()) :: {:ok, [map()]} | {:error, term()}

Gets events based on query criteria.

Delegates to RuntimeCorrelator for actual event retrieval and applies filtering based on the query parameters.

get_events_for_ast_node(ast_node_id)

@spec get_events_for_ast_node(binary()) :: {:ok, [map()]} | {:error, term()}

Gets events for a specific AST node.

Provides direct access to AST-correlated events through RuntimeCorrelator.

get_events_with_query(query)

@spec get_events_with_query(map() | function()) :: {:ok, [map()]} | {:error, term()}

Gets events with a specific query filter.

Provides more advanced querying capabilities with custom filter functions.