Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
const getServerStats = () => {
const serverConfig = sysTable('server_config')
const serverStatus = sysTable('server_status')
const tableConfig = sysTable('table_config')
return r
.do(
serverConfig.nth(0),
// All connected servers
serverStatus('name').coerceTo('array'),
// All servers assigned to tables
tableConfig
.concatMap(row => row('shards').default([]))
.concatMap(row => row('replicas'))
.distinct(),
(server, connectedServers, assignedServers) => ({
server,
serversConnected: connectedServers.count(),
serversMissing: assignedServers.setDifference(connectedServers),
unknownMissing: tableConfig
.filter(row => row.hasFields('shards').not())('name')
.isEmpty()