查詢範例 query-examples
本節列出幾個在Data Lake中查詢歷程步驟事件的常用範例。
請確定查詢中使用的欄位在對應結構描述中有關聯的值。
- id:所有步驟事件專案均不重複。 兩個不同的步驟事件不能有相同的ID。
- instanceId:instanceID對於歷程執行中與設定檔相關聯的所有步驟事件都是相同的。 如果設定檔重新進入歷程,則會使用不同的instanceId。 此新instanceId將與重新進入之執行個體的所有步驟事件(從開始到結束)相同。
- profileID:與歷程名稱空間對應的設定檔身分。
| note note |
|---|
| NOTE |
| 基於疑難排解目的,我們建議在查詢歷程時使用journeyVersionID,而不是journeyVersionName。 在本節中進一步瞭解歷程屬性。 |
基本使用案例/常見查詢 common-queries
此查詢會提供在指定時間範圍內進入指定歷程的不同設定檔數量。
資料湖查詢
| code language-sql |
|---|
|
瞭解如何在journey_step_events中疑難排解捨棄的事件型別。
當設定檔因上限或適用性規則而無法進入歷程時,此查詢會傳回拒絕的規則集和規則資訊。
範例
| code language-sql |
|---|
|
此查詢會依節點名稱分組,計算歷程每個節點遇到錯誤的不同設定檔。 其中包含所有型別的動作執行錯誤和擷取錯誤。
資料湖查詢
| code language-sql |
|---|
|
此查詢會計算歷程中捨棄的事件總數。 它會篩選各種捨棄事件代碼,包括區段匯出作業錯誤、Dispatcher捨棄和狀態機器捨棄。
資料湖查詢
| code language-sql |
|---|
|
此查詢會依時間順序,傳回指定時間內特定設定檔和歷程的所有步驟事件和服務事件。
資料湖查詢
| code language-sql |
|---|
|
例如,您可以使用這些查詢來預估等待活動所花費的時間。 這可讓您確保等待活動已正確設定。
資料湖查詢
| code language-sql |
|---|
|
資料湖查詢
| code language-sql |
|---|
|
Journey Step事件資料集包含所有stepEvents和serviceEvents。 stepEvents用於報告中,因為它們與歷程中設定檔的活動(事件、動作等)相關。 serviceEvents會儲存在相同的資料集中,並代表其他除錯資訊,例如體驗事件捨棄的原因。
以下是查詢serviceEvent詳細資訊的範例:
資料湖查詢
| code language-sql |
|---|
|
訊息/動作錯誤 message-action-errors
| accordion | ||||
|---|---|---|---|---|
| 歷程中遇到的每個錯誤的清單 | ||||
|
此查詢可讓您列出執行訊息/動作時,在歷程中遇到的每個錯誤。 資料湖查詢
範例
此查詢會傳回在歷程中執行動作時發生的所有不同錯誤,以及發生次數的計數。 |
設定檔查詢 profile-based-queries
此查詢會透過計算與該設定檔和歷程組合相關聯的事件,來檢查特定設定檔是否進入歷程。
資料湖查詢
| code language-sql |
|---|
|
範例
| code language-sql |
|---|
|
結果應大於0。 此查詢會傳回設定檔已進入歷程的確切次數。
方法1:如果訊息名稱在歷程中不是唯一的(它用於多個位置)。
資料湖查詢
| code language-sql |
|---|
|
範例
| code language-sql |
|---|
|
結果應大於0。 此查詢只會告訴我們訊息動作是否已成功在歷程端執行。
方法2:如果您的訊息名稱在歷程中是唯一的。
資料湖查詢
| code language-sql |
|---|
|
範例
| code language-sql |
|---|
|
查詢會傳回所有訊息的清單,連同針對所選設定檔叫用的訊息計數。
此查詢會擷取過去30天內特定設定檔所有成功執行的訊息動作(依訊息名稱分組)。
資料湖查詢
| code language-sql |
|---|
|
範例
| code language-sql |
|---|
|
查詢會傳回所有訊息的清單,連同針對所選設定檔叫用的訊息計數。
此查詢會傳回特定設定檔在過去30天內輸入的所有歷程,以及每個歷程的輸入計數。
資料湖查詢
| code language-sql |
|---|
|
範例
| code language-sql |
|---|
|
查詢會傳回所有歷程名稱的清單,以及查詢的設定檔進入歷程的次數。
此查詢提供在指定時段內進入歷程的相異設定檔數量的每日劃分。
資料湖查詢
| code language-sql |
|---|
|
範例
| code language-sql |
|---|
|
查詢會在定義的期間內傳回每天進入歷程的設定檔數。 如果透過多個身分輸入設定檔,則會計算兩次。 如果啟用重新進入,如果設定檔計數在不同日期重新進入歷程,則可能會跨不同日期複製。
瞭解如何在journey_step_events中疑難排解捨棄的事件型別。
與讀取對象相關的查詢 read-segment-queries
此查詢會找出工作排入佇列與完成時間之間的時間差,以計算對象匯出工作的持續時間。
資料湖查詢
| code language-sql |
|---|
|
範例
| code language-sql |
|---|
|
查詢會傳回對象匯出工作排入佇列與最終結束之間的時間差(以分鐘為單位)。
此查詢會計算在讀取對象活動期間由於執行個體重複錯誤而捨棄的不同設定檔數量。
資料湖查詢
| code language-sql |
|---|
|
範例
| code language-sql |
|---|
|
查詢會傳回歷程捨棄的所有設定檔ID,因為這些設定檔ID重複。
此查詢會傳回由於名稱空間無效或缺少必要名稱空間的身分而被捨棄的設定檔計數。
資料湖查詢
| code language-sql |
|---|
|
範例
| code language-sql |
|---|
|
查詢會傳回歷程捨棄的所有設定檔ID,因為這些設定檔ID具有無效的名稱空間,或沒有該名稱空間的身分。
此查詢會計算由於缺少歷程執行所需的身分對應而被捨棄的設定檔。
資料湖查詢
| code language-sql |
|---|
|
範例
| code language-sql |
|---|
|
查詢會傳回歷程捨棄的所有設定檔ID,因為缺少身分對應。
此查詢會識別歷程在測試模式下執行時捨棄的設定檔,但設定檔的testProfile屬性未設定為true。
資料湖查詢
| code language-sql |
|---|
|
範例
| code language-sql |
|---|
|
查詢會傳回歷程捨棄的所有設定檔ID,因為匯出作業是在測試模式下執行,但設定檔的testProfile屬性未設定為true。
此查詢會傳回在歷程執行期間由於內部系統錯誤而捨棄的設定檔計數。
資料湖查詢
| code language-sql |
|---|
|
範例
| code language-sql |
|---|
|
查詢會傳回歷程因某些內部錯誤而捨棄的所有設定檔ID。
此查詢提供讀取對象活動的完整總覽,包括對象匯出流程所有階段的區段匯出工作詳細資訊、事件代碼、狀態和設定檔計數。
資料湖查詢
| code language-sql |
|---|
|
它會傳回與給定歷程版本相關的所有服務事件。 我們可以遵循操作鏈結:
- 主題建立
- 匯出工作建立
- 匯出工作終止(使用匯出設定檔上的量度)
- 工作者處理終止
我們也可以偵測下列問題:
- 建立主題或匯出工作時發生錯誤(包括對象匯出API呼叫逾時)
- 匯出作業可能卡住(針對指定的歷程版本,我們沒有任何有關匯出作業終止的事件)
- 若我們已收到匯出工作終止事件,但沒有工作人員處理終止事件,則為工作人員問題
重要:如果此查詢未傳回任何事件,可能是由於下列其中一個原因:
- 歷程版本尚未達到排程
- 如果歷程版本應該透過呼叫orchestrator來觸發匯出作業,則上游流程會出現問題:歷程部署問題、業務事件或排程器問題。
此查詢會篩選與讀取對象失敗相關的特定錯誤事件代碼,例如主題建立錯誤、API呼叫錯誤、逾時及匯出作業失敗。
資料湖查詢
| code language-sql |
|---|
|
此查詢會擷取對象匯出工作的處理狀態,以顯示其是否與設定檔匯出量度一起成功或失敗。
資料湖查詢
| code language-sql |
|---|
|
如果未傳回任何記錄,則表示:
- 主題或匯出作業建立期間發生錯誤
- 匯出工作仍在執行中
此查詢會結合捨棄的設定檔計數與匯出工作量度,以完整檢視每個個別匯出工作的對象匯出效能。
資料湖查詢
| code language-sql |
|---|
|
此查詢會針對特定歷程版本彙總所有匯出工作的整體量度,對於週期性歷程或具有主題重複使用的業務事件觸發的歷程非常有用。
資料湖查詢
| code language-sql |
|---|
|
此查詢與上一個查詢不同。
它會傳回指定歷程版本的整體量度,無論為其執行的工作為何(如果是週期性歷程,則業務事件會觸發那些利用主題重複使用的事件)。
與對象資格相關的查詢 segment-qualification-queries
此查詢會識別由於其對象實現狀態不符合歷程的對象資格設定(例如,設定為「enters」但設定檔為「exited」)而捨棄的設定檔。
資料湖查詢
| code language-sql |
|---|
|
範例
| code language-sql |
|---|
|
此查詢會傳回歷程版本因對象實現錯誤而捨棄的所有設定檔ID。
此查詢會擷取因內部服務錯誤而被特定設定檔捨棄的所有對象資格或外部事件。
資料湖查詢
| code language-sql |
|---|
|
範例
| code language-sql |
|---|
|
此查詢會傳回由於設定檔的任何其他原因而捨棄的所有事件(外部事件/對象資格事件)。
事件型查詢 event-based-queries
此查詢會計算在指定時間範圍內,由歷程(依日期分組)接收業務事件的次數。
資料湖查詢
| code language-sql |
|---|
|
範例
| code language-sql |
|---|
|
此查詢會識別特定設定檔的外部事件何時被捨棄,因為沒有作用中或相符的歷程設定為接收該事件。
資料湖查詢
| code language-sql |
|---|
|
範例
| code language-sql |
|---|
|
瞭解如何在journey_step_events中疑難排解捨棄的事件型別。
此查詢會擷取由於內部服務錯誤而為特定設定檔捨棄的外部事件,以及事件ID和錯誤代碼。
資料湖查詢
| code language-sql |
|---|
|
範例
| code language-sql |
|---|
|
瞭解如何在journey_step_events中疑難排解捨棄的事件型別。
此查詢會彙總歷程狀態機器捨棄的所有事件(依錯誤代碼分組),以協助識別捨棄的最常見原因。
資料湖查詢
| code language-sql |
|---|
|
範例
| code language-sql |
|---|
|
瞭解如何在journey_step_events中疑難排解捨棄的事件型別。
此查詢會識別在歷程設定中不允許重新進入時,因為設定檔嘗試重新進入歷程而捨棄的所有事件。
資料湖查詢
| code language-sql |
|---|
|
範例
| code language-sql |
|---|
|
瞭解如何在journey_step_events中疑難排解捨棄的事件型別。
常見的歷程型查詢 journey-based-queries
此查詢會傳回具有活動的每日不重複歷程版本計數,可幫助您瞭解一段時間內的歷程執行模式。
資料湖查詢
| code language-sql |
|---|
|
範例
| code language-sql |
|---|
|
查詢會在定義的期間內傳回每天觸發的不重複歷程計數。 在多天觸發的單一歷程每天將計為一次。
歷程執行個體上的查詢 journey-instances-queries
此查詢使用通用表格運算式(CTE),透過尋找經過節點但尚未進入下一個節點的設定檔,來識別目前在歷程中的特定節點等待的設定檔。
資料湖查詢
| code language-sql |
|---|
|
範例
| code language-sql |
|---|
|
此查詢會計算在指定時段內退出的歷程執行個體,包括因完成、錯誤、逾時或上限錯誤而退出的次數。
資料湖查詢
| code language-sql |
|---|
|
範例
| code language-sql |
|---|
|
此查詢提供歷程退出的詳細劃分,顯示每個退出執行個體的節點名稱和退出狀態,以協助識別設定檔離開歷程的位置和原因。
資料湖查詢
| code language-sql |
|---|
|
範例
| code language-sql |
|---|
|
與自訂動作效能度量相關的查詢 query-custom-action
此查詢提供自訂HTTP動作的效能度量,包括呼叫總數、成功呼叫、依型別(4xx、5xx、逾時、上限)的錯誤計數,以及每個端點的每秒要求傳輸量。
資料湖查詢
| code language-sql |
|---|
|
範例
| code language-sql |
|---|
|
此查詢提供與上一個查詢相同的效能量度,但以時間序列組織,顯示端點效能隨時間的變化,以每分鐘為粒度。
資料湖查詢
| code language-sql |
|---|
|
範例
| code language-sql |
|---|
|
此查詢會計算自訂動作端點的回應時間百分位數,協助您瞭解延遲分佈,並識別不同百分位數臨界值的效能極端值。
資料湖查詢
| code language-sql |
|---|
|
範例
| code language-sql |
|---|
|
此查詢提供以時間序列組織的延遲百分位數,可讓您在不同的百分位數層級追蹤端點回應時間隨時間的變化。
資料湖查詢
| code language-sql |
|---|
|
範例
| code language-sql |
|---|
|
此查詢會分析已節流端點的佇列等待時間,顯示第50和第95個百分位數的等待時間,以協助您瞭解節流對自訂動作的影響。
資料湖查詢
| code language-sql |
|---|
|
範例
| code language-sql |
|---|
|
此查詢提供佇列等待時間百分比作為時間序列,可讓您監視節流如何影響每個端點在一段時間內的等待時間。
資料湖查詢
| code language-sql |
|---|
|
範例
| code language-sql |
|---|
|
此查詢提供特定端點的詳細錯誤劃分,按錯誤型別和錯誤代碼分組,包括重試嘗試的相關資訊。
資料湖查詢
| code language-sql |
|---|
|
範例
| code language-sql |
|---|
|