从特定请求中删除New Relic.NET代理RUM代码
我们正在使用.NET版本的New Relic。似乎在输出时,New Relic解析输出以查看是否包含任何从特定请求中删除New Relic.NET代理RUM代码,.net,newrelic,.net,Newrelic,我们正在使用.NET版本的New Relic。似乎在输出时,New Relic解析输出以查看是否包含任何元素,并在其前面插入var NREUMQ=…脚本 我的问题是,在一个特定的封闭源代码页面上,有一行js读取 document.write("<html><head></head><body></body></html>"); document.write(“”); …New Relic然后把它变成 document.w
元素,并在其前面插入var NREUMQ=…
脚本
我的问题是,在一个特定的封闭源代码页面上,有一行js读取
document.write("<html><head></head><body></body></html>");
document.write(“”);
…New Relic然后把它变成
document.write("<html><head><script type="text/javascript">var NREUMQ=NREUMQ||[];NREUMQ.push(["mark","firstbyte",new Date().getTime()]);</script></head><body></body></html>");
document.write(“var NREUMQ=NREUMQ | | |[];NREUMQ.push([“标记”、“第一字节”、新日期().getTime());”;
…这会引起很大的麻烦,因为新的遗留代码没有逃脱
我想做的是告诉New Relic不要在这个特定页面上插入代码,因为我无法编辑该页面
干杯
这里是修改后的代码,格式很好-为了您的观看乐趣(不是响应中的实际内容)
document.write(“
var NREUMQ=NREUMQ | |[];
NREUMQ.push([“标记”、“第一字节”、新日期().getTime()]);
");
编辑2017-01-25(新网址)
原创帖子
我已经收到了New Relic support的答复。这是 你好,迈克尔 这是一个奇妙的问题!有一种非常直接的方法 完成你想做的事 Net代理将javascript片段注入到标头和 发送到用户浏览器以测量页面负载的页面页脚 用户端的时间。我们称此功能为真正的用户监控或 简称朗姆酒。有关这方面的更多信息,请参见: 如果希望在所有可以编辑的页面上完全禁用RUM
newrelic.config
并更改此行:
<browserMonitoring autoInstrument="true"/>
为此:
<browserMonitoring autoInstrument="false"/>
您可以在单个页面上禁用RUM和/或手动指定位置
RUM页眉/页脚片段通过使用
.Net代理API调用。若要使用此库,请添加对的引用
将NewRelic.Api.Agent.dll添加到项目中。应该在中找到DLL
此文件夹:%ProgramFiles%\New Relic\.NET代理“
然后,您可以使用此API调用在特定页面上禁用RUM:
我今天遇到了同样的问题。我能够通过让Javascript在客户端上结合“he”和“ad”来修复它。这可以防止New Relic朗姆酒看到头部标签
document.write(“”)代码>我只想补充杰拉德的答案。。他的解决方案对我很管用,但我也不得不拆开尸体标签。。New Relic考虑周到,在检测不到我原来的头标签后,在我的身体标签之前添加了自己的头标签
作为旁注-这种自动插入在多个项目中给我带来了很多痛苦。实际上有一个更简单的解决方案,可以将一行代码添加到cshtml或aspx文件中:
NewRelic.Api.Agent.NewRelic.DisableBrowserMonitoring();
是的,这就是我想做的,但是生成文档的代码。write
是一个封闭源代码的第三方二进制文件:啊,这肯定让事情复杂化了。我想你可以重写document.write并添加必要的代码来分解head标签,但最好的答案可能是按照上面的建议禁用自动注入。哈!实际上,为了安全起见,我在代码中也分解了body标签。我把它从我分享的例子中删除了,因为我认为这没有必要。请随意编辑我的答案!如果您有权将服务器端代码添加到页面中,那么这一切都很好。。
NewRelic.Api.Agent.NewRelic.DisableBrowserMonitoring();