Causality Analyzer
    Preparing search index...

    Relational storage interface.

    Responsible for: time-series metrics, model parameters (CPT, regression), RCA results, and transaction management (SAVEPOINT).

    Typical backends:

    • Embedded: better-sqlite3 (in-process, WAL mode)
    • Distributed: PostgreSQL or any PG-wire compatible database
    interface IRelationalStore {
        beginTransaction(sessionId: string): Promise<void>;
        close(): void;
        commitTransaction(sessionId: string): Promise<void>;
        loadCPT(
            graphId: string,
            node: string,
        ): Promise<ConditionalProbabilityTable | null>;
        loadRegressionModel(
            graphId: string,
            node: string,
        ): Promise<RegressionParams | null>;
        queryHistoricalResults(query: ResultQuery): Promise<RCAResult[]>;
        readMetrics<S extends TableSchema>(
            query: MetricQuery,
        ): Promise<ColumnarTable<S>>;
        rollbackToCheckpoint(sessionId: string, checkpoint: string): Promise<void>;
        saveCPT(
            graphId: string,
            node: string,
            cpt: ConditionalProbabilityTable,
        ): Promise<void>;
        saveRCAResult(caseId: string, result: RCAResult): Promise<void>;
        saveRegressionModel(
            graphId: string,
            node: string,
            model: RegressionParams,
        ): Promise<void>;
        setCheckpoint(sessionId: string, name: string): Promise<void>;
        writeDetections(detections: DetectionResult[]): Promise<void>;
    }

    Implemented by

    Index
    • Begin a new transaction (maps to SAVEPOINT in SQL databases)

      Parameters

      • sessionId: string

      Returns Promise<void>

    • Roll back to a previously set checkpoint

      Parameters

      • sessionId: string
      • checkpoint: string

      Returns Promise<void>

    • Set a named checkpoint within the current transaction

      Parameters

      • sessionId: string
      • name: string

      Returns Promise<void>