性能日志记录库

6

我希望通过记录业务事件来监控我的应用程序的性能。我正在寻找类似于log4net或其他日志记录库,但专为性能/健康监测而设计的东西。

我的目标是使用性能计数器发布这些业务事件,但我真的不想在代码中添加性能计数器代码。就像log4net将日志记录抽象出来一样,是否存在将性能/健康监测抽象为其自己的库的现有库?


你能解释一下你在性能计数器方面遇到了什么问题吗?当你想要在Windows操作系统上发布性能/健康事件时,它们是首选的方式,并且它们在.NET中完全可用。 - Simon Mourier
我希望有一个现有的库可以将其抽象出来,这样我就不必将我的代码与性能计数器耦合在一起了。 - Books
使用一些AOP工具,例如PostSharp。 - CodesInChaos
1个回答

8

你一定要尝试使用Gibraltar。你可以将其与PostSharp结合使用,这样你的性能监控就会变得非常容易。只需查看以下代码示例:

    [GTrace]
    public Connection ConnectToServer(Server server)
    {
        ConnectionStatus connectionStatus = server.TryConnect();
        return connectionStatus;
    }

以下是日志中的结果:

开始方法调用(您可以看到传递的参数) alt text

结束方法调用

alt text

代码中没有垃圾,您只需要一个属性。 属性可用于整个项目,不包括不需要的方法,在命名空间,类或任何需要的方法上。享受吧!

编辑 忘记提到 Gibraltar 有非常丰富的客户端和支持任何您需要的度量标准,它太强大了: alt text


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接