一个监控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商城开源项目

相关推荐
cspttty15 分钟前
2027风险管理岗准备路线:数学与应用数学如何补齐金融、SQL与Python
开发语言·python·金融
我命由我1234520 分钟前
Python 开发 - Python 的 pathlib
java·开发语言·后端·python·学习·java-ee·学习方法
严谨的麻辣烫1 小时前
Python HTTP 连接池怎么用?从连接复用到请求异常排查
开发语言·python·http·requests·网络排查
码林鼠1 小时前
flutter状态管理入门教程-Riverpod
开发语言·javascript·flutter
system_error_x1 小时前
C++ 编程基础入门教程
开发语言·c++
Amos_Web2 小时前
Markdonw语法
开发语言·前端·javascript
Wang's Blog2 小时前
Java 项目实战: 交友项目 - 回顾和今日内容介绍
java·开发语言·交友
初心未改HD2 小时前
DSH Skill开发实战:SKILL.md是给LLM看的操作手册,不是给人看的README,踩了4个坑
java·大数据·开发语言
Wang's Blog3 小时前
Java 项目实战: 交友项目 - SpringData-Mongo 环境搭建和 CRUD
java·开发语言·交友
凯瑟琳.奥古斯特3 小时前
动态调优IoU提升OCR文本合并精度
开发语言·python·算法