1

Wasabi 自動スケーリング ブロックのTailspin Surveys サンプルを注意深く調べました。データを収集するためのクラス インスタンスを提供するクラスでTailspin_TenantCount_Avg_10m実装されるルールがあります。TenantCountOperandElementTenantCountDataPointsCollector

後者は

public IEnumerable<DataPoint> Collect(DateTimeOffset collectionTime)

メトリック データの実際の取得を行うメソッド。このメソッドは、Wasabi ブロックによって呼び出されます。

そのメソッドはどのくらいの頻度で呼び出されますか?

4

2 に答える 2

2

カスタム オペランドを記述する場合、Collect メソッドを呼び出す頻度を指定するのはユーザーです。Wasabi は IDataPointsCollection.SamplingRate プロパティをチェックします (コレクターによって実装されます)。

これはおそらく開発者が持っている知識ですが (新しいデータがいつ収集できるようになるかは開発者の方がよく知っているため)、このパラメーターを XML で明示的に指定することもできます (本番環境ではお勧めしませんが)。

集計関数で使用されるタイムスパンに応じて、このサンプリング レートを導出することもできます。たとえば、オペランドが過去 2 時間のデータの平均を計算する場合、2 分ごとにデータをサンプリングするのはやり過ぎかもしれません。

于 2012-02-21T02:24:01.787 に答える
0

Collectメソッドの呼び出し期間、つまり Wasabi がIDataPointsCollectorを呼び出す期間は、データ コレクターのSamplingRateプロパティによって管理されます。

この間隔は、 IDataPointsCollectorを作成するときに最終的にOperandによって渡されます。XML で指定するOperand要素には、常にtimespan属性を適用できます。したがって、たとえば、上記のオペランドを simething を使用して短いタイムスパンで定義できます。

<rules ...>
  ...
  <operands>
    <tenantCountOperand alias="Tailspin_TenantCount_Avg_2m" timespan="00:2:00" 
       aggregate="Average" xmlns="http://Tailspin/TenantCount" />
  </operands>
</rules>
于 2012-01-29T00:24:59.117 に答える