Interface ILmesMetrics
- Namespace
- CMS.Plugin.MesSuite.Abstractions
- Assembly
- CMS.Plugin.MesSuite.Abstractions.dll
Lmes 计量 指标是一段时间内报告的数字度量值,可以定期向监视系统报告这些指标。 查看指标:dotnet-counters monitor -n CMS.Host.exe --counters LMES
public interface ILmesMetrics
Remarks
选择检测类型时的最佳做法: 1、针对事物计数或在一段时间内简单增加的任何其他值,请使用 Counter 或 ObservableCounter。 要在 Counter 和 ObservableCounter 之间进行选择,具体要考虑其中哪一个更容易添加到现有代码中:是对每个增量操作的 API 调用,还是从代码维护的变量中读取当前总计数的回调。 在性能非常重要的极热代码路径中,使用 Add 会为每个线程每秒创建超过一百万个调用,使用 ObservableCounter可能会更有机会进行优化。 2、对于涉及计时的情况,通常首选的是 Histogram。 通常,了解这些分布(90%、95% 和 99%)的尾部值比了解平均值或总计数更有用。 3、其他常见的情况(例如缓存命中率或缓存大小、队列和文件)则一般适合 UpDownCounter 或 ObservableUpDownCounter。 要在它们之间进行选择,具体要考虑其中哪一个更容易添加到现有代码中:是对每个增量和减量操作的 API 调用,还是从代码维护的变量中读取当前值的回调。
Methods
CheckEnabled(string)
检测是否启用
bool CheckEnabled(string name)
Parameters
name
stringThe name.
Returns
Counter(string, double, TagList, string, string)
Counters the specified name.
Counter<double> Counter(string name, double quantity, TagList tags, string unit = null, string description = null)
Parameters
name
stringThe name.
quantity
doubleThe quantity.
tags
TagListThe tags.
unit
stringThe unit.
description
stringThe description.
Returns
Counter(string, double, string, string)
Counters the specified name.
Counter<double> Counter(string name, double quantity, string unit = null, string description = null)
Parameters
name
stringThe name.
quantity
doubleThe quantity.
unit
stringThe unit.
description
stringThe description.
Returns
Counter(string, string, string)
此检测跟踪随时间增加的值,并且调用方使用 Add 来报告增量。
Counter<double> Counter(string name, string unit = null, string description = null)
Parameters
name
stringThe instrument name. Cannot be null />.
unit
stringOptional instrument unit of measurements.
description
stringOptional instrument description.
Returns
Remarks
大多数工具将计算总计数和总计数中的变化率。 对于仅显示一项内容的工具,建议显示变化率。 例如,假定调用方每秒调用一次 Add(),使用的值依次为 1、2、4、5、4、3。 如果集合工具每三秒钟更新一次,则三秒后的总计数为 1 + 2 + 4 = 7,六秒后的总计数为 1 + 2 + 4 + 5 + 4 + 3 = 19。 变化率是 (current_total - previous_total),因此在三秒后,该工具报告 7-0 = 7,而在六秒钟后,该工具会报告 19-7 = 12。
Disable(string)
禁用
void Disable(string counterName = null)
Parameters
counterName
stringName of the counter.
Enable(string)
启用
void Enable(string counterName = null)
Parameters
counterName
stringName of the counter.
Histogram(string, double, TagList, string, string)
Histograms the specified name.
Histogram<double> Histogram(string name, double quantity, TagList tags, string unit = null, string description = null)
Parameters
name
stringThe name.
quantity
doubleThe quantity.
tags
TagListThe tags.
unit
stringThe unit.
description
stringThe description.
Returns
Histogram(string, double, string, string)
Histograms the specified name.
Histogram<double> Histogram(string name, double quantity, string unit = null, string description = null)
Parameters
name
stringThe name.
quantity
doubleThe quantity.
unit
stringThe unit.
description
stringThe description.
Returns
Histogram(string, string, string)
此检测跟踪度量值的分布情况,并没有单一的规范方法来描述一组测量,但建议使用直方图或计算百分比工具。
Histogram<double> Histogram(string name, string unit = null, string description = null)
Parameters
Returns
Remarks
例如,假设调用方调用 Record 来在集合工具的更新间隔期间记录这些度量值:1、5、2、3、10、9、7、4、6、8。 集合工具可能会报告这些度量值的 50%、90% 和 95%分别为 5、9 和 9。
Meter()
计量
Meter Meter()
Returns
ObservableCounter(string, Func<IEnumerable<Measurement<double>>>, string, string)
Observables the counter.
ObservableCounter<double> ObservableCounter(string name, Func<IEnumerable<Measurement<double>>> observeValue, string unit = null, string description = null)
Parameters
name
stringThe name.
observeValue
Func<IEnumerable<Measurement<double>>>The observe value.
unit
stringThe unit.
description
stringThe description.
Returns
ObservableCounter(string, Func<double>, string, string)
此检测类似于 Counter,只不过调用方现在负责维护聚合的总计数。
ObservableCounter<double> ObservableCounter(string name, Func<double> observeValue, string unit = null, string description = null)
Parameters
name
stringThe name.
observeValue
Func<double>The observe value.
unit
stringThe unit.
description
stringThe description.
Returns
Remarks
当创建 ObservableCounter 时,调用方会提供回调委托,并在每次工具需要观察当前总计数时调用回调。 例如,如果集合工具每三秒钟更新一次,则会每三秒调用一次回调函数。 大多数工具都提供总计数以及总计数中的变化率。 如果只能显示一个,则建议显示变化率。 如果回调在初次调用时返回 0,三秒后再次调用时返回 7,六秒后调用时返回 19,则该工具会将这些值按原样报告为总计数。 对于变化率,此工具将在三秒钟后显示 7 - 0 = 7,并在六秒钟后显示 19 -7 = 12。
ObservableGauge(string, Func<IEnumerable<Measurement<double>>>, string, string)
Observables the gauge.
ObservableGauge<double> ObservableGauge(string name, Func<IEnumerable<Measurement<double>>> observeValue, string unit = null, string description = null)
Parameters
name
stringThe name.
observeValue
Func<IEnumerable<Measurement<double>>>The observe value.
unit
stringThe unit.
description
stringThe description.
Returns
ObservableGauge(string, Func<double>, string, string)
此检测允许调用方提供一个回调,其中将度量值直接作为指标传递。
ObservableGauge<double> ObservableGauge(string name, Func<double> observeValue, string unit = null, string description = null)
Parameters
name
stringThe name.
observeValue
Func<double>The observe value.
unit
stringThe unit.
description
stringThe description.
Returns
Remarks
每次集合工具更新时,都会调用回调,并且回调返回的任何值都会显示在该工具中。
ObservableUpDownCounter(string, Func<IEnumerable<Measurement<double>>>, string, string)
Observables up down counter.
ObservableUpDownCounter<double> ObservableUpDownCounter(string name, Func<IEnumerable<Measurement<double>>> observeValue, string unit = null, string description = null)
Parameters
name
stringThe name.
observeValue
Func<IEnumerable<Measurement<double>>>The observe value.
unit
stringThe unit.
description
stringThe description.
Returns
ObservableUpDownCounter(string, Func<double>, string, string)
此检测类似于 UpDownCounter,只不过调用方现在负责维护聚合的总计数。
ObservableUpDownCounter<double> ObservableUpDownCounter(string name, Func<double> observeValue, string unit = null, string description = null)
Parameters
name
stringThe name.
observeValue
Func<double>The observe value.
unit
stringThe unit.
description
stringThe description.
Returns
Remarks
当创建 ObservableUpDownCounter 时,调用方会提供回调委托,并在每次工具需要观察当前总计数时调用回调。 例如,如果集合工具每三秒钟更新一次,则会每三秒调用一次回调函数。 回调返回的任何值都将在收集工具中按原样显示为总计数。
UpDownCounter(string, double, TagList, string, string)
Ups down counter.
UpDownCounter<double> UpDownCounter(string name, double quantity, TagList tags, string unit = null, string description = null)
Parameters
name
stringThe name.
quantity
doubleThe quantity.
tags
TagListThe tags.
unit
stringThe unit.
description
stringThe description.
Returns
UpDownCounter(string, double, string, string)
Ups down counter.
UpDownCounter<double> UpDownCounter(string name, double quantity, string unit = null, string description = null)
Parameters
name
stringThe name.
quantity
doubleThe quantity.
unit
stringThe unit.
description
stringThe description.
Returns
UpDownCounter(string, string, string)
此检测跟踪可能随时间增加或减少的值,并且调用方使用 Add 来报告增量和减量。
UpDownCounter<double> UpDownCounter(string name, string unit = null, string description = null)
Parameters
name
stringThe instrument name. Cannot be null />.
unit
stringOptional instrument unit of measurements.
description
stringOptional instrument description.
Returns
Remarks
例如,假定调用方每秒调用一次 Add(),使用的值依次为 1、5、-2、3、-1、-3。 如果集合工具每三秒钟更新一次,则三秒后的总计数为 1+5-2=4,六秒后的总计数为 1+5-2+3-1-3=3。