我有一個帶有 Microsoft Application Insights 的 Web 應用程式。我監控所有請求、例外、性能等。
是否可以自定義和禁用某些請求的監視器?
我想禁用某些型別的靜態檔案的監視器,例如 *.js、*.css、*.png。
uj5u.com熱心網友回復:
您可以為給定的檔案格式添加以下行
TelemetryConfiguration.Active.DisableTelemetry = true;
uj5u.com熱心網友回復:
感謝vivek nuna,應用此設定后
TelemetryConfiguration.Active.DisableTelemetry = true;
您還可以使用此設定一起啟用 AJAX 請求收集:
disableAjaxTracking: false
其中 dableAjaxTracking: [boolean] - 如果為 true,則不會自動收集 Ajax 呼叫。
uj5u.com熱心網友回復:
你當然可以。您的選擇之一是使用遙測過濾器。請參閱檔案。根據 url 過濾請求的示例如下:
/// <summary>
/// A Telemetry filter lets you define whether a telemetry item is dropped or not
/// </summary>
public class CustomTelemetryFilter : ITelemetryProcessor
{
private readonly ITelemetryProcessor _next;
public CustomTelemetryFilter(ITelemetryProcessor next)
{
_next = next;
}
public void Process(ITelemetry item)
{
// Example: process all telemetry except requests to .png files
var isRequestToUrlContainingSpecificText = item is RequestTelemetry request && request.Url.ToString().EndsWith(".png");
if (!isRequestToUrlContainingSpecificText)
_next.Process(item); // Process the item
else
{
// Item is dropped here
}
}
}
在前端,您還可以定義一個過濾器,如果它符合特定標準,則停止發送遙測資料,請參閱檔案
var filteringFunction = (envelope) => {
if (envelope.data.someField === 'tobefilteredout') {
return false;
}
return true;
};
...
appInsights.addTelemetryInitializer(filteringFunction);
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/314214.html
標籤:C# asp.net-mvc azure-application-insights
上一篇:從剃刀頁面呼叫方法
