Luxar Viewer API Documentation - v2026.9.22
    Preparing search index...

    Interface CacheStatsProvider

    Interface for objects that provide cache statistics. Used for loose coupling between MultiLevelCachingStore and DataLoadingMonitor.

    interface CacheStatsProvider {
        getStats(): {
            l1: {
                metadataSize: number;
                chunksSize: number;
                metadataCount: number;
                chunksCount: number;
                hits: number;
                misses: number;
                evictions: number;
                maxSize?: number;
            };
            l2: {
                size: number;
                count: number;
                reads: number;
                writes: number;
                misses: number;
                canceledReads?: number;
                activeReads?: number;
                queuedReads?: number;
                maxSize?: number;
                oversizedWriteSkipped?: number;
                quotaWriteSkipped?: number;
                evictions?: number;
                writeFailures?: number;
                corruptedEntries?: number;
                metadataParseFailures?: number;
                orphanedFilesRemoved?: number;
            };
            network: {
                bytesTransferred: number;
                requestCount: number;
                bandwidth: number;
                totalBytesServed?: number;
                totalRequestsServed?: number;
            };
            demand?: { l1Hits: number; l2Hits: number; networkRequests: number };
            health?: {
                validationMode: CacheValidationMode;
                lastValidatedAt: number | null;
                unvalidatedExternalDataset: boolean;
                opfsAvailable?: boolean;
            };
        };
        clearL1(): void;
        clearL2(): Promise<void>;
        clearAll(): Promise<void>;
        isEnabled(): boolean;
    }
    Index
    • Get current cache statistics

      Returns {
          l1: {
              metadataSize: number;
              chunksSize: number;
              metadataCount: number;
              chunksCount: number;
              hits: number;
              misses: number;
              evictions: number;
              maxSize?: number;
          };
          l2: {
              size: number;
              count: number;
              reads: number;
              writes: number;
              misses: number;
              canceledReads?: number;
              activeReads?: number;
              queuedReads?: number;
              maxSize?: number;
              oversizedWriteSkipped?: number;
              quotaWriteSkipped?: number;
              evictions?: number;
              writeFailures?: number;
              corruptedEntries?: number;
              metadataParseFailures?: number;
              orphanedFilesRemoved?: number;
          };
          network: {
              bytesTransferred: number;
              requestCount: number;
              bandwidth: number;
              totalBytesServed?: number;
              totalRequestsServed?: number;
          };
          demand?: { l1Hits: number; l2Hits: number; networkRequests: number };
          health?: {
              validationMode: CacheValidationMode;
              lastValidatedAt: number | null;
              unvalidatedExternalDataset: boolean;
              opfsAvailable?: boolean;
          };
      }

      • l1: {
            metadataSize: number;
            chunksSize: number;
            metadataCount: number;
            chunksCount: number;
            hits: number;
            misses: number;
            evictions: number;
            maxSize?: number;
        }
        • metadataSize: number
        • chunksSize: number
        • metadataCount: number
        • chunksCount: number
        • hits: number
        • misses: number
        • evictions: number
        • OptionalmaxSize?: number

          Resolved (heap-aware) L1 byte budget.

      • l2: {
            size: number;
            count: number;
            reads: number;
            writes: number;
            misses: number;
            canceledReads?: number;
            activeReads?: number;
            queuedReads?: number;
            maxSize?: number;
            oversizedWriteSkipped?: number;
            quotaWriteSkipped?: number;
            evictions?: number;
            writeFailures?: number;
            corruptedEntries?: number;
            metadataParseFailures?: number;
            orphanedFilesRemoved?: number;
        }
        • size: number
        • count: number
        • reads: number
        • writes: number
        • misses: number
        • OptionalcanceledReads?: number
        • OptionalactiveReads?: number
        • OptionalqueuedReads?: number
        • OptionalmaxSize?: number

          Fixed OPFS/disk byte budget.

        • OptionaloversizedWriteSkipped?: number

          Optional OPFS health counters; provider stubs may omit them.

        • OptionalquotaWriteSkipped?: number
        • Optionalevictions?: number
        • OptionalwriteFailures?: number
        • OptionalcorruptedEntries?: number
        • OptionalmetadataParseFailures?: number
        • OptionalorphanedFilesRemoved?: number
      • network: {
            bytesTransferred: number;
            requestCount: number;
            bandwidth: number;
            totalBytesServed?: number;
            totalRequestsServed?: number;
        }
        • bytesTransferred: number
        • requestCount: number
        • bandwidth: number
        • OptionaltotalBytesServed?: number

          Cumulative bytes delivered to demand callers across all tiers (L1 + L2 + network). Optional so provider stubs may omit it.

        • OptionaltotalRequestsServed?: number
      • Optionaldemand?: { l1Hits: number; l2Hits: number; networkRequests: number }

        Per-tier demand-hit counters from the multi-level caching store. Each demand request increments exactly one of l1Hits / l2Hits / networkRequests. Optional so providers that don't report it still typecheck.

      • Optionalhealth?: {
            validationMode: CacheValidationMode;
            lastValidatedAt: number | null;
            unvalidatedExternalDataset: boolean;
            opfsAvailable?: boolean;
        }

        Optional cache validation health.

        • validationMode: CacheValidationMode
        • lastValidatedAt: number | null
        • unvalidatedExternalDataset: boolean
        • OptionalopfsAvailable?: boolean

          S2: true when OPFS L2 storage is operational, or when the tier was deliberately skipped (?noCache / ?noOpfs — no L2 expected). false only for UNREQUESTED degradation: L2 was expected but could not be initialised, or the OPFS circuit breaker disabled it after repeated timeouts. Older providers omit the field entirely; consumers treat the absent case as "unknown / assume available".