.net应用监控类库Metrics.NET之度量指标

Metrics.NET库提供了五种可以记录的度量类型:

  • Meters 记录事件发生的频率
  • Histograms 度量流式数据中值的分布情况
  • Timers 保持一种事件时间持续的直方图,并记录其发生的频率
  • Counters 64位整数,可以递增或递减
  • Gauges 瞬时值

可以使用Metrics命名空间中的Metric静态类提供的方法来创建和注册度量。度量可以根据上下文分组,还可以应用标签。有关详细信息,请参阅《Grouping & Organizing Metrics》。

using Metrics;
...
    // metrics registered in the global context
    Timer timer = Metric.Timer("Requests",Unit.Requests);
    Counter counter = Metric.Counter("Active Requests", Unit.Requests);
    Meter meter = Metric.Meter("Errors", Unit.Errors);
    Histogram histogram = Metric.Histogram("Results", Unit.Items);

    // timer registered in the context named "Biling"
    Timer timerInContext = Metric.Context("Biling").Timer("Biling Operations", Unit.Commands);
...

静态Metric类只是全局度量上下文的一个包装。

相同类型和相同上下文的度量必须具有唯一的名称。不同类型或不同上下文的度量可以具有相同的名称。

当调用方法来注册一个度量时,如果当前上下文中经存在相同名称的度量,那么将返回已有的度量。下面的示例只会在全局上下文中创建一个名为“Requests”的计时器实例:

using(Metric.Timer("Requests",Unit.Requests).NewContext())
{ // do some processing }
using(Metric.Timer("Requests",Unit.Requests).NewContext())
{ // do some processing }
using(Metric.Timer("Requests",Unit.Requests).NewContext())
{ // do some processing }

在大多数情况下,除非另外需要,否则建议您使用以下代码来创建私有静态只读实例:

public class SampleOperation
{
    private static readonly Timer operationsTimer = 
        Metric.Timer("Operations",Unit.Requests);

    private static readonly Meter operationErrors = 
        Metric.Errors("Operation Errors",Unit.Errors);

    // rest of implementation
}
译自:https://github.com/Recognos/Metrics.NET/wiki/Available-Metrics

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值