关于.net性能监控,欢迎讨论
本处指的性能监控,指的是业务点无须写任何处理,全部在框架处实现,比如框架调用了一个虚方法,由业务点实现,重现时里面可能调用了好几个方法,我们要做的是,得到所有方法的调用堆栈以及各自的时间。这个刚好跟StackTrace是反过来的,StackTrace是在方法调用栈的最内层,而我的需求是在最外层,请问有无好的办法,或者有成熟的开源框架,请指点一二! --------------------编程问答-------------------- 其实,就是想实现类似dottrace的功能,但是是用aop形式注入到框架中的的,这样我就可以监控系统的性能,知道哪些方法慢了 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- mono.cecil --------------------编程问答-------------------- 静态注入 http://www.cnblogs.com/whitewolf/archive/2011/07/26/2117661.html
//AssemblyDefinition assembly = AssemblyDefinition.ReadAssembly(@"D:\yaleshi\yaleshi\winform\2013年6月28日1\2013年6月28日1\bin\Debug\2013年6月28日1.exe");
//var types = assembly.Modules[0].Types;
//MethodDefinition methodDefault;
//foreach (var type in types)
//{
// methodDefault = type.Methods.FirstOrDefault(m => m.Name == "Test");
// var method = type.Methods.FirstOrDefault(m => m.Name == "Main");
// if (method != null)
// {
// var instructions = method.Body.Instructions;
// ILProcessor il = method.Body.GetILProcessor();
// Instruction call = il.Create(OpCodes.Call, methodDefault);
// // il.InsertBefore(method.Body.Instructions[0], ldstr);
// il.InsertAfter(method.Body.Instructions[0], call);
// }
//}
//assembly.Write(@"D:\yaleshi\yaleshi\winform\2013年6月28日1\2013年6月28日1\bin\Debug\2013年6月28日1.exe"); --------------------编程问答-------------------- using Mono.Cecil;
补充:.NET技术 , .NET技术前瞻