2323
2424import static java .util .concurrent .TimeUnit .MINUTES ;
2525
26+ import com .microsoft .applicationinsights .agent .internal .common .PropertyHelper ;
2627import com .microsoft .applicationinsights .agent .internal .common .Strings ;
2728import com .microsoft .applicationinsights .agent .internal .configuration .Configuration ;
2829import com .microsoft .applicationinsights .agent .internal .heartbeat .HeartBeatModule ;
@@ -75,8 +76,10 @@ public static void initialize(TelemetryClient telemetryClient, Configuration con
7576 PerformanceCounterContainer .INSTANCE .register (new ProcessMemoryPerformanceCounter ());
7677 PerformanceCounterContainer .INSTANCE .register (new FreeMemoryPerformanceCounter ());
7778
78- // system cpu and process disk i/o
79- PerformanceCounterContainer .INSTANCE .register (new OshiPerformanceCounter ());
79+ if (!isAgentRunningInSandboxEnvWindows ()) {
80+ // system cpu and process disk i/o
81+ PerformanceCounterContainer .INSTANCE .register (new OshiPerformanceCounter ());
82+ }
8083
8184 ThreadMXBean threadBean = ManagementFactory .getThreadMXBean ();
8285 if (threadBean .isSynchronizerUsageSupported ()) {
@@ -95,6 +98,11 @@ public static void initialize(TelemetryClient telemetryClient, Configuration con
9598 setQuickPulse (configuration , telemetryClient );
9699 }
97100
101+ private static boolean isAgentRunningInSandboxEnvWindows () {
102+ String qualifiedSdkVersion = PropertyHelper .getQualifiedSdkVersionString ();
103+ return qualifiedSdkVersion .startsWith ("awr" ) || qualifiedSdkVersion .startsWith ("fwr" );
104+ }
105+
98106 private static void setQuickPulse (Configuration configuration , TelemetryClient telemetryClient ) {
99107 if (configuration .preview .liveMetrics .enabled ) {
100108 logger .trace ("Initializing QuickPulse..." );
0 commit comments