一个监控C#方法运行耗时开源库

在项目开发中,我们经常需要监控某些方法的运行耗时,找出性能问题的所在地方。今天给大家,推荐一个用来统计C#方法运行耗时的开源库。

01 项目简介

一个轻量级.Net库,用于对.NET应用程序中的方法执行时间进行测量和分析,可以轻松集成到现有的.NET应用程序中。

提供了高精度的计时功能,可以准确地测量方法的执行时间,同时运行自定义标签,便于更好的识别方法。

02 使用方法

1、添加依赖库

复制代码
PM> Install-Package Fody
PM> Install-Package MethodTimer.Fody

2、耗时拦截器记录方法

支持两种拦截器方式:

2.1 格式:TimeSpan

复制代码
public static class MethodTimeLogger1
{
    public static void Log(MethodBase methodBase, TimeSpan elapsed, string message)
    {
        Console.WriteLine($"方法:{methodBase.Name} 耗时:{elapsed}, 信息:{message}");
    }
}

2.2 格式:long(毫秒)

复制代码
public static class MethodTimeLogger1
{
    public static void Log(MethodBase methodBase, long milliseconds, string message)
    {
        Console.WriteLine($"方法:{methodBase.Name} 耗时:{milliseconds}秒, 信息:{message}");
    }
}

3、使用示例

完整示例代码如下:

复制代码
using MethodTimer;
using System.Reflection;

//执行
var testClass = new TestClass();
testClass.MonitorMethod();

//监控方法
public class TestClass
{
    [Time("测试日志")]
public void MonitorMethod()
    {
        Console.WriteLine("执行完毕!");
    }
}

//拦截器
public static class MethodTimeLogger
{
    public static void Log(MethodBase methodBase, TimeSpan elapsed, string message)
    {
        Console.WriteLine($"方法:{methodBase.Name} 耗时:{elapsed}, 信息:{message}");
    }
}

运行效果:

03 项目地址

https://github.com/Fody/MethodTimer

  • End -

推荐阅读

5个基于.Net Core值得推荐的CMS开源项目

盘点5个C#开发的、可用于个人博客的系统

一个基于.Net Core+Vue+Element Ui开发的OA系统

盘点3个.Net开发的WMS仓库管理系统

5个yyds的.Net商城开源项目

相关推荐
唐青枫8 小时前
别再乱用 StartNew:C#.NET TaskFactory 任务调度实战详解
c#·.net
Artech16 小时前
[MAF预定义的AIContextProvider-03]ChatHistoryMemoryProvider——赋予Agent从经验中学习的能力
ai·c#·agent·memory·maf
Scout-leaf2 天前
C#摸鱼实录——IoC与DI案例详解
c#
咕白m6252 天前
使用 C# 在 Excel 中应用多种字体样式
后端·c#
Artech3 天前
[MAF预定义的AIContextProvider-02]AgentSkillsProvider——将Agent Skills引入MAF
ai·c#·agent·agent skills·maf
LDR0063 天前
Type-C 快充全面升级!LDR6601 赋能个人护理便携电机,重塑剃须刀 / 理发器新体验
c语言·开发语言
雪碧聊技术3 天前
Tree.js是什么?一文讲透
开发语言·javascript·ecmascript
码云数智-园园3 天前
C++20 Modules 模块详解
java·开发语言·spring
swordbob3 天前
NIO的channel中什么是 fd(File Descriptor,文件描述符)
java·开发语言·nio
源分享3 天前
Java线程同步的多种实现方法(非常详细)
java·开发语言·jvm