PostSharp 是分析生产中运行的代码的好方法吗?
Posted
技术标签:
【中文标题】PostSharp 是分析生产中运行的代码的好方法吗?【英文标题】:Is PostSharp a good way to profile code running in production? 【发布时间】:2010-01-22 00:56:51 【问题描述】:我想针对一些在测试和生产中运行的服务运行分析代码。我的计划是使用 PostSharp 来实现一个看起来像
的类 public class TimerAttribute : OnMethodBoundaryAspect
//some data members
//...
public override void OnEntry(MethodExecutionEventArgs eventArgs)
//write method entry time to file
public override void OnExit(MethodExecutionEventArgs eventArgs)
//write method exit time to file
在我走得太远之前,我应该注意哪些潜在的陷阱?这些方法的广泛使用(即仅在 assemblyinfo 中添加一行)会导致严重的(就时序数据的有效性而言)性能问题?
【问题讨论】:
【参考方案1】:对于性能检测,您应该了解方面的开销。这种开销在 PostSharp 的早期版本中很重要,但在 PostSharp 2.0 中得到了极大的改进。
关于您的代码,我发现写入文件的速度可能很慢并且线程不安全。当然,这实际上取决于您的背景和目标。
性能计数器可能是一个不错的选择。
【讨论】:
以上是关于PostSharp 是分析生产中运行的代码的好方法吗?的主要内容,如果未能解决你的问题,请参考以下文章
清洁代码之道:一份实用关于如何编写和维护干净整洁的好代码的的方法 The Art Of Clean Code...
清洁代码之道:一份实用关于如何编写和维护干净整洁的好代码的的方法 The Art Of Clean Code...