我仔细查看了Tailspin Surveys sample中的Wasabi自动缩放块。在TenantCountOperandElement类中实现了Tailspin_TenantCount_Avg_10m规则,该类提供了一个用于收集数据的TenantCountDataPointsCollector类实例。
后者有
public IEnumerable<DataPoint> Collect(DateTimeOffset collectionTime)方法,执行度量数据的实际检索。该方法由Wasabi块调用。
该方法被调用的频率是多少?
发布于 2012-02-21 10:24:02
在编写自定义操作数时,您可以指定希望Collect方法被调用的频率。Wasabi将检查IDataPointsCollection.SamplingRate属性(由您的收集器实现)。
这可能是开发人员将拥有的知识(因为他更清楚什么时候可以收集新数据),但是您也可以让这个参数在XML中被明确指定(尽管我不建议在生产中这样做)。
您甚至可以根据聚合函数中使用的时间跨度来推导此采样率,因此,例如,如果操作数对最近2小时的数据进行平均,则每2分钟对数据进行采样可能是过度杀伤力。
发布于 2012-01-29 08:24:59
Collect方法的调用周期由数据收集器上的SamplingRate属性控制。
此间隔最终由操作数在创建IDataPointsCollector时传递。在XML中指定的Operand元素可以始终应用timespan属性。因此,例如,我可以使用simething like定义上面列出的操作数,时间跨度更短。
<rules ...>
...
<operands>
<tenantCountOperand alias="Tailspin_TenantCount_Avg_2m" timespan="00:2:00"
aggregate="Average" xmlns="http://Tailspin/TenantCount" />
</operands>
</rules>https://stackoverflow.com/questions/9016908
复制相似问题