Wasabi阻止Azure扩展收集数据的频率如何?

时间:2012-01-26 10:40:25

标签: .net windows azure scaling wasabi

我仔细查看了Tailspin Surveys sample的Wasabi自动调节块。在Tailspin_TenantCount_Avg_10m类中实现了TenantCountOperandElement规则,该规则又提供了用于收集数据的TenantCountDataPointsCollector类实例。

后者有

public IEnumerable<DataPoint> Collect(DateTimeOffset collectionTime)

实际检索度量标准数据的方法。该方法由Wasabi块调用。

调用该方法的频率是多少?

2 个答案:

答案 0 :(得分:2)

编写自定义操作数时,您可以指定调用Collect方法的频率。 Wasabi将检查IDataPointsCollection.SamplingRate为此(由收集器实现)。

这可能是开发人员所拥有的知识(因为他可以更好地了解何时可以收集新数据),但您也可以在XML中明确指定此参数(尽管我不建议在生产)。

您甚至可以根据聚合函数中使用的时间长度来推导此采样率,因此,例如,如果操作数平均处理最后2小时的数据,则每次采样数据可能过于苛刻2分钟。

答案 1 :(得分:0)

Collect 方法的调用期,即当Wasabi将调用 IDataPointsCollector 时,由 SamplingRate 属性控制数据收集器。

当创建 IDataPointsCollector 时,操作数最终会传递此间隔。您在XML中指定的 Operand 元素始终可以应用 timespan 属性。因此,例如,我可以使用像simething这样的更短的时间跨度来定义上面列出的操作数。

<rules ...>
  ...
  <operands>
    <tenantCountOperand alias="Tailspin_TenantCount_Avg_2m" timespan="00:2:00" 
       aggregate="Average" xmlns="http://Tailspin/TenantCount" />
  </operands>
</rules>