New Relic中的Custom Instrumentation:我应该将哪个assemblyName与C#Web窗体
本文关键字:assemblyName 窗体 C#Web 我应该 中的 Relic Custom Instrumentation New | 更新日期: 2023-09-27 18:22:02
我在SO上到处搜索,还阅读了New Relic网站上的所有相关文档。
我正试图从我的C#.Net Web窗体页面中捕获NewRelic事务跟踪中特定于方法的信息,但在的任何地方都找不到同时使用这两种技术的示例。我确信我的问题是我不知道该使用哪个assemblyName
。下面是一个工作示例,我希望在其中获得有关方法SleepForFive()
:的详细信息
TestNewRelic.aspx
<%@ Page Language="C#" CodeFile="TestNewRelic.aspx.cs" Inherits="Sandbox_TestNewRelic" %>
<html>
<body>
<form runat="server">
<asp:Button ID="btnFiveSeconds" runat="server" OnClick="btnFiveSeconds_Click" Text="Sleep for 5" />
<br />
<asp:Label ID="lblResult" runat="server" />
</form>
</body>
</html>
TestNewRelic.aspx。cs
using System;
using System.Threading;
public partial class Sandbox_TestNewRelic : System.Web.UI.Page
{
protected void btnFiveSeconds_Click(object sender, EventArgs e)
{
SleepForFive();
lblResult.Text = "Done";
}
public void SleepForFive() { Thread.Sleep(5000); }
}
DotNetInstrumentation.xml
<?xml version="1.0" encoding="utf-8"?>
<extension xmlns="urn:newrelic-extension">
<instrumentation>
<tracerFactory >
<match assemblyName="" className="Sandbox_TestNewRelic">
<exactMethodMatcher methodName="SleepForFive"/>
</match>
<match assemblyName="System.Web" className="System.Web.UI.Page">
<exactMethodMatcher methodName="FrameworkInitialize" />
<exactMethodMatcher methodName="OnInit" />
</match>
</tracerFactory>
</instrumentation>
</extension>
我的结果
请点击此链接查看New Relic的输出(没有足够的声誉将其发布在这里…)
摘要
如图所示,Custom Instrumentation正在工作——我得到了我要求的两个System.Web
方法——我缺少什么?
要查看SleepForFive()
方法,我必须更改什么(如果这真的很简单,那么我就得吃我的短裤了)。:)
文件的<match />
节点中的assemblyName
不能为空。将其设置为项目的命名空间。不要添加.Controllers
对象。例如,如果我的名称空间是SunnySideUp.Controllers
,而我的className
是"Tastey_Eggs",那么它看起来是这样的:
<match assemblyName="SunnySideUp" className="Tastey_Eggs">
自定义工具中的其他所有内容看起来都是正确的。