Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/140.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# .net Profiler是否收集长期指标?_C#_C++_Profiler - Fatal编程技术网

C# .net Profiler是否收集长期指标?

C# .net Profiler是否收集长期指标?,c#,c++,profiler,C#,C++,Profiler,我们有一个客户机/服务器应用程序,我想对这两个应用程序进行分析,以创建诸如“平均登录时间为xx毫秒,xxx为最大值,x为最小值,自yyyy以来共有xx次登录”等指标 我知道Equalec和ANTS分析器(我都很喜欢)。但是我认为他们没有提供我需要的功能 当然,我可以自己编写必要的函数,但我认为,由于ANTS或Equalec可以自己很好地完成这项工作,因此必须有某种方法来使用该功能 我需要的是: 收集尽可能多的函数调用数据,同时保持合理的性能 缩放效果很好,就像(取消)选择我不想监视的代码路径一

我们有一个客户机/服务器应用程序,我想对这两个应用程序进行分析,以创建诸如“平均登录时间为xx毫秒,xxx为最大值,x为最小值,自yyyy以来共有xx次登录”等指标

我知道Equalec和ANTS分析器(我都很喜欢)。但是我认为他们没有提供我需要的功能

当然,我可以自己编写必要的函数,但我认为,由于ANTS或Equalec可以自己很好地完成这项工作,因此必须有某种方法来使用该功能

我需要的是:

  • 收集尽可能多的函数调用数据,同时保持合理的性能

  • 缩放效果很好,就像(取消)选择我不想监视的代码路径一样

  • 将收集的所有数据保存在数据库中,可以是本地数据库,也可以是远程SQL数据库

  • 如果该工具能够自己创建像蚂蚁一样的图形,那将很酷,但原始数据就足够了

  • 代码是用C 3.5(服务器和client server通信)和C++(客户端GUI)编写的。监视C++代码也是很好的(C是嵌入作为COM对象),但是目前,监视C足够了


这不一定是免费的,但必须进行测试试用。

探查器更以代码/功能为中心,对性能有很大影响。此外,将不可能向用户推出带有代码的探查器。

我认为您应该考虑在代码中使用log4net这样的日志框架,然后配置日志记录,将结果保存到数据库中,您可以使用该数据库分析性能数据。

我现在可以考虑以下几个选项:

  • 编写自己的代码,专门为要评测的函数计时(显然是最简单的选项)
  • 使用性能计数器()
  • 使用
  • 使用从performance toolkit中调用的低级内置操作系统探查器
  • 编辑: 我怎么能忘记这颗小宝石

    可以像下面这样包装您的代码:

    var profiler = MiniProfiler.Current; // it's ok if this is null
    using (profiler.Step("Doing complex stuff")){
        using (profiler.Step("Step A"))
        { // something more interesting here
            Thread.Sleep(100);
        }
    
        using (profiler.Step("Step B"))
        { // and here
            Thread.Sleep(250);
        }
    }
    

    “巨大的性能影响”在数量上有多大?OP能支持多少?应用程序不是时间关键型的,我想最多200毫秒是可行的。我们已经使用了log4net,所以我决定只实现自己的日志来计算指标。现在实际的问题已经解决了,但我当然还是很想听听你们的想法:)看看维基百科上的评测和日志记录条目。很明显,这是一项日志记录任务,而不是分析任务。此外,由于许可证限制,分析器不能成为发行版的一部分。