監視 StreamInsight 效能計數器和事件

 

您現在可以使用現有的診斷基礎結構搭配效能監視器和事件檢視器,監視及疑難排解 StreamInsight 處理與查詢。

StreamInsight 會安裝並設定效能計數器。 您可以使用效能監視器或其他監視工具來監視這些計數器。

效能計數器可用於下列 StreamInsight 物件:

  • 伺服器

  • 查詢

  • 輸入配接器

  • 恢復功能

設定效能計數器

當您安裝 StreamInsight 時,會一併安裝並設定效能計數器。 此安裝選項無法設定。

伺服器類別目錄中的計數器預設為開啟狀態,而且無法關閉。 查詢和輸入配接器類別目錄中的計數器預設則為關閉。 當您開啟查詢的計數器時,也會開啟相關聯之輸入配接器的計數器。 當您重新啟動 StreamInsight 的執行個體時,系統會還原這些預設行為。

如何開啟單一查詢的計數器

您可以透過在對 Server.SetDiagnosticSettings 的呼叫中啟用新 Aspect 來開啟特定查詢及其相關聯之輸入配接器的計數器。

例如,您可以使用下列程式碼開啟 URI 為 cep:/Server/Application/MyApp/Query/MyQuery 之查詢的效能計數器。

DiagnosticSettings settings = server.GetDiagnosticSettings(new Uri(“cep:/Server/Application/MyApp/Query/MyQuery”);  
Settings.Aspects |= DiagnosticAspect.PerformanceCounters;  
server.SetDiagnosticSettings(new Uri(“cep:/Server/Application/MyApp/Query/MyQuery”), settings);  
  

您可以使用下列程式碼關閉相同查詢的效能計數器。

DiagnosticSettings settings = server.GetDiagnosticSettings(new Uri(“cep:/Server/Application/MyApp/Query/MyQuery”);  
Settings.Aspects & ~DiagnosticAspect.PerformanceCounters;  
server.SetDiagnosticSettings(new Uri(“cep:/Server/Application/MyApp/Query/MyQuery”), settings);  
  

如何開啟所有查詢的計數器

您也可以使用 foreach 迴圈,在某個應用程式中開啟所有查詢與輸入配接器的效能計數器。

foreach (var q in application.Queries)  
   {  
       DiagnosticSettings settings = server.GetDiagnosticSettings(q.Value.Name);  
       settings.Aspects |= DiagnosticAspect.PerformanceCounters;  
       server.SetDiagnosticSettings(q.Value.Name, settings);  
   }  

如需有關前述程式碼範例中使用之類別和方法的詳細資訊,請參閱下列主題:

本主題內容

效能計數器清單

命名慣例

系統會根據下列公式,縮短長度大於 16 個字元的字串,例如應用程式名稱:first 10 characters + 2 periods + last 4 characters

在以下所述的特定命名慣例中,uniqueid 指的是物件在執行階段的識別碼。

伺服器計數器

伺服器執行個體的命名慣例:%PROCESSNAME%[uniqueid],其中 %PROCESSNAME% 是裝載處理序的名稱。

名稱說明
Events in input queues所有查詢之輸入佇列中的事件數目。
Events in output queues所有查詢之輸出佇列中的事件數目。
Memory用於所有資料流、事件與運算子索引的記憶體總計 (位元組)。
Running queries目前執行中的查詢數目。

查詢計數器

查詢執行個體的命名慣例:%APPLICATION NAME%,%QUERY NAME%[uniqueid],%SERVER_INSTANCE_NAME%,其中 %SERVER_INSTANCE_NAME% 是查詢所屬伺服器的執行個體名稱。

名稱說明
Average produced event latency查詢每秒產生之事件的平均延遲 (毫秒)。
CTIs produced產生的 CTI 數目。
Events in output queue輸出佇列中的事件數目。
Events produced產生的事件數目。
Memory所使用的記憶體總計 (位元組),包括事件、索引和資料流。
Produced events/sec每秒產生的事件數目。

輸入配接器計數器

配接器執行個體的命名慣例:%APPLICATION NAME%,%QUERY NAME%,%ADAPTER NAME%[uniqueid],%SERVER_INSTANCE_NAME%

名稱說明
Adjusted events根據 AdvanceTimeSettings 原則調整其暫時中繼資料的事件數目。
CTIs input傳送至輸入佇列的 CTI 數目。
Dropped events根據 AdvanceTimeSettings 原則卸除的事件數目。
Events in input queue輸入佇列 (包括 CTI) 中的事件數目。
Incoming events/sec配接器每秒所接收的事件數目。
Resumes/sec每秒轉換成執行中狀態的狀態轉換數目。
Suspensions/sec每秒轉換成已暫停狀態的狀態轉換數目。
Total events enqueued加入佇列的事件數目。

本主題內容

效能計數器可以如何協助我?

以下是幾個狀況範例,在這些狀況下,效能計數器可以協助您了解、監視以及疑難排解 StreamInsight 應用程式:

  • 伺服器狀況

    • 記憶體使用量: 除了主機應用程式之外,有多少內嵌的 StreamInsight 執行個體?

    • 容量計畫: 在效能降低之前,我可以在這部伺服器上執行多少查詢?

    • 事後檢討分析: 伺服器當機時,有多少查詢正在執行中?

  • 查詢狀況

    • 輸送量監視: 瓶頸在哪裡?

    • 延遲監視。

本主題內容

StreamInsight 會將事件記錄到 Windwos 應用程式事件記錄檔。 您可以使用事件檢視器或其他監視工具檢閱這個記錄檔。 記錄的事件可以協助您監視狀態變更,並疑難排解 StreamInsight 應用程式中可能發生的異常。

系統會透過下列 StreamInsight 物件記錄事件:

  • 伺服器

  • 查詢

設定管理記錄

管理記錄預設為開啟狀態。 您可以關閉管理記錄,並僅在 StreamInsight 執行個體層級 (cep:/Server/) 開啟。

如何關閉管理記錄

DiagnosticSettings settings = server.GetDiagnosticSettings(new Uri("cep:/Server/"));  
settings.Aspects &= ~DiagnosticAspect.AdminLog;  
server.SetDiagnosticSettings(new Uri("cep:/Server/"), settings);  

如何開啟管理記錄

DiagnosticSettings settings = server.GetDiagnosticSettings(new Uri("cep:/Server/"));  
settings.Aspects |= DiagnosticAspect.AdminLog;  
server.SetDiagnosticSettings(new Uri("cep:/Server/"), settings);  

本主題內容

管理事件清單

下表列出您在事件記錄檔中可能會看到的事件。

所有 StreamInsight 管理事件的來源都是 StreamInsight

查詢事件

符號事件識別碼層級訊息參數
QueryInitializing11001資訊查詢 {0} 正在初始化。查詢 URI
QueryRunning11002資訊查詢 {0} 正在執行。查詢 URI
QueryCheckpointing11003資訊查詢 [0} 正在進行檢查點檢查。查詢 URI
QueryStopping11004資訊查詢 {0} 正在停止。查詢 URI
QuerySuspended11005資訊查詢 {0} 已暫停。查詢 URI
QueryCompleted11006資訊查詢 {0} 已完成。查詢 URI
QueryAborted11007警告查詢 {0} 已中止。查詢 URI
QueryStopped11008資訊查詢 {0} 已停止。查詢 URI
QueryError11500警告查詢 {0} 發生例外狀況。 例外狀況詳細資料: {1}查詢 URI、例外狀況訊息。
QueryRecoveryError11501錯誤查詢 {0} 在復原期間發生例外狀況。 例外狀況詳細資料: {1}查詢 URI、例外狀況訊息。
QueryCheckpointError11502錯誤查詢 {0} 在檢查點檢查期間發生例外狀況。 例外狀況詳細資料: {1}查詢 URI、例外狀況訊息。

伺服器事件

符號事件識別碼層級訊息參數
ServerCreated1000資訊伺服器已建立。
ServerDisposed1001資訊伺服器已處置。

本主題內容

顯示: