diff --git a/app/(main)/ClientComponents/detail/NetworkChart.tsx b/app/(main)/ClientComponents/detail/NetworkChart.tsx
index a542c28..4ed399c 100644
--- a/app/(main)/ClientComponents/detail/NetworkChart.tsx
+++ b/app/(main)/ClientComponents/detail/NetworkChart.tsx
@@ -15,7 +15,6 @@ import { Label } from "@/components/ui/label"
import { Switch } from "@/components/ui/switch"
import getEnv from "@/lib/env-entry"
import { formatTime, nezhaFetcher } from "@/lib/utils"
-import { formatRelativeTime } from "@/lib/utils"
import { useTranslations } from "next-intl"
import * as React from "react"
import { useCallback, useMemo } from "react"
@@ -285,12 +284,22 @@ export const NetworkChart = React.memo(function NetworkChart({
formatRelativeTime(value)}
+ minTickGap={80}
+ interval={0}
+ ticks={processedData
+ .filter((item) => {
+ const date = new Date(item.created_at)
+ return date.getMinutes() === 0 && date.getHours() % 3 === 0
+ })
+ .map((item) => item.created_at)}
+ tickFormatter={(value) => {
+ const date = new Date(value)
+ return `${date.getHours()}:00`
+ }}
/>
@@ -233,13 +233,14 @@ const ChartTooltipContent = React.forwardRef<
{item.value && (
{typeof item.value === "number"
- ? item.value.toFixed(3).toLocaleString()
- : item.value}
+ ? item.value.toFixed(2).toLocaleString()
+ : item.value}{" "}
+ ms
)}
diff --git a/lib/utils.ts b/lib/utils.ts
index cfd3715..84fd4d0 100644
--- a/lib/utils.ts
+++ b/lib/utils.ts
@@ -125,3 +125,13 @@ export function formatTime(timestamp: number): string {
const seconds = date.getSeconds().toString().padStart(2, "0")
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`
}
+
+export function formatTime12(timestamp: number): string {
+ // example: 3:45 PM
+ const date = new Date(timestamp)
+ const hours = date.getHours()
+ const minutes = date.getMinutes()
+ const ampm = hours >= 12 ? "PM" : "AM"
+ const hours12 = hours % 12 || 12
+ return `${hours12}:${minutes.toString().padStart(2, "0")} ${ampm}`
+}