2013-07-05 110 views
4

我使用Sitecore CMS測試New Relic。所有New Relic網絡交易都發送到項目佈局文件,因此我無法深入到New Relic中的項目級別詳細信息中。在Sitecore中使用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); 

任何想法我可能做錯了什麼?所有網絡交易仍顯示爲項目佈局文件。

回答

1

我正在設置httpRequestProcessed管道中的事務名稱,並且工作正常。開始使用httpRequestBegin,但我發現每次都不工作。另外請記住,在NewRelic選擇它之前,您的請求必須花費超過500毫秒的時間才能執行。

額外的集成點,我做了Sitecore的:

  • log4net的Appender的,要NewRelic的報道使用NoticeError
  • 的HttpModule撿的Application_Error和NewRelic的報告中使用NoticeError
  • 使用項目路徑名交易和使用AddCustomParameter添加語言,數字,字典,字典等
+0

httpRequestProcessed工作。謝謝! – user1609050

+0

你可以分享你寫過的Log4Net Appender來將日誌條目分配給New Relic嗎? – Piedone

+2

@Piedone,當然,在這裏你去:https://gist.github.com/pbering/dc35f94360d73252a052 – pbering

0

我們有類似的問題,當w e開始在大約18個月前使用New Relic和我們的Sitecore應用程序。不幸的是,當時沒有人在Sitecore中使用New Relic。我們定居在了下面的代碼添加到我們的網站的每一個頁面繼承了Page基類:

// --- 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並沒有爲我們捕獲完整的網址,這可能不再是這種情況)。

1

有在市場上的模塊排序出這一切:

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

+0

請注意,[只有鏈接的答案](http://meta.stackoverflow.com/tags/link-only-answers/info)不鼓勵,所以答案應該是搜索解決方案的終點(vs.而另一個引用的中途停留時間往往會隨着時間推移而過時)。請考慮在此添加獨立的摘要,並將鏈接保留爲參考。 – kleopatra

+0

此答案有幫助 - 謝謝! –