@maschinenlesbar.org/openka-cli
    Preparing search index...

    Interface SyncTiming

    Where a run's time went (issue #14): waiting on the upstream, waiting to be polite, or extracting and storing. A slow sync could not tell these apart without ps, iostat and nettop. Upstream numbers are the engine's (EngineMetrics) since the run began; the rest are the pipeline's, on its clock (SyncOptions.now).

    interface SyncTiming {
        elapsedMs: number;
        extractMs: number;
        indexMs: number;
        reconnects: number;
        requests: number;
        retries: number;
        retryReasons: RetryReasons;
        storeMs: number;
        throttled: number;
        upstreamMsAvg?: number;
        upstreamMsP95?: number;
        waitMs: number;
    }
    Index
    elapsedMs: number

    Since the run began, discovery included.

    extractMs: number

    Time spent extracting records, and writing the records.

    indexMs: number

    Time spent writing the index postings and catalog rows, once per batch (CHECKPOINT_MS). It was inside storeMs, and was most of it (issue #30).

    reconnects: number

    Requests sent again at once on a new connection, the kept-alive one having been closed by the server; not retries.

    requests: number

    Requests sent (attempts and redirect hops), and how many were retries.

    retries: number
    retryReasons: RetryReasons

    The retries by reason: a 429/503, a timeout, a failed connection, anything else (issue #31).

    storeMs: number
    throttled: number

    429/503 answers: the upstream asking to slow down.

    upstreamMsAvg?: number

    Time inside one request, on average and at the 95th percentile; absent before the first.

    upstreamMsP95?: number
    waitMs: number

    Time spent waiting before requests: pacing (--min-host-interval, a source's floor) and retry backoff.