Vercel Tracing 正式開放:從 CLI 找慢請求,預設採樣與保存天數怎麼看?

Vercel Tracing 正式開放,從儀表板與 CLI 用同一查詢找慢請求。解析 Next.js 預設採樣、Span 計費單位、保存天數與執行環境限制。

Share
Vercel 官方黑底白字封面,標示 Tracing 正式開放
Vercel 官方封面標示 Tracing 已正式開放。 圖片來源:Vercel 公告。

Vercel Tracing 能幫團隊拆開網站的等待時間。AI 可以很快改完網站,但當應用變慢,團隊仍要知道時間究竟花在資料庫、外部服務,還是應用本身。

只看一個請求的總耗時,常無法判斷該改哪一段程式,因此還需要把整個流程拆開。

Vercel 在 2026 年 11 月 6 日宣布 Tracing 正式開放到所有方案,並加入可搜尋的追蹤列表與命令列入口。

這代表開發者與使用命令列的代理,可以沿著同一查詢找執行證據,不必只靠聊天裡描述錯誤。

我會優先建議已有實際流量的團隊確認採樣規則,再用追蹤定位瓶頸;沒有收集到的請求,事後也無法補成完整紀錄。

要理解新功能帶來什麼,先從一筆請求與它裡面的各個步驟說起。

Vercel Tracing 如何拆開一次請求?

一條追蹤記錄請求走過的流程,每個步驟則各自留下時間與屬性。

例如使用者打開一個頁面,請求先進入內容傳遞網路,再經過中介層、函式與資料庫,最後把結果回傳。總耗時只告訴你慢了多久,無法直接指出是哪一步在等。

Trace 就是這次請求的流程紀錄。裡面每一個工作單位稱為 span,會帶有名稱、開始時間、結束時間與持續時間,讓人能把整段等待拆開看。

Vercel 文件說明,平台可自動收集基礎設施與對外 HTTP 呼叫。資料庫或框架內部的更多細節,則可能需要框架支援或額外加入追蹤程式。

因此,圖上只有一條外部請求,未必代表外部服務只做了一件事。你看得到的是目前有記錄的範圍,而另一個服務內部的工作還需要它自己的追蹤資訊。

閱讀時間軸時,也要留意哪些步驟重疊。兩個外部呼叫若同時進行,把它們的耗時直接相加,會大於使用者實際等待的時間。

這讓追蹤適合回答「時間花在哪裡」,但不能單獨回答 AI 的答案是否正確。要分析一個生成式應用,仍需把回應品質與請求執行的時間分開理解。

能看到單次流程後,新列表才讓團隊從大量請求中找到值得追查的那一筆。

Vercel 官方黑底白字封面,標示 Tracing 正式開放
Vercel 官方封面標示 Tracing 已正式開放。 圖片來源:Vercel 公告。

GA 新增的搜尋與 CLI 如何一起用?

儀表板與命令列共用查詢語法,讓同一問題能在人與代理之間交接。

2026 年 11 月 6 日公告新增 Traces 頁面,可在一個專案或團隊範圍查看資料。過去測試期間通常得從某筆日誌打開追蹤,現在則能直接搜尋列表。

列表有 Spans 與 Traces 兩種視角。前者能找到單一步驟,例如對外呼叫;後者以整筆請求為單位,適合先縮小哪些請求有問題。

查詢採用 KQL,也就是用欄位、條件與邏輯組合篩選資料的語法。例如 span.name:db* AND span.duration > 500,代表找名稱以 db 開頭,並符合所設耗時門檻的步驟。

在 Traces 列表中,條件比對的是整條追蹤的根步驟。若問題發生在更深的子步驟,應切到 Spans 視角查找,否則同一句條件可能得到不同範圍的結果。

命令列的 vercel traces search 使用相同語法,因此人先在儀表板找到有效條件後,可以把查詢交給使用命令列的程式代理。搜尋結果的意義不必在兩套工具間重新翻譯。

找到請求識別碼後,可用 vercel traces inspect 查看單筆追蹤。這個入口讓代理能根據實際執行紀錄協助定位,但它能查哪些專案,仍取決於原本帳戶與團隊存取範圍。

要即時觀察新流量,頁面也提供 Live 模式。它顯示的是已進入收集範圍的新紀錄,不能讓尚未設定採樣的請求回到過去補寫資料。

搜尋能找到已保存的證據,範圍仍由採樣決定。

哪些新專案會預設追蹤,採樣如何決定保留?

符合條件的新 Next.js 專案會預設收集全部請求,舊專案仍要確認規則。

預設開啟有具體條件。依設定文件,專案必須在 2026 年 11 月 5 日或之後建立,於 Vercel 使用 Next.js 16.5 以上建置,且至少含一個 Node.js 函式。

純靜態輸出、只使用 Edge runtime 的應用,以及 vercel deploy --prebuilt 這種事先建好再部署的方式,都不符合這組預設條件。既有專案也不能只因升級框架,就假設已自動收集。

符合條件的新專案,在首次成功建置後會加入一條全部環境、100% 請求的規則。框架追蹤也會在建置時注入,官方不會因此更改專案的套件清單或鎖定檔。

但若專案已有自己的追蹤設定,平台可能不再注入相同套件。基礎設施紀錄仍可收集,框架內部的步驟則需要確認自己的設定是否完整。

採樣的順序也會改變資料結果。假設前面先放全部路徑百分之百收集,後面才放健康檢查零收集,健康檢查早已符合第一條,因此後面的排除不會生效。

官方目前不能直接重新排序規則,因此需要先移除較廣的規則,加入特定路徑排除,再把較廣規則加回,確認順序後一起儲存。這是設定行為,和調整百分比本身不同。

每個專案最多十條規則,系統採用第一條符合的規則。若要排除健康檢查路徑,0% 規則必須先於較廣的規則,否則請求會先被前面的條件攔住。

採樣會對整條追蹤作一次保留或丟棄決定。保留下來會保留該次已收集的各步驟,沒有符合任何規則的請求則不收集,因此低採樣可能漏掉少見錯誤。

命令列設定接受 1% 至 100%,0% 排除規則要從儀表板加入。這個差別會影響管理流程,不能把網頁上能做的設定直接當成每個命令列選項都已支援。

保留哪些請求決定資料量,資料留多久則影響能回查多早的事件。

保存三天或十四天,是否代表沒有其他成本?

GA 延長追蹤保存時間,價格仍沿用測試期間,採樣與外送也各有設定。

Hobby 方案保存追蹤三天,Pro 與 Enterprise 保存十四天。這比測試期間延長,但保存天數只是可回查範圍,不等於收集流量無限量。

截至本次查詢,官方以 span unit 計費,計算採樣後實際索引的步驟。每個不超過 2 KiB 的步驟算一單位,更大的紀錄按每 2 KiB 增加,所以不能只用請求數估算。

例如一筆 3 KiB 的步驟算兩單位,5 KiB 算三單位。同樣一百次請求,若每次記錄的步驟數與內容大小不同,最後用量也會不同。

Hobby 每月含一百萬單位,Pro 每一百萬單位 0.50 美元,Enterprise 則從同樣單位的 0.50 美元起。這些是追蹤費率,沒有包含整個應用的函式、資料庫或模型成本。

官方示例中,若每筆請求有二十個索引步驟,收集十萬次請求,至少使用兩百萬單位。因此,新專案預設 100% 收集,仍值得依實際流量調整。

沿用二十個步驟、十萬次請求的例子,若每一步都不超過一個單位,兩百萬單位對應 Pro 追蹤費約一美元。只要步驟內容變大,單位數就可能上升,所以這是有明確假設的費用換算。

Hobby 用完團隊額度時,該團隊所有專案的追蹤會暫停。新用量期間開始後也不會自行恢復,具有所需專案更新權限的人必須選 Resume Tracing。

關閉追蹤則要移除全部採樣規則並儲存。它和 Trace Drains 的外送規則不同,前者沒有規則不收集,後者沒有規則卻會轉送全部追蹤,兩個空列表不能用同一方式解讀。

費用之外,紀錄是否完整與哪些資料會被截斷,也會影響診斷結果。

資料大小與執行環境有哪些限制?

追蹤紀錄有壓縮大小上限,且 Edge runtime 的自訂步驟不會出現在追蹤裡。

每次請求的壓縮追蹤資料上限為 10 MB。單一步驟若超過 1 MB,平台會先嘗試截短大型屬性,並加入對應的 truncated 標記。

截短後仍超過上限的步驟會被丟棄。因此,查不到某段內容時,需要先分辨它從未被收集、因採樣被略過,還是已超過資料大小限制。

計費用的 2 KiB 單位,與這裡的壓縮大小上限是不同口徑。前者用來估算索引用量,後者限制可處理的追蹤資料,不能混在同一條公式裡計算。

自訂步驟也有執行環境限制。Edge runtime 函式裡的自訂 span 不會出現在這份追蹤中,因此只看沒有自訂步驟,不能就斷言那段程式沒有執行。

若專案同時使用 Sentry 與 Vercel 的 OpenTelemetry 設定,要依官方整合方式處理。OpenTelemetry 是追蹤資料的開放標準,多套自動設定重疊可能影響資料傳遞。

對一般團隊來說,最有用的第一步是知道目前有哪些步驟會被記錄。這比看到很多彩色時間條,就把它當成整個系統已完整可見,更能避免誤判。

知道可見範圍後,才適合用這些紀錄判斷某次修改是否改善實際問題。

AI 代理如何用追蹤縮小修改範圍?

讓代理先找出耗時步驟,再改對應程式,能把每次修改連回實際執行證據。

例如某個頁面在修改後變慢,可以先找耗時較高的請求,再沿時間軸確認是外部服務變慢,還是應用把原本可同時執行的呼叫排成先後。

若等待集中在某個外部呼叫,代理能針對那段使用方式分析。若資料庫本身耗時占主要部分,只改畫面元件可能無法改善使用者等待。

這些是依追蹤機制推導的工作方式,並非本次實測成果。平台公布的是新的搜尋與查看入口,沒有承諾 AI 代理會因此自動修好所有效能問題。

三種視覺方式也各有用途。時間軸容易看出重疊與等待,樹狀圖便於追查誰呼叫誰,瀑布圖則把關係與時間放在一起,適合找出深層的主要耗時。

人與代理共用相同查詢後,討論可以更具體。例如直接指出哪筆請求、哪個步驟與哪段時間,而不只是說「這個網站最近很慢」。

若先前沒有留下資料,就先確認採樣、保存期限與帳戶額度。建立可回查的執行紀錄,才讓後續修改能連到同一個問題,而不是每輪都重新猜測原因。

從一條慢請求開始,先核對時間與呼叫關係,再決定下一次修改要處理哪一段。

Vercel Tracing 常見問題 FAQ

Vercel Tracing GA 代表免費嗎?

GA 表示正式開放,費用仍依方案與 span unit 用量計算。Hobby 有包含額度,Pro 與 Enterprise 則有公開的單位費率。

所有新 Next.js 專案都會自動開啟嗎?

需要符合建立日期、Vercel 建置、Next.js 版本與 Node.js 函式等條件。純靜態、只有 Edge runtime 或預先建置的部署不符合這組預設條件。

可以把每個 span 時間加總成使用者等待嗎?

若步驟有重疊,加總會把同時進行的時間重複計算。應沿整條追蹤的時間位置判讀,而不是只把數字相加。

延伸閱讀:Vercel CI Beta 怎麼用?AI 寫程式更快後,測試如何只跑受影響的任務?

延伸閱讀:Vercel Daemons 新增服務綁定與存活檢查:背景工作連得上,卡住後也能重啟?

結論

已有實際流量的團隊,可以先確認專案是否在收集追蹤,再挑一筆慢請求核對呼叫關係與耗時。保留查詢、控制採樣,並讓代理只處理證據指向的程式範圍,較容易知道每次修改解決了什麼。

資料來源