jeeves-watcher
    Preparing search index...

    Interface ChangeSourceHealthTracker

    Counts and timestamps behind health.changeSource. Never holds a path in its snapshot (D89).

    interface ChangeSourceHealthTracker {
        attach(source: "chokidar" | "parcel", pending: () => number): void;
        recordReconcile(durationMs: number, at: Date): void;
        recordReconcileError(): void;
        recordReconcileEvents(count: number): void;
        recordRenew(durationMs: number): void;
        recordRenewFailure(count?: number): void;
        recordRestart(
            restart: {
                at: string;
                cause: "watch-config-changed" | "subscription-error" | "root-gone";
            },
        ): void;
        recordResubscribe(): void;
        setUnavailable(root: string, unavailable: boolean): void;
        snapshot(): {
            lastReconcileAt: string
            | null;
            lastReconcileDurationMs: number | null;
            lastRenewDurationMs: number | null;
            lastRestartAt: string | null;
            lastRestartCause:
                | "watch-config-changed"
                | "subscription-error"
                | "root-gone"
                | null;
            pendingStability: number;
            reconcileErrors: number;
            reconcileEvents: number;
            renewFailures: number;
            resubscribes: number;
            source: "chokidar"
            | "parcel";
            unavailableRoots: number;
        };
    }
    Index
    • The previous process exited for a restart (D196): its cause and when.

      Parameters

      • restart: {
            at: string;
            cause: "watch-config-changed" | "subscription-error" | "root-gone";
        }

        The record it left.

      Returns void

    • The health.changeSource body.

      Returns {
          lastReconcileAt: string | null;
          lastReconcileDurationMs: number | null;
          lastRenewDurationMs: number | null;
          lastRestartAt: string | null;
          lastRestartCause:
              | "watch-config-changed"
              | "subscription-error"
              | "root-gone"
              | null;
          pendingStability: number;
          reconcileErrors: number;
          reconcileEvents: number;
          renewFailures: number;
          resubscribes: number;
          source: "chokidar"
          | "parcel";
          unavailableRoots: number;
      }

      • lastReconcileAt: string | null

        End of the most recent reconcile.

      • lastReconcileDurationMs: number | null

        Duration of the most recent reconcile (walk and compare).

      • lastRenewDurationMs: number | null

        Duration of the most recent subscription renewal (D129).

      • lastRestartAt: string | null

        When the previous process asked for that restart.

      • lastRestartCause: "watch-config-changed" | "subscription-error" | "root-gone" | null

        Why the previous process exited for a restart (D196).

      • pendingStability: number

        Paths in the stability ticker's pending set (D128).

      • reconcileErrors: number

        Reconciles that errored and emitted nothing since start (D90).

      • reconcileEvents: number

        Synthetic events reconciliation has emitted since start (D90).

      • renewFailures: number

        Renewals that forced a source rebuild since start (D165).

      • resubscribes: number

        Subscriptions re-created after an error since start (D131).

      • source: "chokidar" | "parcel"

        The running change source.

      • unavailableRoots: number

        Roots currently unavailable (D109).