feat(stats): add typed network stats response fields for bandwidth, domain activity, and protocol distribution

This commit is contained in:
2026-04-13 12:07:13 +00:00
parent f2d0a9ec1b
commit fa926eb10b
5 changed files with 17 additions and 8 deletions

View File

@@ -1,5 +1,11 @@
# Changelog # Changelog
## 2026-04-13 - 13.15.0 - feat(stats)
add typed network stats response fields for bandwidth, domain activity, and protocol distribution
- extends the network stats request interface with top IP bandwidth, domain activity, and frontend/backend protocol distribution data
- updates app state to use a typed getNetworkStats request instead of casting the response to any
## 2026-04-13 - 13.14.0 - feat(network) ## 2026-04-13 - 13.14.0 - feat(network)
add bandwidth-ranked IP and domain activity metrics to network monitoring add bandwidth-ranked IP and domain activity metrics to network monitoring

View File

@@ -3,6 +3,6 @@
*/ */
export const commitinfo = { export const commitinfo = {
name: '@serve.zone/dcrouter', name: '@serve.zone/dcrouter',
version: '13.14.0', version: '13.15.0',
description: 'A multifaceted routing service handling mail and SMS delivery functions.' description: 'A multifaceted routing service handling mail and SMS delivery functions.'
} }

View File

@@ -180,5 +180,9 @@ export interface IReq_GetNetworkStats extends plugins.typedrequestInterfaces.imp
requestsPerSecond: number; requestsPerSecond: number;
requestsTotal: number; requestsTotal: number;
backends?: statsInterfaces.IBackendInfo[]; backends?: statsInterfaces.IBackendInfo[];
topIPsByBandwidth: Array<{ ip: string; count: number; bwIn: number; bwOut: number }>;
domainActivity: statsInterfaces.IDomainActivity[];
frontendProtocols?: statsInterfaces.IProtocolDistribution | null;
backendProtocols?: statsInterfaces.IProtocolDistribution | null;
}; };
} }

View File

@@ -3,6 +3,6 @@
*/ */
export const commitinfo = { export const commitinfo = {
name: '@serve.zone/dcrouter', name: '@serve.zone/dcrouter',
version: '13.14.0', version: '13.15.0',
description: 'A multifaceted routing service handling mail and SMS delivery functions.' description: 'A multifaceted routing service handling mail and SMS delivery functions.'
} }

View File

@@ -522,14 +522,13 @@ export const fetchNetworkStatsAction = networkStatePart.createAction(async (stat
}); });
// Get network stats for throughput and IP data // Get network stats for throughput and IP data
const networkStatsRequest = new plugins.domtools.plugins.typedrequest.TypedRequest( const networkStatsRequest = new plugins.domtools.plugins.typedrequest.TypedRequest<
'/typedrequest', interfaces.requests.IReq_GetNetworkStats
'getNetworkStats' >('/typedrequest', 'getNetworkStats');
);
const networkStatsResponse = await networkStatsRequest.fire({ const networkStatsResponse = await networkStatsRequest.fire({
identity: context.identity, identity: context.identity,
}) as any; });
// Use the connections data for the connection list // Use the connections data for the connection list
// and network stats for throughput and IP analytics // and network stats for throughput and IP analytics