監視 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

查詢事件

符號

事件識別碼

層級

訊息

參數

QueryInitializing

11001

資訊

查詢 {0} 正在初始化。

查詢 URI

QueryRunning

11002

資訊

查詢 {0} 正在執行。

查詢 URI

QueryCheckpointing

11003

資訊

查詢 [0} 正在進行檢查點檢查。

查詢 URI

QueryStopping

11004

資訊

查詢 {0} 正在停止。

查詢 URI

QuerySuspended

11005

資訊

查詢 {0} 已暫停。

查詢 URI

QueryCompleted

11006

資訊

查詢 {0} 已完成。

查詢 URI

QueryAborted

11007

警告

查詢 {0} 已中止。

查詢 URI

QueryStopped

11008

資訊

查詢 {0} 已停止。

查詢 URI

QueryError

11500

警告

查詢 {0} 發生例外狀況。例外狀況詳細資料: {1}

查詢 URI、例外狀況訊息。

QueryRecoveryError

11501

錯誤

查詢 {0} 在復原期間發生例外狀況。例外狀況詳細資料: {1}

查詢 URI、例外狀況訊息。

QueryCheckpointError

11502

錯誤

查詢 {0} 在檢查點檢查期間發生例外狀況。例外狀況詳細資料: {1}

查詢 URI、例外狀況訊息。

伺服器事件

符號

事件識別碼

層級

訊息

參數

ServerCreated

1000

資訊

伺服器已建立。

ServerDisposed

1001

資訊

伺服器已處置。

[回到頂端]