DefaultTraceListener 的性能影响

2024-01-03

使用时System.Diagnostics跟踪,如果不删除“默认”跟踪侦听器,是否会对性能产生重大(可测量)影响?生产ASP.NET应用在release模式,与TRACE在编译时定义的常量,但在运行时没有附加调试器?

为了澄清,问题是关于“默认”跟踪侦听器对使用其他跟踪侦听器的应用程序的额外影响,而不是关于 System.Diagnostics 跟踪的替代方案。

当没有附加调试器时,是否有任何措施来衡量默认跟踪侦听器的影响?是否已经完成了从代码中省略“删除”元素对生产的影响的基准测试,如下所示:

<configuration>
<system.diagnostics>
  <trace autoflush="false" indentsize="4">
    <listeners>
      <remove name="Default" />
      <add name="myListener"  type="System.Diagnostics.TextWriterTraceListener"    initializeData="c:\myListener.log" />
    </listeners>
  </trace>
</system.diagnostics>
</configuration>

这个问题不同于.NET 跟踪:什么是“默认”侦听器? https://stackoverflow.com/questions/8010255/net-tracing-what-is-the-default-listener从某种意义上说,另一个问题的重点是在 Visual Studio 下运行并更新调试 UI 时默认侦听器的影响,而这个问题的重点是在生产环境中发布代码。


如果继续使用默认跟踪侦听器进行跟踪,可能会对性能产生重大影响。

如果您想要生产就绪的性能跟踪,我强烈建议使用事件源 http://msdn.microsoft.com/en-us/library/system.diagnostics.tracing.eventsource.aspx.NET 4.5 中的类而不是跟踪方法。这适用于PerfView http://www.microsoft.com/en-us/download/details.aspx?id=28567通过创建 ETW 事件源,即使在生产中输出跟踪信息,对运行时也几乎没有影响。


保留默认侦听器会导致框架通过以下方式记录调用输出调试字符串 http://msdn.microsoft.com/en-us/library/windows/desktop/aa363362%28v=vs.85%29.aspx。这个可以有重大影响 https://stackoverflow.com/a/729561/65358即使在没有调试器的发布版本中,性能也是如此。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

DefaultTraceListener 的性能影响 的相关文章

  • Qt-Qlist 检查包含自定义类

    有没有办法覆盖加载自定义类的 Qt QList 的比较机制 即在 java 中你只需要重写一个比较方法 我有一个带有我的自定义类模型的 QList QList
  • C++ 子字符串返回错误结果

    我有这个字符串 std string date 20121020 我正在做 std cout lt lt Date lt lt date lt lt n std cout lt lt Year lt lt date substr 0 4 l
  • 指针问题(仅在发布版本中)

    不确定如何描述这一点 但我在这里 由于某种原因 当尝试创建我的游戏的发布版本进行测试时 它的敌人创建方面不起作用 Enemies e level1 3 e level1 0 Enemies sdlLib 500 2 3 128 250 32
  • 在 Visual Studio 2008 上设置预调试事件

    我想在 Visual Studio 中开始调试程序之前运行一个任务 我每次调试程序时都需要运行此任务 因此构建后事件还不够好 我查看了设置的 调试 选项卡 但没有这样的选项 有什么办法可以做到这一点吗 你唯一可以尝试的 IMO 就是尝试Co
  • 如何将图像和 POST 数据上传到 Azure 移动服务 ApiController 终结点?

    我正在尝试上传图片and POST表单数据 尽管理想情况下我希望它是json 到我的端点Azure 移动服务应用 我有ApiController method HttpPost Route api upload databaseId sea
  • Json.NET - 反序列化接口属性引发错误“类型是接口或抽象类,无法实例化”

    我有一个类 其属性是接口 public class Foo public int Number get set public ISomething Thing get set 尝试反序列化Foo使用 Json NET 的类给我一条错误消息
  • 如果使用 SingleOrDefault() 并在数字列表中搜索不在列表中的数字,如何返回 null?

    使用查询正数列表时SingleOrDefault 当在列表中找不到数字时 如何返回 null 或像 1 这样的自定义值 而不是类型的默认值 在本例中为 0 你可以使用 var first theIntegers Cast
  • Qt moc 在头文件中实现?

    是否可以告诉 Qt MOC 我想声明该类并在单个文件中实现它 而不是将它们拆分为 h 和 cpp 文件 如果要在 cpp 文件中声明并实现 QObject 子类 则必须手动包含 moc 文件 例如 文件main cpp struct Sub
  • vector 超出范围后不清除内存

    我遇到了以下问题 我不确定我是否错了或者它是一个非常奇怪的错误 我填充了一个巨大的字符串数组 并希望在某个点将其清除 这是一个最小的例子 include
  • 从库中捕获主线程 SynchronizationContext 或 Dispatcher

    我有一个 C 库 希望能够将工作发送 发布到 主 ui 线程 如果存在 该库可供以下人员使用 一个winforms应用程序 本机应用程序 带 UI 控制台应用程序 没有 UI 在库中 我想在初始化期间捕获一些东西 Synchronizati
  • 实体框架 4 DB 优先依赖注入?

    我更喜欢创建自己的数据库 设置索引 唯一约束等 使用 edmx 实体框架设计器 从数据库生成域模型是轻而易举的事 现在我有兴趣使用依赖注入来设置一些存储库 我查看了 StackOverflow 上的一些文章和帖子 似乎重点关注代码优先方法
  • 如何让Gtk+窗口背景透明?

    我想让 Gtk 窗口的背景透明 以便只有窗口中的小部件可见 我找到了一些教程 http mikehearn wordpress com 2006 03 26 gtk windows with alpha channels https web
  • 将文本叠加在图像背景上并转换为 PDF

    使用 NET 我想以编程方式创建一个 PDF 它仅包含一个背景图像 其上有两个具有不同字体和位置的标签 我已阅读过有关现有 PDF 库的信息 但不知道 如果适用 哪一个对于如此简单的任务来说最简单 有人愿意指导我吗 P D 我不想使用生成的
  • 在 Dynamics CRM 插件中访问电子邮件发件人地址

    我正在编写一个 Dynamics CRM 2011 插件 该插件挂钩到电子邮件实体的更新后事件 阶段 40 pipeline http msdn microsoft com en us library gg327941 aspx 并且在此阶
  • 为什么 C# Math.Ceiling 向下舍入?

    我今天过得很艰难 但有些事情不太对劲 在我的 C 代码中 我有这样的内容 Math Ceiling decimal this TotalRecordCount this PageSize Where int TotalRecordCount
  • Validation.ErrorTemplate 的 Wpf 动态资源查找

    在我的 App xaml 中 我定义了一个资源Validation ErrorTemplate 这取决于动态BorderBrush资源 我打算定义独特的BorderBrush在我拥有的每个窗口以及窗口内的不同块内
  • 如何使用 std::string 将所有出现的一个字符替换为两个字符?

    有没有一种简单的方法来替换所有出现的 in a std string with 转义 a 中的所有斜杠std string 完成此操作的最简单方法可能是boost字符串算法库 http www boost org doc libs 1 46
  • 防止索引超出范围错误

    我想编写对某些条件的检查 而不必使用 try catch 并且我想避免出现 Index Out of Range 错误的可能性 if array Element 0 Object Length gt 0 array Element 1 Ob
  • 使用 libcurl 检查 SFTP 站点上是否存在文件

    我使用 C 和 libcurl 进行 SFTP FTPS 传输 在上传文件之前 我需要检查文件是否存在而不实际下载它 如果该文件不存在 我会遇到以下问题 set up curlhandle for the public private ke
  • 使用按位运算符相乘

    我想知道如何使用按位运算符将一系列二进制位相乘 但是 我有兴趣这样做来查找二进制值的十进制小数值 这是我正在尝试做的一个例子 假设 1010010 我想使用每个单独的位 以便将其计算为 1 2 1 0 2 2 1 2 3 0 2 4 虽然我

随机推荐

  • Django 信号重定向

    当用户登录时 我检查它是否属于特定组 如果是这样 我会重定向到特定页面 这是我的代码 apps py def OperatorRedirect sender user request kwargs from struttura employ
  • 删除正在进行 I/O 的文件:它是文件系统和/或操作系统功能吗?

    我正在编写一个 shell 脚本 它将在 Linux 上运行 但可以对位于已安装分区上的文件进行操作 可能有也可能没有 ext 文件系统 例如 它可以是 NTFS FAT32 或任何基于 inode 或非 inode 的系统 可以进一步重新
  • 如何在 Github Actions macos 运行程序中签署和公证 PKG

    Context 我正在构建一个 Github Actions 作业建造 签署和公证一个 PKG 文件 我正在使用一个Apple ID 帐户 工作流程需要用户名和密码 以及开发者 ID 安装者带私钥的证书 加密 两者都保存为机密 base64
  • 为什么忽略 SIGTRAP 不适用于 asm?

    我试图忽略 SIGTRAP 我有以下概念验证代码 include
  • RNN 中的梯度累积

    在运行大型 RNN 网络时 我遇到了一些内存问题 GPU 但我想保持我的批量大小合理 所以我想尝试梯度累积 在一次性预测输出的网络中 这似乎是不言而喻的 但在 RNN 中 您为每个输入步骤执行多次前向传递 因此 我担心我的实施无法按预期进行
  • 如何防止键盘在颤振中按提交键时消失?

    我正在制作一个颤振应用程序 用户可以在其中键入消息并点击键盘中的发送按钮来发送消息 问题是当我按下发送按钮时 消息被发送 但键盘会自动消失 我怎样才能防止这种情况发生 提前致谢 TextField autofocus true keyboa
  • Python/Pandas 中是否有函数可以获取两个日期时间之间的业务时间增量?

    我有一个带有两个日期时间列的 pandas 数据框 我想计算 业务分钟 中列之间的时间增量 使用 offsets 方法添加业务时间增量很容易 但我似乎找不到内置的东西可以返回工作日 小时 分钟 秒的时间增量 我对 Python 很陌生 所以
  • PHP JSON 将值数组放入 HTML 表中

    我正在从 API URL 提取 JSON 数据 我需要提取特定的键并将它们放入包含列和行的表中 6 列 x 20 行 KEYS 都是彼此重复的 val 内容 JSON 示例 response result Leads row no 1 FL
  • 从 ajax 调用返回一个值到父函数

    我有一个函数 我需要返回通过 ajax 调用获取的 url var heatmap new google maps ImageMapType getTileUrl function coord zoom var tileURL get ge
  • v[i++] 在 C 中未定义吗?

    我正在尝试编写一个通过 a 检查 a 的函数char a 并且经常最终使用类似的东西 if a i x i 现在我真的很想将其更改为a i 相反 但它似乎不起作用 问题 我在这里做错了什么吗 还是有一个干净的替代方案来避免i 注意 目前函数
  • Nodejs 异步/等待延迟

    我对这段代码有问题 var request require request promise class Test constructor async Start var response await this getResponse awa
  • 如何在 Scala 中向 TrieMap[Long,List[Long]] 添加数据

    我有这个 val vertexIdListPartitions TrieMap Long List Long TrieMap 我需要添加List 3 at vertexIdListPartitions 3 我尝试这样做 vertexIdLi
  • 统计所有直接或间接向经理汇报的下属

    我在一项任务上遇到了问题 我需要统计直接或间接向特定经理汇报的所有下属 不同的 我有一个Employee像这样的表 EMPLOYEE ID Int MANAGER ID Int EMPLOYEE NAME varchar 200 Examp
  • 在代码中创建 Excel SpreadsheetML。 (没有 Excel!)

    在 Excel 2003 及更高版本中 可以使用 SpreadsheetML 格式生成仅包含 XML 样式表和 XML 数据文件的 Excel 电子表格 我在一些项目中使用过它并且效果很好 尽管这并不容易做到 我从 Microsoft 下载
  • 带交换的 Powershell——如何将所有详细输出附加到文件

    我正在尝试在我的脚本中添加一些日志记录 任何建议将不胜感激 首先 我想在出现问题时添加错误日志 例如 当找不到用户时 会抛出以下错误 无法执行该操作 因为在 HQ DC 6 domain com 上找不到对象 asdfa 类别信息 未指定
  • antlr4数组实现:获取元素的值

    我正在尝试在 antlr4 中实现数组 但我不知道如何在初始化数组时获取数组的多个元素 如下所示 int array 1 2 我正在考虑将它们放入像这样的 HashMap 中 关键是索引 public Map
  • 如何在vba中检测合并单元格(Word 2010)

    我想在 word 2010 上检测并跳过 vba 中的合并单元格 我正在制作一个需要在第一列中写入的宏 但我有一些合并的单元格 但我不想写入 我找到的所有示例都是针对 Excel 的 我尝试检测每行的列数 但这不起作用 我有 Error 5
  • 从 app.config 文件中读取

    我正在尝试阅读 GettingMonthColumn 和 CategoryHeadingColumn 使用代码从下面的 app config 文件中 ConfigurationSettings AppSettings StartingMon
  • 使用 PostgreSQL 时 Spring Security JDBC 身份验证默认架构错误

    真的无法使用吗默认模式对于带有 PostgreSQL 的 Spring Security 因为这部分 varchar ignorecase does not exist不能更换吗 我只是测试默认设置 auth jdbcAuthenticat
  • DefaultTraceListener 的性能影响

    使用时System Diagnostics跟踪 如果不删除 默认 跟踪侦听器 是否会对性能产生重大 可测量 影响 生产ASP NET应用在release模式 与TRACE在编译时定义的常量 但在运行时没有附加调试器 为了澄清 问题是关于 默