update include timings
This commit is contained in:
parent
27d478c41a
commit
bc3f4dd032
|
|
@ -132,7 +132,7 @@ export const ingest = new Elysia()
|
||||||
`;
|
`;
|
||||||
|
|
||||||
const [ping] = await sql`
|
const [ping] = await sql`
|
||||||
INSERT INTO pings (monitor_id, checked_at, scheduled_at, jitter_ms, status_code, latency_ms, up, important, error, meta, region, run_id, cert_expiry_days, cert_issuer, response_size)
|
INSERT INTO pings (monitor_id, checked_at, scheduled_at, jitter_ms, status_code, latency_ms, up, important, error, meta, region, run_id, cert_expiry_days, cert_issuer, response_size, dns_ms, tcp_ms, tls_ms)
|
||||||
VALUES (
|
VALUES (
|
||||||
${body.monitor_id},
|
${body.monitor_id},
|
||||||
${checkedAt ?? sql`now()`},
|
${checkedAt ?? sql`now()`},
|
||||||
|
|
@ -148,7 +148,10 @@ export const ingest = new Elysia()
|
||||||
${body.run_id ?? null},
|
${body.run_id ?? null},
|
||||||
${body.cert_expiry_days ?? null},
|
${body.cert_expiry_days ?? null},
|
||||||
${body.cert_issuer ?? null},
|
${body.cert_issuer ?? null},
|
||||||
${body.response_size ?? null}
|
${body.response_size ?? null},
|
||||||
|
${body.dns_ms ?? null},
|
||||||
|
${body.tcp_ms ?? null},
|
||||||
|
${body.tls_ms ?? null}
|
||||||
)
|
)
|
||||||
RETURNING *
|
RETURNING *
|
||||||
`;
|
`;
|
||||||
|
|
@ -200,6 +203,9 @@ export const ingest = new Elysia()
|
||||||
cert_expiry_days: t.Optional(t.Nullable(t.Number())),
|
cert_expiry_days: t.Optional(t.Nullable(t.Number())),
|
||||||
cert_issuer: t.Optional(t.Nullable(t.String())),
|
cert_issuer: t.Optional(t.Nullable(t.String())),
|
||||||
response_size: t.Optional(t.Nullable(t.Number())),
|
response_size: t.Optional(t.Nullable(t.Number())),
|
||||||
|
dns_ms: t.Optional(t.Nullable(t.Number())),
|
||||||
|
tcp_ms: t.Optional(t.Nullable(t.Number())),
|
||||||
|
tls_ms: t.Optional(t.Nullable(t.Number())),
|
||||||
meta: t.Optional(t.Any()),
|
meta: t.Optional(t.Any()),
|
||||||
region: t.Optional(t.Nullable(t.String())),
|
region: t.Optional(t.Nullable(t.String())),
|
||||||
run_id: t.Optional(t.Nullable(t.String())),
|
run_id: t.Optional(t.Nullable(t.String())),
|
||||||
|
|
|
||||||
|
|
@ -121,6 +121,9 @@ pub async fn fetch_and_run(
|
||||||
cert_expiry_days: None,
|
cert_expiry_days: None,
|
||||||
cert_issuer: None,
|
cert_issuer: None,
|
||||||
response_size: None,
|
response_size: None,
|
||||||
|
dns_ms: None,
|
||||||
|
tcp_ms: None,
|
||||||
|
tls_ms: None,
|
||||||
meta: None,
|
meta: None,
|
||||||
region: Some(region_owned.to_string()),
|
region: Some(region_owned.to_string()),
|
||||||
run_id: Some(run_id_owned.clone()),
|
run_id: Some(run_id_owned.clone()),
|
||||||
|
|
@ -198,6 +201,9 @@ async fn run_check(monitor: &Monitor, scheduled_at: Option<String>, region: &str
|
||||||
cert_expiry_days: None,
|
cert_expiry_days: None,
|
||||||
cert_issuer: None,
|
cert_issuer: None,
|
||||||
response_size: None,
|
response_size: None,
|
||||||
|
dns_ms: None,
|
||||||
|
tcp_ms: None,
|
||||||
|
tls_ms: None,
|
||||||
meta: None,
|
meta: None,
|
||||||
region: Some(region.to_string()),
|
region: Some(region.to_string()),
|
||||||
run_id: Some(run_id.to_string()),
|
run_id: Some(run_id.to_string()),
|
||||||
|
|
@ -216,6 +222,9 @@ async fn run_check(monitor: &Monitor, scheduled_at: Option<String>, region: &str
|
||||||
cert_expiry_days: None,
|
cert_expiry_days: None,
|
||||||
cert_issuer: None,
|
cert_issuer: None,
|
||||||
response_size: None,
|
response_size: None,
|
||||||
|
dns_ms: None,
|
||||||
|
tcp_ms: None,
|
||||||
|
tls_ms: None,
|
||||||
meta: None,
|
meta: None,
|
||||||
region: Some(region.to_string()),
|
region: Some(region.to_string()),
|
||||||
run_id: Some(run_id.to_string()),
|
run_id: Some(run_id.to_string()),
|
||||||
|
|
@ -267,6 +276,9 @@ async fn run_check(monitor: &Monitor, scheduled_at: Option<String>, region: &str
|
||||||
cert_expiry_days: cr.cert_expiry_days,
|
cert_expiry_days: cr.cert_expiry_days,
|
||||||
cert_issuer: cr.cert_issuer,
|
cert_issuer: cr.cert_issuer,
|
||||||
response_size: Some(cr.body.len()),
|
response_size: Some(cr.body.len()),
|
||||||
|
dns_ms: Some(cr.dns_ms),
|
||||||
|
tcp_ms: Some(cr.tcp_ms),
|
||||||
|
tls_ms: Some(cr.tls_ms),
|
||||||
meta: Some(meta),
|
meta: Some(meta),
|
||||||
region: Some(region.to_string()),
|
region: Some(region.to_string()),
|
||||||
run_id: Some(run_id.to_string()),
|
run_id: Some(run_id.to_string()),
|
||||||
|
|
|
||||||
|
|
@ -51,6 +51,9 @@ pub struct PingResult {
|
||||||
pub cert_expiry_days: Option<i64>,
|
pub cert_expiry_days: Option<i64>,
|
||||||
pub cert_issuer: Option<String>,
|
pub cert_issuer: Option<String>,
|
||||||
pub response_size: Option<usize>,
|
pub response_size: Option<usize>,
|
||||||
|
pub dns_ms: Option<u64>,
|
||||||
|
pub tcp_ms: Option<u64>,
|
||||||
|
pub tls_ms: Option<u64>,
|
||||||
pub meta: Option<Value>,
|
pub meta: Option<Value>,
|
||||||
pub region: Option<String>,
|
pub region: Option<String>,
|
||||||
pub run_id: Option<String>,
|
pub run_id: Option<String>,
|
||||||
|
|
|
||||||
|
|
@ -62,7 +62,10 @@ export async function migrate(sql: any) {
|
||||||
run_id TEXT,
|
run_id TEXT,
|
||||||
cert_expiry_days INTEGER,
|
cert_expiry_days INTEGER,
|
||||||
cert_issuer TEXT,
|
cert_issuer TEXT,
|
||||||
response_size INTEGER
|
response_size INTEGER,
|
||||||
|
dns_ms INTEGER,
|
||||||
|
tcp_ms INTEGER,
|
||||||
|
tls_ms INTEGER
|
||||||
)
|
)
|
||||||
`;
|
`;
|
||||||
await sql`CREATE INDEX IF NOT EXISTS idx_pings_monitor ON pings(monitor_id, checked_at DESC)`;
|
await sql`CREATE INDEX IF NOT EXISTS idx_pings_monitor ON pings(monitor_id, checked_at DESC)`;
|
||||||
|
|
|
||||||
|
|
@ -373,6 +373,16 @@
|
||||||
if (ping.cert_expiry_days != null) html += `<div class="text-gray-500">Cert expiry</div><div class="text-gray-300">${ping.cert_expiry_days} days</div>`;
|
if (ping.cert_expiry_days != null) html += `<div class="text-gray-500">Cert expiry</div><div class="text-gray-300">${ping.cert_expiry_days} days</div>`;
|
||||||
if (ping.cert_issuer) html += `<div class="text-gray-500">Cert issuer</div><div class="text-gray-300">${escapeHtml(ping.cert_issuer)}</div>`;
|
if (ping.cert_issuer) html += `<div class="text-gray-500">Cert issuer</div><div class="text-gray-300">${escapeHtml(ping.cert_issuer)}</div>`;
|
||||||
if (ping.response_size != null) html += `<div class="text-gray-500">Response size</div><div class="text-gray-300">${ping.response_size >= 1024 ? (ping.response_size / 1024).toFixed(1) + ' KB' : ping.response_size + ' B'}</div>`;
|
if (ping.response_size != null) html += `<div class="text-gray-500">Response size</div><div class="text-gray-300">${ping.response_size >= 1024 ? (ping.response_size / 1024).toFixed(1) + ' KB' : ping.response_size + ' B'}</div>`;
|
||||||
|
if (ping.dns_ms != null || ping.tcp_ms != null || ping.tls_ms != null) {
|
||||||
|
html += `<div class="text-gray-500">Timing</div><div class="text-gray-300">`;
|
||||||
|
const parts = [];
|
||||||
|
if (ping.dns_ms != null) parts.push('DNS ' + ping.dns_ms + 'ms');
|
||||||
|
if (ping.tcp_ms != null) parts.push('TCP ' + ping.tcp_ms + 'ms');
|
||||||
|
if (ping.tls_ms != null) parts.push('TLS ' + ping.tls_ms + 'ms');
|
||||||
|
parts.push('HTTP ' + (ping.latency_ms || 0) + 'ms');
|
||||||
|
html += parts.join(' / ');
|
||||||
|
html += `</div>`;
|
||||||
|
}
|
||||||
if (ping.important) html += `<div class="text-gray-500">Important</div><div class="text-yellow-400">Yes</div>`;
|
if (ping.important) html += `<div class="text-gray-500">Important</div><div class="text-yellow-400">Yes</div>`;
|
||||||
html += '</div>';
|
html += '</div>';
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue