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

相关推荐
Tairitsu_H3 分钟前
[C++] C++11新增构造:列表初始化和std::initializer_list
开发语言·c++·c++11·构造
宣宣猪的小花园.6 分钟前
【嵌入式】故障与降级:看门狗、保护机制和工程可靠性的底线
开发语言·人工智能·嵌入式硬件·机器学习
shmily麻瓜小菜鸡13 分钟前
JS/TS 易踩坑知识点 — 自动分号插入(ASI)
开发语言·javascript·ecmascript
CoderYanger17 分钟前
前端基础——JavaScript(WebAPI)代码案例
java·开发语言·前端·javascript·css·前端框架·html5
geovindu19 分钟前
CSharp: Task Scheduler
开发语言·后端·c#·.net·.netcore
qq_4017004122 分钟前
Qt窗体大小控制从resize到自适应
开发语言·qt
半亩码田30 分钟前
C#转Python第4.5篇:单元测试:pytest vs xUnit/NUnit
python·单元测试·c#
fengkai454531 分钟前
七、华为云网络综合实验 & 运维类及其他服务总结
服务器·开发语言·php
PHP实战开发录33 分钟前
PHP日志写满磁盘后接口为什么异常
开发语言·系统架构·php·开发
重生之小比特38 分钟前
【Java SE】程序逻辑控制
java·开发语言·python