c#异常强大的统计运行时间功能,一行代码,监控 C# 方法执行耗时
2023-12-13 21:48:10
MethodTimer.Fody
MethodTimer.Fody 是一个功能强大的库,可以用于测量 .NET 应用程序中的方法的执行时间。
它使用 Fody 插件框架可以无缝集成到您的项目中,所以向代码中添加性能测量功能变得非常容易。
如何使用
首先,需要安装 Nuget 包,如下
PM>?Install-Package?Fody
PM>?Install-Package?MethodTimer.Fody
接下来,在我们的代码中的方法上加上 Time 特性,如下
public?class?MyClass
{
????[Time]
????public?void?Hello()
????{?
????????Console.WriteLine("Hello");
????}
}
完整代码,如下
using?MethodTimer;
new?MyClass().Hello();?
Console.ReadKey();
public?class?MyClass
{
????[Time]
????public?void?Hello()
????{?
????????Console.WriteLine("Hello");
????}?
}
运行程序后,可以在输出窗口查看方法的执行耗时
这真的非常简单和方便。
还可以把 Time 特性直接添加到 Class 上,如下
using?MethodTimer;
var?cs?=?new?MyClass();
cs.Hello();
cs.World();
Console.ReadKey();
[Time]
public?class?MyClass
{?
????public?void?Hello()
????{?
????????Console.WriteLine("Hello");
????}
????public?void?World()
????{
????????Console.WriteLine("World");
????}
}?
运行程序后,可以输出每个方法的执行耗时。
实际上,在代码中添加了 Time 特性以后,Fody 会自动生成下面的代码:
public?class?MyClass
{
????public?void?Hello()
????{
????????var?stopwatch?=?Stopwatch.StartNew();
????????try
????????{?
????????????Console.WriteLine("Hello");
????????}
????????finally
????????{
????????????stopwatch.Stop();
????????????Trace.WriteLine("MyClass.Hello?"?+?stopwatch.ElapsedMilliseconds?+?"ms");
????????}
????}
}
如果您想手动处理日志记录,可以定义一个静态类来拦截日志记录,如下
public?static?class?MethodTimeLogger
{
????public?static?void?Log(MethodBase?methodBase,?long?milliseconds,?string?message)
????{
????????Console.WriteLine($"方法名:{methodBase.Name}??耗时:{milliseconds}");
????}
}
运行程序后,输出了执行方法和耗时
?
文章来源:https://blog.csdn.net/weijia3624/article/details/134982071
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!