add avg timing phases to details response
This commit is contained in:
1 parent
4182a964a6
commit
0cf8cfa5dc
2 files changed
+30
-2
No files matched your search
@@ -445,11 +445,30 @@ class MongoChecksRepository implements IChecksRepository {
|
||||
$dateToString: { format: dateString, date: "$createdAt" },
|
||||
},
|
||||
avgResponseTime: { $avg: "$responseTime" },
|
||||
avgDns: { $avg: "$timings.phases.dns" },
|
||||
avgTcp: { $avg: "$timings.phases.tcp" },
|
||||
avgTls: { $avg: "$timings.phases.tls" },
|
||||
avgRequest: { $avg: "$timings.phases.request" },
|
||||
avgFirstByte: { $avg: "$timings.phases.firstByte" },
|
||||
avgDownload: { $avg: "$timings.phases.download" },
|
||||
totalChecks: { $sum: 1 },
|
||||
},
|
||||
},
|
||||
{ $sort: { _id: 1 } },
|
||||
{ $project: { bucketDate: "$_id", avgResponseTime: 1, totalChecks: 1, _id: 0 } },
|
||||
{
|
||||
$project: {
|
||||
bucketDate: "$_id",
|
||||
avgResponseTime: 1,
|
||||
totalChecks: 1,
|
||||
avgDns: { $ifNull: ["$avgDns", 0] },
|
||||
avgTcp: { $ifNull: ["$avgTcp", 0] },
|
||||
avgTls: { $ifNull: ["$avgTls", 0] },
|
||||
avgRequest: { $ifNull: ["$avgRequest", 0] },
|
||||
avgFirstByte: { $ifNull: ["$avgFirstByte", 0] },
|
||||
avgDownload: { $ifNull: ["$avgDownload", 0] },
|
||||
_id: 0,
|
||||
},
|
||||
},
|
||||
],
|
||||
groupedUpChecks: [
|
||||
{ $match: { status: true } },
|
||||
|
||||
@@ -132,6 +132,15 @@ export interface GroupedCheck {
|
||||
totalChecks: number;
|
||||
}
|
||||
|
||||
export interface GroupedUptimeCheck extends GroupedCheck {
|
||||
avgDns: number;
|
||||
avgTcp: number;
|
||||
avgTls: number;
|
||||
avgRequest: number;
|
||||
avgFirstByte: number;
|
||||
avgDownload: number;
|
||||
}
|
||||
|
||||
export interface PageSpeedGroupedCheck {
|
||||
bucketDate: string;
|
||||
performance: number;
|
||||
@@ -143,7 +152,7 @@ export interface PageSpeedGroupedCheck {
|
||||
|
||||
export interface UptimeChecksResult {
|
||||
monitorType: Exclude<MonitorType, "hardware" | "pagespeed">;
|
||||
groupedChecks: GroupedCheck[];
|
||||
groupedChecks: GroupedUptimeCheck[];
|
||||
groupedUpChecks: GroupedCheck[];
|
||||
groupedDownChecks: GroupedCheck[];
|
||||
uptimePercentage: number;
|
||||
|
||||
Reference in new issue
Block a user