UNPKG

kubo-rpc-client

Version:
155 lines (140 loc) 3.23 kB
import type { HTTPRPCOptions } from '../index.js' /** * Options for `ipfs.provide.stat`. */ export interface ProvideStatOptions extends HTTPRPCOptions { /** * Return all statistics (recommended). */ all?: boolean /** * Return LAN-specific statistics. */ lan?: boolean } /** * Response returned by the Kubo RPC endpoint: * /api/v0/provide/stat * * Depending on the provider system in use, either `Sweep` * or `Legacy` statistics will be populated. */ export interface ProvideStats { /** * Stats for the sweep provider (default in modern Kubo). */ Sweep?: SweepProvideStats /** * Stats for the legacy provider (deprecated). * Present only when legacy provider is enabled. */ Legacy?: LegacyProvideStats | null /** * Whether the node is using Full Routing Table (FullRT) DHT. */ FullRT?: boolean } /** * Sweep provider stats (modern provider system). */ export interface SweepProvideStats { closed: boolean connectivity: ProvideConnectivity queues: ProvideQueues schedule: ProvideSchedule workers: ProvideWorkers timing: ProvideTiming operations: ProvideOperations network: ProvideNetwork } /** * Legacy provider stats (older provider system). */ export interface LegacyProvideStats { total_reprovides: number avg_reprovide_duration: string last_reprovide_duration: string last_run?: string reprovide_interval?: string } /** * Connectivity status of the provider to the DHT. */ export interface ProvideConnectivity { status: string since: string } /** * Pending provide and reprovide queue sizes. */ export interface ProvideQueues { pending_key_provides: number pending_region_provides: number pending_region_reprovides: number } /** * Scheduling information for reprovides. */ export interface ProvideSchedule { keys: number regions: number avg_prefix_length: number next_reprovide_at: string next_reprovide_prefix: string } /** * Worker pool state for provider operations. */ export interface ProvideWorkers { max: number active: number active_periodic: number active_burst: number dedicated_periodic: number dedicated_burst: number queued_periodic: number queued_burst: number max_provide_conns_per_worker: number } /** * Timing and lifecycle information for the provider. */ export interface ProvideTiming { uptime: number reprovides_interval: number cycle_start: string current_time_offset: number max_reprovide_delay: number } /** * Ongoing and historical provide operations. */ export interface ProvideOperations { ongoing: { key_provides: number region_provides: number key_reprovides: number region_reprovides: number } past: { keys_provided: number records_provided: number keys_failed: number keys_provided_per_minute?: number keys_reprovided_per_minute?: number reprovide_duration?: number avg_keys_per_reprovide?: number regions_reprovided_last_cycle?: number } } /** * DHT and network-related provider metrics. */ export interface ProvideNetwork { peers: number reachable: number complete_keyspace_coverage: boolean avg_region_size: number avg_holders: number replication_factor: number }