gpt4 book ai didi

mvc-mini-profiler - 使用 mvc mini profiler 的每个操作的阈值计时

转载 作者:行者123 更新时间:2023-12-04 21:20:26 29 4
gpt4 key购买 nike

这是我面临的场景:我正在使用 MiniProfiler 来分析一些操作。但它缺少我必须使用的特定功能。有一个设置文件 MiniProfiler 可以让我做一些配置,比如分析什么考虑什么,什么不考虑,什么认为慢,什么不等。但这些是全局设置,适用于所有被分析的操作。我需要的是能够说这样的话:

using (mvcminiprofiler.Step("OperationName", 1200)
{
//some C# code
}

此参数“1200”表示此操作预计将花费 1200 毫秒,并且如果它花费的时间小于或等于 1200 毫秒,则不将其结果保存到数据库中。但是,如果需要超过 1200 毫秒,则将此响应时间保存到数据库中。所以我基本上是在谈论每个操作的阈值。

我愿意为此编写一个围绕 MiniProfiler 的包装器,但我不愿意更改迷你分析器的源代码。实际上,我们已经围绕迷你分析器构建了一个小框架,但我们不想更改其源代码。但只是在某些方面扩展它的功能。

最佳答案

我刚刚向 MiniProfiler 添加了以下新扩展方法,可在 nuget 3.0.10-beta5 中获得及更高:

  • MiniProfiler.StepIf(string name decimal minSaveMs, bool includeChildren = false)
  • MiniProfiler.CustomTimingIf(string category, string commandString, deciml minSaveMs, string executeType = null)

  • 你应该能够使用这些来做你想要做的事情。在你的情况下,你会使用这样的代码:
    using (MiniProfiler.Current.StepIf("Operation Name", 1200)) {
    // do your stuff
    }

    您可以使用 includeChildren (默认为false) 设置在决定是否保存时是否使用子配置文件中记录的时间 CustomTiming .

    更多信息在 this GitHub Issue .

    关于mvc-mini-profiler - 使用 mvc mini profiler 的每个操作的阈值计时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13043699/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com