当前位置: 首页 > 知识库问答 >
问题:

将New Relic与Sitecore一起使用

罗淮晨
2023-03-14

我正在用Sitecore CMS测试New Relic。所有New Relic web事务都被发送到项目布局文件,因此我无法深入了解New Relic中的项目级详细信息。

我试图使用New Relic API调用SetTransactionName,并将其设置为项目URL,但似乎无法正常工作。我创建了一个httprequestbegin管道处理器,并将其放在末尾,就在后面:

<processor type="Sitecore.Pipelines.HttpRequest.ExecuteRequest, Sitecore.Kernel"/>

我已经安装了New Relic API程序集,它也在我的bin文件夹中。下面是我正在尝试运行的代码行。

NewRelic.Api.Agent.NewRelic.SetTransactionName("Custom", Sitecore.Context.RawUrl);

你知道我可能做错了什么吗?所有web事务仍显示为项目布局文件。

共有3个答案

杨经武
2023-03-14

大约18个月前,当我们开始在Sitecore应用程序中使用New Relic时,我们遇到了类似的问题。不幸的是,当时没有人将New Relic与Sitecore一起使用。我们决定将以下代码添加到我们网站中每个页面都继承的基本页面类中:

    // --- Set custom transaction name for New Relic.
NewRelic.Api.Agent.NewRelic.SetTransactionName("Pages", Sitecore.Context.Item.Template.FullName));

// --- Set custom parameter to store raw url to assist with diagnostics.
NewRelic.Api.Agent.NewRelic.AddCustomParameter("RawUrl", Request.RawUrl);

因为我们的应用程序模板名称足以区分趋势,所以我们添加了自定义参数来填充整个RawUrl(我们注意到在New Relic没有为我们捕获完整url的时候有一些奇怪的地方,这种情况可能不再存在)。

寇照
2023-03-14

市场上有一个模块可以解决所有这些问题:

http://marketplace.sitecore.net/en/Modules/New_Relic.aspx

暨弘懿
2023-03-14

我正在httpRequestProcessed管道中设置事务名称,这是可行的。开始时使用的是httpRequestBegin,但我发现它并不是每次都能正常工作。还请记住,在NewRelic接收请求之前,执行请求的时间必须超过500毫秒。

我对Sitecore所做的其他集成点:

  • 使用NoticeError向NewRelic报告的Log4Net附加程序
  • HttpModule提取应用程序错误并使用NoticeError向NewRelic报告
  • 使用项目路径命名事务,并使用AddCustomParameter添加语言、数据库、用户
 类似资料:
  • 问题内容: 因此,我一直在为这个(应该是)简单的练习而绞尽脑汁,以使该程序将日期字符串转换为对象,对其进行格式化,并在完成后将其作为字符串再次返回。 这是程序的最后一点,它从文件中获取一小段文本,将其分解为单独的记录,然后将记录分解为单独的数据并将它们分配给个人对象。 我已经在多个位置检查了该代码,并且该代码完全执行了应该执行的操作,直到调用了format函数(该函数抛出)为止。为对象分配了应该分

  • 问题内容: 我想在目录中获取具有特定扩展名的文件列表。在中,我看到了可以做到这一点的方法。 由于我需要特定的扩展名,因此我创建了一个。但是,当我与此一起使用时,出现编译错误。我以为自以来,我应该能够做到这一点。代码如下: 最后一行显示编译错误: 类型的方法不适用于类型的参数 我正在尝试使用,不是。为何编译器无法识别这一点? 如果我编写自己的扩展筛选器,则此方法有效。我宁愿使用而不愿自己写。我究竟做

  • 问题内容: 我正在尝试在我的watchKit应用中使用firebase数据库。我已经在我的iPhone应用程序上开发了此功能,但是发现在我的Watch应用程序上很难做到这一点。当我尝试将firebase导入watch应用程序的VC类中时,它正在创建error 。 可以在Watch app中使用Firebase吗? 问题答案: 可悲的是,没有支持,并由于这样的事实,有没有支持在这些版本中,并高度依赖

  • 问题内容: 当请求来自Ajax.ActionLink(使用Http方法发布)时,是否可以在控制器操作上使用ValidateAntiForgeryToken属性。替代方法似乎是手动滚动JQuery Ajax请求,但我很好奇MVC Ajax框架中是否有办法。 问题答案: 我还没看过。您必须将令牌放入POST中记录的数据中。每次都使用相同的防伪令牌ID(或名称,我不记得了),但是您必须非常小心,并确保您

  • 问题内容: 最近,我开始与路由器一起使用来构建应用程序。 我通常将use 用于依赖项和代码管理。但是,当我尝试包含包含语法的文件时会出现问题。 这就是我目前所拥有的: 如何将IndexComponent放在其自己的文件中并在此文件中调用它?我尝试了通常的方法(与骨干和反应相同),但是由于语法错误。 问题答案: 所以我自己弄清楚了。 我从此仓库获得了必要的文件和说明:jsx- requirejs-p

  • 所以我一定是错过了什么,我希望执行一个语句块,如果可选的存在,否则抛出异常。 如果不是null,则打印hellow world。如果是,则抛出运行时异常。