맞춤식 메트릭을 플러시하거나 플러시하지 않고 추적하려고했습니다. 그러나 메트릭은 Application Insights의 "Custom"섹션에 간헐적으로 나타납니다. 첫 번째 질문 : Telemetry가 Application Insight에 전송 되려면 매번 "TrackMetric (metric)"통화가 끝날 때마다 "flush()"를 실행해야합니까? 둘째 : 왜 이런 간헐적 인 행동이 있습니까? 한 번에 하나의 메트릭 만 작성하므로 Application Insights에 수천 개의 개별 호출로 과부하가 걸리는 것처럼 아닙니다.TelemetryClient가 Application Insights에서 일관되지 않은 결과를 생성합니다.
public class Program
{
public static void Main(string[] args)
{
var telemetryClient = new TelemetryClient()
{
Context = { InstrumentationKey = "{{hidden instrumentation key}}" }
};
var metric = new MetricTelemetry
{
Name = "ImsWithContextMetric2",
Sum = 42.0
};
telemetryClient.TrackMetric(metric);
telemetryClient.Flush();
}
}
나는 또한 "사용 불가/사용되지 않는 메트릭"섹션에서 내가 추가 사용자 지정 메트릭이 나타나있는 응용 프로그램 통찰력이 이상한 행동을 받고 있어요 : 여기 내 코드 (이 간단한 콘솔 응용 프로그램에서입니다)입니다 . 그리고 추가하지 않은 메트릭은 "Custom CPU"아래에 "Process CPU (모든 코어)"라는 팝업이 나타납니다. 이 이상한 행동은?
응답 해 주셔서 감사합니다. 귀하의 질문에 대한 답변으로, Microsoft.ApplicationInsights 라이브러리 2.3의 최신 버전을 사용하고 있습니다. 또한 Console에서 "flush()"를 호출 한 후 약 1 분 동안 계속 실행해야 콘솔이 일관되게 작동하는지 확인할 수 있습니까? – TheDude
또한 "Adaptive Sampling"은 무엇이며 어떻게 사용합니까? 기본적으로 비활성화되어 있습니까? – TheDude
예, 버퍼를 플러시 한 후에'Thread.Sleep()'을 추가해야합니다. 나는 그 대답에서 몇 가지 더 많은 참고 문헌을 추가했다. 앱의 적응 형 샘플링에 대해 걱정할 필요가 없습니다. 웹 앱이 아니기 때문에 기본적으로 활성화되지 않습니다. [여기] (https://docs.microsoft.com/en-us/azure/application-insights/app-insights-sampling) 방법에 대한 자세한 내용을 볼 수 있습니다. 나는 단지 그것을 가능한 원인으로 부르고 싶었습니다. '사용할 수 없거나 사용 중단 된 측정 항목'문제에 대해서는 [여기] (https://github.com/Microsoft/ApplicationInsights-dotnet-logging/issues) – degant