Db Replication

Interfaces

Interfaces

AuthContext

Properties:

PropertyTypeRequiredDescription
authTokenstring | undefinedNo
domainIdstring | undefinedNo
userIdstring | undefinedNo

ReplicationConfig

Properties:

PropertyTypeRequiredDescription
enabledbooleanYes
autoStartbooleanYes
collectionsstring[]Yes
baseUrlstring | undefinedNo
periodicResync{ enabled: boolean; intervalMs: number; } | undefinedNo
retryConfig{ maxRetries: number; baseDelayMs: number; maxDelayMs: number; backoffMultiplier: number; } | undefinedNo
performanceThresholds{ maxLatencyMs: number; minSuccessRate: number; maxMemoryUsageMB: number; } | undefinedNo
alerting{ enabled: boolean; criticalErrorThreshold: number; performanceWarningThreshold: number; } | undefinedNo

ReplicationStats

Properties:

PropertyTypeRequiredDescription
startTimestringYes
lastActivitystringYes
eventCounts{ received: number; sent: number; errors: number; conflicts: number; }Yes
performance{ averageLatency: number; peakLatency: number; throughput: number; successRate: number; lastSyncDuration: number; }Yes
memoryUsage{ observedHeapUsed: number; peakHeapUsed: number; }Yes

AlertThreshold

Properties:

PropertyTypeRequiredDescription
idstringYes
type"error" | "warning" | "info"Yes
condition(stats: ReplicationStats, status: ReplicationStatus) => booleanYes
messagestringYes
cooldownMsnumberYes
lastTriggeredstring | undefinedNo

MetricSnapshot

Properties:

PropertyTypeRequiredDescription
timestampDateYes
collectionNamestringYes
replicationIdstringYes
metrics{ latency: number; throughput: number; errorRate: number; successRate: number; documentCount: number; memoryUsage: number; }Yes
events{ received: number; sent: number; errors: number; conflicts: number; }Yes
performance{ averageLatency: number; peakLatency: number; minLatency: number; p95Latency: number; p99Latency: number; lastSyncDuration?: number; }Yes

TimeSeriesPoint

Properties:

PropertyTypeRequiredDescription
timestampDateYes
valuenumberYes
metadataRecord<string, any> | undefinedNo

TimeSeriesData

Properties:

PropertyTypeRequiredDescription
metricstringYes
collectionstringYes
pointsTimeSeriesPoint[]Yes
aggregation{ min: number; max: number; avg: number; sum: number; count: number; }Yes

HistoricalQuery

Properties:

PropertyTypeRequiredDescription
collectionsstring[] | undefinedNo
metricsstring[] | undefinedNo
startTimeDateYes
endTimeDateYes
granularity"minute" | "hour" | "day" | "week"Yes
aggregation"avg" | "sum" | "min" | "max" | "count" | undefinedNo

TrendAnalysis

Properties:

PropertyTypeRequiredDescription
metricstringYes
collectionstringYes
timeRange{ start: Date; end: Date; }Yes
trend{ direction: "up" | "down" | "stable"; magnitude: number; significance: "low" | "medium" | "high"; }Yes
forecast{ nextValue: number; confidence: number; trend: number[]; }Yes
anomalies{ timestamp: Date; value: number; deviation: number; type: "spike" | "dip" | "outlier"; }[]Yes

PerformanceAlert

Properties:

PropertyTypeRequiredDescription
idstringYes
severity"warning" | "info" | "critical"Yes
metricstringYes
collectionstringYes
messagestringYes
timestampDateYes
threshold{ value: number; condition: "above" | "below" | "equals"; }Yes
currentValuenumberYes
suggestionstring | undefinedNo

ExportOptions

Properties:

PropertyTypeRequiredDescription
format"json" | "csv" | "prometheus"Yes
includeMetadatabooleanYes
timeRange{ start: Date; end: Date; } | undefinedNo
collectionsstring[] | undefinedNo
metricsstring[] | undefinedNo
compressionboolean | undefinedNo

StorageConfig

Properties:

PropertyTypeRequiredDescription
maxSnapshotsnumberYes
retentionDaysnumberYes
compressionEnabledbooleanYes
autoCleanupbooleanYes
storageQuotaMBnumberYes
backupEnabledbooleanYes

PerformanceThresholds

Performance threshold configuration

Properties:

PropertyTypeRequiredDescription
maxSyncLatencynumberYesMaximum acceptable sync latency (ms)
minThroughputnumberYesMinimum acceptable throughput (docs/sec)
maxErrorRatenumberYesMaximum acceptable error rate (percentage)
maxMemoryUsagenumberYesMaximum acceptable memory usage (MB)
maxCpuUsagenumberYesMaximum acceptable CPU usage (percentage)
maxRetryAttemptsnumberYesMaximum retry attempts before escalation
connectionTimeoutnumberYesConnection timeout threshold (ms)
queueSizeThresholdnumberYesQueue size threshold for warnings

OptimizationRecommendation

Performance optimization recommendation

Properties:

PropertyTypeRequiredDescription
idstringYesUnique identifier for the recommendation
type"throttling" | "batching" | "retry_backoff" | "connection_pooling" | "memory_cleanup" | "index_optimization" | "queue_management"YesRecommendation type
priority"low" | "medium" | "high" | "critical"YesPriority level
descriptionstringYesHuman-readable description
detailsstringYesDetailed explanation
targetstringYesCollection or component affected
impact{ latencyReduction?: number; throughputIncrease?: number; memoryReduction?: number; errorReduction?: number; }YesEstimated impact
actionsstring[]YesImplementation actions
confidencenumberYesConfidence score (0-1)
timestampDateYesTimestamp when identified
autoApplicablebooleanYesAuto-apply if possible

ResourceUsageMetrics

Resource usage metrics

Properties:

PropertyTypeRequiredDescription
memory{ used: number; available: number; percentage: number; trend: "increasing" | "decreasing" | "stable"; }YesMemory usage information
cpu{ percentage: number; trend: "increasing" | "decreasing" | "stable"; }YesCPU usage information
network{ bytesPerSecond: number; requestsPerSecond: number; latency: number; trend: "increasing" | "decreasing" | "stable"; }YesNetwork usage information
storage{ usedMB: number; availableMB: number; percentage: number; indexSize: number; fragmentationRatio: number; }YesStorage usage information
queues{ pendingOperations: number; averageWaitTime: number; maxQueueSize: number; processingRate: number; }YesQueue metrics
connections{ active: number; idle: number; failed: number; poolUtilization: number; }YesConnection pool metrics

OptimizationResult

Performance optimization result

Properties:

PropertyTypeRequiredDescription
recommendationIdstringYesRecommendation ID that was applied
successbooleanYesWhether the optimization was successful
errorstring | undefinedNoError message if failed
beforeMetricsPartial<ResourceUsageMetrics>YesMetrics before optimization
afterMetricsPartial<ResourceUsageMetrics>YesMetrics after optimization
measuredImpact{ latencyChange: number; throughputChange: number; memoryChange: number; errorRateChange: number; }YesMeasured impact
timestampDateYesTimestamp of optimization

ThresholdViolation

Threshold violation information

Properties:

PropertyTypeRequiredDescription
type"latency" | "throughput" | "error_rate" | "memory" | "queue_size" | "connection"Yes
severity"low" | "medium" | "high" | "critical"Yes
messagestringYes
currentValuenumberYes
thresholdnumberYes
timestampDateYes

RecoveryConfig

Properties:

PropertyTypeRequiredDescription
maxRetriesnumberYes
baseDelayMsnumberYes
maxDelayMsnumberYes
backoffMultipliernumberYes
jitterFactornumberYes
circuitBreakerThresholdnumberYes
circuitBreakerTimeoutMsnumberYes
authRetryConfig{ maxRetries: number; refreshThresholdMs: number; }Yes
connectionRecoveryConfig{ maxRetries: number; healthCheckIntervalMs: number; reconnectDelayMs: number; }Yes

RecoveryContext

Properties:

PropertyTypeRequiredDescription
collectionNamestringYes
replicationIdstringYes
errorTypestringYes
occurrencenumberYes
totalAttemptsnumberYes
lastAttemptTimeDateYes
metadataRecord<string, any> | undefinedNo

RecoveryStrategy

Properties:

PropertyTypeRequiredDescription
idstringYes
namestringYes
descriptionstringYes
canHandle(error: Error, context: RecoveryContext) => booleanYes
recover(error: Error, context: RecoveryContext) => Promise<boolean>Yes
prioritynumberYes

CircuitBreakerState

Properties:

PropertyTypeRequiredDescription
state"closed" | "open" | "half-open"Yes
failureCountnumberYes
lastFailureTimeDate | undefinedNo
nextAttemptTimeDate | undefinedNo

ConnectionHealth

Properties:

PropertyTypeRequiredDescription
isHealthybooleanYes
lastCheckTimeDateYes
consecutiveFailuresnumberYes
averageResponseTimenumberYes
lastErrorstring | undefinedNo

RecoveryResult

Properties:

PropertyTypeRequiredDescription
successbooleanYes
strategystring | undefinedNo
retryAfternumber | undefinedNo
errorstring | undefinedNo
metadataRecord<string, any> | undefinedNo

ErrorClassification

Properties:

PropertyTypeRequiredDescription
categoryErrorCategoryYes
severityErrorSeverityYes
recoverablebooleanYes
requiresAuthbooleanYes
requiresReconnectionbooleanYes
suggestedStrategystring[]Yes

EventFormatOptions

Event formatting options

Properties:

PropertyTypeRequiredDescription
includeStackTraceboolean | undefinedNoInclude full error stack traces
includeMetricsboolean | undefinedNoInclude performance metrics
truncateDataboolean | undefinedNoTruncate long data payloads
maxDataLengthnumber | undefinedNoMaximum length for truncated data
dateFormat"iso" | "relative" | "unix" | undefinedNoDate format for timestamps

EventFilterOptions

Event filtering options

Properties:

PropertyTypeRequiredDescription
eventTypesReplicationEventType[] | undefinedNoFilter by event types
collectionsstring[] | undefinedNoFilter by collection names
errorSeveritiesReplicationErrorSeverity[] | undefinedNoFilter by error severity levels
timeRange{ start: Date; end: Date; } | undefinedNoTime range filter
hasErrorboolean | undefinedNoFilter by error presence
hasMetricsboolean | undefinedNoFilter by metrics presence
customFilter((event: ReplicationEvent) => boolean) | undefinedNoCustom filter function

EventAggregationOptions

Event aggregation options

Properties:

PropertyTypeRequiredDescription
groupBy"hour" | "day" | "type" | "collection" | "severity" | "custom"YesGrouping method
customGroupFn((event: ReplicationEvent) => string) | undefinedNoCustom grouping function
includeMetricsboolean | undefinedNoInclude performance metrics in aggregation
sortBy"count" | "severity" | "custom" | "timestamp" | undefinedNoSort results
sortDirection"asc" | "desc" | undefinedNoSort direction
limitnumber | undefinedNoMaximum number of groups to return

PerformanceMetricsOptions

Performance metric calculation options

Properties:

PropertyTypeRequiredDescription
timeWindownumber | undefinedNoTime window for calculations
percentilesnumber[] | undefinedNoPercentiles to calculate
includeTrendsboolean | undefinedNoInclude trend analysis
minSampleSizenumber | undefinedNoMinimum sample size for reliable metrics

AggregatedEventData

Aggregated event data

Properties:

PropertyTypeRequiredDescription
keystringYesGrouping key
countnumberYesEvent count
eventsReplicationEvent[]YesEvents in this group
firstEventDateYesFirst event timestamp
lastEventDateYesLast event timestamp
errorCountnumberYesError count
successCountnumberYesSuccess count
avgMetrics{ latency: number; documentCount: number; retryCount: number; } | undefinedNoAverage metrics if available

PerformanceMetricsResult

Performance metrics calculation result

Properties:

PropertyTypeRequiredDescription
totalEventsnumberYesTotal events processed
timeRange{ start: Date; end: Date; }YesTime range of analysis
latency{ avg: number; min: number; max: number; median: number; percentiles: Record<number, number>; standardDeviation: number; }YesLatency statistics
throughput{ eventsPerSecond: number; documentsPerSecond: number; peakEventsPerSecond: number; avgDocumentsPerEvent: number; }YesThroughput statistics
errors{ totalErrors: number; errorRate: number; byType: Record<ReplicationErrorType, number>; bySeverity: Record<ReplicationErrorSeverity, number>; meanTimeBetweenErrors: number; }YesError analysis
success{ successRate: number; meanTimeToSuccess: number; consecutiveSuccesses: number; }YesSuccess metrics
trends{ latencyTrend: "improving" | "degrading" | "stable"; throughputTrend: "improving" | "degrading" | "stable"; errorTrend: "improving" | "degrading" | "stable"; trendConfidence: number; } | undefinedNoTrend analysis if requested

ReplicationStatus

Properties:

PropertyTypeRequiredDescription
collectionNamestringYes
replicationIdstringYes
stateReplicationStateYes
isLivebooleanYes
documentCountnumberYes
lastSyncDate | undefinedNo
syncProgress{ received: number; sent: number; pending: number; conflicts: number; }Yes
errorReplicationError | undefinedNo
performance{ averageLatency: number; throughput: number; successRate: number; } | undefinedNo

ReplicationEvent

Properties:

PropertyTypeRequiredDescription
idstringYes
timestampDateYes
typeReplicationEventTypeYes
collectionNamestringYes
replicationIdstringYes
dataanyNo
errorReplicationError | undefinedNo
metrics{ latency: number; documentCount?: number; retryCount?: number; } | undefinedNo

ReplicationMetrics

Properties:

PropertyTypeRequiredDescription
collectionNamestringYes
timeRange{ start: Date; end: Date; }Yes
totals{ received: number; sent: number; errors: number; conflicts: number; }Yes
performance{ averageLatency: number; peakLatency: number; throughput: number; successRate: number; lastSyncDuration: number; }Yes
trends{ timestamp: Date; value: number; metric: string; }[] | undefinedNo

ReplicationResult

Properties:

PropertyTypeRequiredDescription
successbooleanYes
collectionNamestringYes
errorReplicationError | undefinedNo
documentsSyncednumber | undefinedNo
durationnumber | undefinedNo

BulkReplicationResult

Properties:

PropertyTypeRequiredDescription
totalCollectionsnumberYes
successfulnumberYes
failednumberYes
resultsReplicationResult[]Yes
durationnumberYes

ReplicationErrorAggregation

Properties:

PropertyTypeRequiredDescription
period{ start: Date; end: Date; }Yes
totalErrorsnumberYes
byTypeRecord<ReplicationErrorType, number>Yes
bySeverityRecord<ReplicationErrorSeverity, number>Yes
byCollectionRecord<string, number>Yes
rateOverTime{ timestamp: Date; count: number; rate: number; }[]Yes
commonPatterns{ pattern: string; count: number; percentage: number; }[]Yes
recoveryRate{ attempted: number; successful: number; failed: number; rate: number; }Yes

ReplicationErrorPattern

Properties:

PropertyTypeRequiredDescription
patternstringYes
typeReplicationErrorTypeYes
frequencynumberYes
lastSeenDateYes
conditionsReplicationErrorCondition[]Yes

ReplicationErrorCondition

Properties:

PropertyTypeRequiredDescription
typestringYes
fieldstring | undefinedNo
operator"equals" | "contains" | "startsWith" | "endsWith" | "greater_than" | "less_than"Yes
valuestring | numberYes
evaluate((errors: ReplicationError[], context: any) => boolean) | undefinedNo

PerformanceMetricsResult

Properties:

PropertyTypeRequiredDescription
averageLatencynumberYes
throughputnumberYes
successRatenumberYes

ReplicationError

Properties:

PropertyTypeRequiredDescription
typeReplicationErrorTypeYes
messagestringYes
severityReplicationErrorSeverityYes
source"client" | "server" | "network" | "rxdb"Yes
timestampDateYes
collectionNamestring | undefinedNo
operation"push" | "pull" | "subscribe" | "cleanup" | "init" | undefinedNo
retryableboolean | undefinedNo
codestring | undefinedNo
resolutionstring | undefinedNo
diagnostics{ stackTrace?: string; requestId?: string; statusCode?: number; networkDetails?: { url?: string; method?: string; }; systemState?: { memoryUsage?: number; activeConnections?: number; }; custom?: Record<string, any>; } | undefinedNo

ReplicationErrorOccurrence

Properties:

PropertyTypeRequiredDescription
collectionNamestringYes
errorTypestringYes
firstOccurrenceDateYes
lastOccurrenceDateYes
occurrenceCountnumberYes
errorMessagesstring[]Yes
contextsSet<string>Yes
resolution{ isResolved: boolean; resolvedAt?: Date; strategy: "retry" | "manual" | "automatic" | "unknown"; attempts: Array<{ timestamp: Date; strategy: string; success: boolean; error?: string; }>; }Yes
diagnostics{ memoryUsage?: number; activeConnections?: number; systemLoad?: number; } | undefinedNo

MonitoredReplicationState

Properties:

PropertyTypeRequiredDescription
collectionNamestringYes
monitoringStartedstring | DateYes
eventHistoryReplicationEvent[]Yes
currentStatusReplicationStatusYes
performance{ latencyHistory: Array<{ timestamp: Date; value: number; }>; throughputHistory: Array<{ timestamp: Date; count: number; }>; errorHistory: ReplicationError[]; }Yes
_originalReplicationStateRxReplicationState<any, any> | undefinedNo

UseReplicationMonitoringOptions

Properties:

PropertyTypeRequiredDescription
enableEventMonitoringboolean | undefinedNo
maxEventHistorynumber | undefinedNo
pollingIntervalnumber | undefinedNo
collectionFilterstring[] | undefinedNo
enablePerformanceTrackingboolean | undefinedNo
debounceDelaynumber | undefinedNo
authContext{ authToken?: string; domainId?: string; userId?: string; } | undefinedNo

ReplicationControls

Properties:

PropertyTypeRequiredDescription
startSync(collectionName?: string) => Promise<void>Yes
stopSync(collectionName?: string) => voidYes
forceSync(collectionName?: string) => Promise<void>Yes
startAll() => Promise<void>Yes
stopAll() => voidYes

ReplicationEventApi

Properties:

PropertyTypeRequiredDescription
recentReplicationEvent[]Yes
subscribe(callback: (event: ReplicationEvent) => void) => () => voidYes

ReplicationMetricsApi

Properties:

PropertyTypeRequiredDescription
currentReplicationMetrics[]Yes
historical(timeRange: { start: Date; end: Date; }) => Promise<ReplicationMetrics[]>Yes

UseReplicationMonitoringReturn

Properties:

PropertyTypeRequiredDescription
status{ authenticated: boolean; enabled: boolean; activeCount: number; syncing: boolean; lastSyncError?: string; collections: Map<string, ReplicationStatus>; }Yes
eventsReplicationEventApiYes
metricsReplicationMetricsApiYes
controlsReplicationControlsYes
isReadybooleanYes
refresh(() => void) | undefinedNo
getCollectionStatus((collectionName: string) => ReplicationStatus | undefined) | undefinedNo
subscribeToCollection((collectionName: string, callback: (event: ReplicationEvent) => void) => () => void) | undefinedNo
getCollectionMetrics((collectionName: string) => ReplicationMetrics | undefined) | undefinedNo
clearEventHistory(() => void) | undefinedNo
exportMonitoringData(() => Promise<{ status: any; events: ReplicationEvent[]; metrics: ReplicationMetrics[]; timestamp: Date; }>) | undefinedNo

RecoveryAttempt

Properties:

PropertyTypeRequiredDescription
timestampDateYes
strategystringYes
collectionNamestringYes
error{ message: string; type: ReplicationErrorType; severity: ReplicationErrorSeverity; recoverable: boolean; }Yes
successbooleanYes

ReplicationContextType

Properties:

PropertyTypeRequiredDescription
status{ authenticated: boolean; enabled: boolean; activeCount: number; syncing: boolean; lastSyncError?: string; collections: Map<string, ReplicationStatus>; }Yes
eventsReplicationEventApiYes
metricsReplicationMetricsApiYes
controlsReplicationControlsYes
isReadybooleanYes

RxdbServerReplicationConfig

Properties:

PropertyTypeRequiredDescription
collectionRxCollectionYes
collectionNamestringYes
serverUrlstring | undefinedNo
batchSizenumber | undefinedNo
liveboolean | undefinedNo
retryTimenumber | undefinedNo
waitForLeadershipboolean | undefinedNo
autoStartboolean | undefinedNo
headersRecord<string, string> | undefinedNo

RxdbServerReplicationState

Properties:

PropertyTypeRequiredDescription
replicationanyYes
isConnectedbooleanYes
isReplicatingbooleanYes
errorError | nullYes
lastSyncDate | nullYes
totalDocsnumberYes
pendingDocsnumberYes
start() => voidYes
stop() => voidYes
restart() => voidYes

ReplicationCollectionConfig

Configuration utility for replication package

Properties:

PropertyTypeRequiredDescription
enabledbooleanYes
autoStartbooleanYes
collectionsstring[]Yes
baseUrlstring | undefinedNo
periodicResync{ enabled: boolean; intervalMs: number; } | undefinedNo
retryConfig{ maxRetries: number; baseDelayMs: number; maxDelayMs: number; backoffMultiplier: number; } | undefinedNo
performanceThresholds{ maxLatencyMs: number; minSuccessRate: number; maxMemoryUsageMB: number; } | undefinedNo
alerting{ enabled: boolean; criticalErrorThreshold: number; performanceWarningThreshold: number; } | undefinedNo

Logger

Logger utility for replication package This is a stub that can be replaced with actual implementation

Metric

Properties:

PropertyTypeRequiredDescription
namestringYes
valuenumberYes
timestampnumberYes
tagsRecord<string, string>Yes

MetricsSummary

Properties:

PropertyTypeRequiredDescription
syncLatency{ avg: number; min: number; max: number; p95: number; }Yes
documentThroughput{ pushPerMinute: number; pullPerMinute: number; }Yes
conflictRatenumberYes
errorRatenumberYes
storageUsageRecord<string, number>Yes
Previous
API Reference
Next
Types