micromegas_analytics/lakehouse/mod.rs
1/// Record batches + schema
2pub mod answer;
3/// Implementation of `BlockProcessor` for async events
4pub mod async_events_block_processor;
5/// Materializable view of async span events accessible through datafusion
6pub mod async_events_view;
7/// Write parquet in object store
8pub mod async_parquet_writer;
9/// The call-level guard: per-id audience
10/// resolution (`AudienceIndex`) and the fail-closed guard (`AudienceGuard`) for the
11/// span/metadata UDTFs and `get_payload` UDF `OwnershipRewrite` (the row-level filter) structurally cannot
12/// reach, plus a scan-time guard on `view_instance(...)`. For the six view sets carrying a
13/// physical `audience` column, the row-level filter *can* and does reach a `view_instance` scan too,
14/// row-filtering it the same as the named-table form -- there `view_instance` joined the call-level guard to
15/// close a cost/availability residual (stopping JIT materialization for a foreign-audience
16/// instance), not because the row-level filter can't filter it. For the other five view sets, reachable only
17/// through a guarded `view_instance(...)`, the row-level filter injects no predicate at all, so this guard is
18/// their sole enforcement.
19pub mod audience_guard;
20/// Materialize views on a schedule based on the time data was received from the ingestion service
21pub mod batch_update;
22/// Format → decoder registry for `parse_block`, mirroring `BlockProcessorMap`
23pub mod block_object_decoder;
24/// Specification for a view partition backed by a set of telemetry blocks which can be processed out of order
25pub mod block_partition_spec;
26/// Replicated view of the `blocks` table of the postgresql metadata database.
27pub mod blocks_view;
28/// Catalog utilities for discovering and managing view schemas
29pub mod catalog;
30pub mod dataframe_time_bounds;
31/// Admin UDTF that validates and inserts a query-deny-list rule
32pub mod deny_queries_table_function;
33/// Export mechanism that doubles as audit trail
34pub mod export_log_view;
35/// Fetch payload from the object store using SQL
36pub mod get_payload_function;
37/// Implementation of `BlockProcessor` for images
38pub mod image_block_processor;
39/// Materializable view of images accessible through datafusion
40pub mod images_view;
41/// Management of process-specific partitions built on demand
42pub mod jit_partitions;
43/// Bundles runtime resources for lakehouse query execution
44pub mod lakehouse_context;
45/// Caller-scoped UDTF listing rows of the `audience_grants` table
46pub mod list_audience_grants_table_function;
47/// Read access to the list of lakehouse partitions
48pub mod list_partitions_table_function;
49/// Admin UDTF listing every query-deny-list rule currently in force
50pub mod list_query_denials_table_function;
51/// Admin UDTF listing every row of `lakehouse_view_set_definitions`, straight from Postgres
52pub mod list_view_set_definitions_table_function;
53/// Read access to view sets with their schema information
54pub mod list_view_sets_table_function;
55/// Implementation of `BlockProcessor` for log entries
56pub mod log_block_processor;
57/// SQL-based view for log statistics aggregated by process, minute, level, and target
58pub mod log_stats_view;
59/// Materializable view of log entries accessible through datafusion
60pub mod log_view;
61/// Exposes materialize_partitions as a table function
62pub mod materialize_partitions_table_function;
63/// TableProvider implementation for the lakehouse
64pub mod materialized_view;
65/// Merge consecutive parquet partitions into a single file
66pub mod merge;
67/// Global LRU cache for partition metadata
68pub mod metadata_cache;
69/// Specification for a view partition backed by a table in the postgresql metadata database.
70pub mod metadata_partition_spec;
71/// Implementation of `BlockProcessor` for measures
72pub mod metrics_block_processor;
73/// Materializable view of measures accessible through datafusion
74pub mod metrics_view;
75/// Maintenance of the postgresql tables and indices use to track the parquet files used to implement the views
76pub mod migration;
77/// Jit view of pre-paired network bandwidth spans (Connection / Object / Property / RPC)
78pub mod net_spans_view;
79/// OTLP reader path: attribute helpers, block processors, and the otel_spans view.
80pub mod otel;
81/// The row-level filter: injects an audience predicate into every
82/// `MaterializedView` scan based on the caller's `ReadScope`.
83pub mod ownership_rewrite;
84/// Table function to parse all transit objects in a block and return them as JSONB
85pub mod parse_block_table_function;
86/// Write & delete sections of views
87pub mod partition;
88/// In-memory copy of a subnet of the list of the partitions in the db
89pub mod partition_cache;
90/// Reads and parses partition Parquet footers directly from object storage
91pub mod partition_metadata;
92/// Describes the event blocks backing a partition
93pub mod partition_source_data;
94/// ExecutionPlan based on a set of parquet files
95pub mod partitioned_execution_plan;
96/// TableProvider based on a set of parquet files
97pub mod partitioned_table_provider;
98/// ExecutionPlan for generating Perfetto trace chunks
99pub mod perfetto_trace_execution_plan;
100/// Table function for generating Perfetto trace chunks
101pub mod perfetto_trace_table_function;
102/// Table function returning thread and/or async spans from all CPU streams of a process
103pub mod process_spans_table_function;
104/// Shared utilities for discovering CPU streams of a process
105pub mod process_streams;
106/// Replicated view of the `processes` table of the postgresql metadata database.
107pub mod processes_view;
108/// property_get function support from SQL
109/// Datafusion integration
110pub mod query;
111/// Admin-managed query deny list: fingerprinting, the match
112/// context, and the Postgres-backed, TTL-refreshed cache `execute_query` checks every query
113/// against.
114pub mod query_deny_list;
115/// Authorization seam input: `ReadScope` and the `CallerContext` bundle threaded into
116/// `make_session_context`. Consumed by the row-level filter
117/// (`ownership_rewrite::OwnershipRewrite`) and the call-level guard (`audience_guard::AudienceGuard`).
118pub mod read_scope;
119/// Wrapper around ParquetObjectreader to provide ParquetMetaData, reading footers from the
120/// ObjectStore through a cache-backed reader
121pub mod reader_factory;
122/// Exposes regenerate_partitions as a table function that force-regenerates partitions directly
123/// from source data
124pub mod regenerate_partitions_table_function;
125/// Admin scalar UDF that removes a single query-deny-list rule by id
126pub mod remove_query_denial_udf;
127/// Scalar UDF to retire a single partition by file path
128pub mod retire_partition_by_file_udf;
129/// Scalar UDF to retire a single partition by metadata
130pub mod retire_partition_by_metadata_udf;
131/// Exposes retire_partitions as a table function
132pub mod retire_partitions_table_function;
133/// Runtime resources
134pub mod runtime;
135/// Per-query `MemoryPool` wrapper that adds accounting on top of a shared pool
136pub mod scoped_memory_pool;
137/// SessionConfigurator trait for custom session context configuration
138pub mod session_configurator;
139/// Sql-defined view updated in batch
140pub mod sql_batch_view;
141/// Specification for a view partition backed by a SQL query on the lakehouse.
142pub mod sql_partition_spec;
143/// Auto-discovery configurator for static JSON/CSV tables
144pub mod static_tables_configurator;
145/// Replicated view of the `streams` table of the postgresql metadata database.
146pub mod streams_view;
147/// Rewrite table scans to take the query range into account
148pub mod table_scan_rewrite;
149/// Tracking of expired partitions
150pub mod temp;
151/// Jit view of the call tree built from the thread events of a single stream
152pub mod thread_spans_view;
153/// Basic interface for a set of rows queryable and materializable
154pub mod view;
155/// The normalized shape of a DDL-defined (or seeded) materialized view, and the validation shared
156/// by the DDL executor and the registry loader.
157pub mod view_definition;
158/// Postgres-backed persistence for DDL-defined view definitions
159/// (`lakehouse_view_set_definitions`).
160pub mod view_definition_store;
161pub mod view_factory;
162/// Table function to query process-specific views
163pub mod view_instance_table_function;
164/// Shared `Arc<ViewFactory>` rebuilt from Postgres-backed view definitions on a timer, giving
165/// `telemetry-maintenance-srv` and `flight-sql-srv` a common, reloadable view of DDL-defined view
166/// sets without a restart.
167pub mod view_registry;
168/// Add or remove view partitions
169pub mod write_partition;