DTP Base provides a scalable and secure Node.js application development harness ready for production service.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

67 lines
1.7 KiB

// net-host-stats.js
// Copyright (C) 2024 DTP Technologies, LLC
// All Rights Reserved
'use strict';
import mongoose from 'mongoose';
const Schema = mongoose.Schema;
const CpuInfoSchema = new Schema({
user: { type: Number },
nice: { type: Number },
sys: { type: Number },
idle: { type: Number },
irq: { type: Number },
});
const MemoryInfoSchema = new Schema({
total: { type: Number },
free: { type: Number },
used: { type: Number },
active: { type: Number },
available: { type: Number },
buffers: { type: Number },
cached: { type: Number },
slab: { type: Number },
buffcache: { type: Number },
swaptotal: { type: Number },
swapused: { type: Number },
swapfree: { type: Number },
});
const CacheStatsSchema = new Schema({
itemCount: { type: Number, required: true },
dataSize: { type: Number, required: true },
expireCount: { type: Number, required: true },
expireDataSize: { type: Number, required: true },
hitCount: { type: Number, required: true },
hitDataSize: { type: Number, required: true },
missCount: { type: Number, required: true },
missDataSize: { type: Number, required: true },
});
const DiskUsageSchema = new Schema({
total: { type: Number },
used: { type: Number },
available: { type: Number },
pctUsed: { type: Number },
});
const NetworkInterfaceStatsSchema = new Schema({
iface: { type: String, required: true },
rxPerSecond: { type: Number },
rxDropped: { type: Number },
rxErrors: { type: Number },
txPerSecond: { type: Number },
txDropped: { type: Number },
txErrors: { type: Number },
});
export {
CpuInfoSchema,
MemoryInfoSchema,
CacheStatsSchema,
DiskUsageSchema,
NetworkInterfaceStatsSchema,
};