-
Notifications
You must be signed in to change notification settings - Fork 208
Description
Hey,
I trying to use Application Insights with Spring Boot, packed as a single jar. I encounter a problem during startup, here is my log:
AI: INFO 09-02-2018 12:14, 24: Registering WebApp with name 'webapp'
AI: INFO 09-02-2018 12:14, 24: Configuration file has been successfully found as resource
AI: INFO 09-02-2018 12:14, 24: 'MaxTelemetryBufferCapacity': null value is replaced with '500'
AI: INFO 09-02-2018 12:14, 24: 'FlushIntervalInSeconds': null value is replaced with '5'
AI: TRACE 09-02-2018 12:14, 24: Using Http Client version 4.3+
AI: INFO 09-02-2018 12:14, 24: 'Channel.MaxTransmissionStorageCapacityInMB': null value is replaced with '10'
AI: ERROR 09-02-2018 12:14, 24: Failed to scan packages 'com.microsoft.applicationinsights': exception: 'URI is not hierarchical'
AI: TRACE 09-02-2018 12:14, 24: Default performance counters will be automatically loaded.
AI: TRACE 09-02-2018 12:14, 24: ****\AISDK\native\1.0.10 folder exists
AI: TRACE 09-02-2018 12:14, 24: Java process name is set to 'java#1'
AI: TRACE 09-02-2018 12:14, 24: Successfully loaded library 'applicationinsights-core-native-win64.dll'
AI: INFO 09-02-2018 12:14, 24: Configuration file has been successfully found as resource
AI: INFO 09-02-2018 12:14, 24: 'MaxTelemetryBufferCapacity': null value is replaced with '500'
AI: INFO 09-02-2018 12:14, 24: 'FlushIntervalInSeconds': null value is replaced with '5'
AI: INFO 09-02-2018 12:14, 24: 'Channel.MaxTransmissionStorageCapacityInMB': null value is replaced with '10'
AI: ERROR 09-02-2018 12:14, 24: Failed to scan packages 'com.microsoft.applicationinsights': exception: 'URI is not hierarchical'
AI: TRACE 09-02-2018 12:14, 24: Default performance counters will be automatically loaded.
AI: TRACE 09-02-2018 12:14, 24: ****\AISDK\native\1.0.10 folder exists
AI: TRACE 09-02-2018 12:14, 24: Java process name is set to 'java#1'
AI: TRACE 09-02-2018 12:14, 24: Successfully loaded library 'applicationinsights-core-native-win64.dll'
AI: TRACE 09-02-2018 12:14, 24: Registering PC 'JSDK_ProcessMemoryPerformanceCounter'
AI: TRACE 09-02-2018 12:14, 24: Registering PC 'JSDK_ProcessCpuPerformanceCounter'
AI: TRACE 09-02-2018 12:14, 24: Registering PC 'JSDK_WindowsPerformanceCounterAsPC'
AI: ERROR 09-02-2018 12:14, 24: Failed to create WindowsPerformanceCounterAsPC: 'Failed to register all built-in Windows performance counters.'
AI: TRACE 09-02-2018 12:14, 24: Registering PC 'JSDK_ProcessMemoryPerformanceCounter'
AI: TRACE 09-02-2018 12:14, 24: Failed to store performance counter 'JSDK_ProcessMemoryPerformanceCounter', since there is already one
AI: TRACE 09-02-2018 12:14, 24: Registering PC 'JSDK_ProcessCpuPerformanceCounter'
AI: TRACE 09-02-2018 12:14, 24: Failed to store performance counter 'JSDK_ProcessCpuPerformanceCounter', since there is already one
AI: INFO 09-02-2018 12:14, 24: Registered WebApp 'webapp' key='webapp'
AI: INFO 09-02-2018 12:14, 24: Successfully registered the filter 'ApplicationInsightsWebFilter'
I tried to use 2.0.0-BETA version too, but I get very similar results:
AI: INFO 09-02-2018 11:26, 20: Agent was not found. Skipping the agent registration
AI: INFO 09-02-2018 11:26, 20: Configuration file has been successfully found as resource
AI: INFO 09-02-2018 11:26, 20: 'MaxTelemetryBufferCapacity': null value is replaced with '500'
AI: INFO 09-02-2018 11:26, 20: 'FlushIntervalInSeconds': null value is replaced with '5'
AI: TRACE 09-02-2018 11:26, 20: Using Http Client version 4.3+
AI: INFO 09-02-2018 11:26, 20: 'Channel.MaxTransmissionStorageCapacityInMB': null value is replaced with '10'
**AI: ERROR 09-02-2018 11:26, 20: Failed to scan packages 'com.microsoft.applicationinsights': exception: 'null'**
AI: TRACE 09-02-2018 11:26, 20: Stack trace generated is java.lang.NullPointerException
at java.io.File.<init>(File.java:277)
at com.microsoft.applicationinsights.core.dependencies.annotation.AnnotationDetector.toFile(AnnotationDetector.java:334)
at com.microsoft.applicationinsights.core.dependencies.annotation.AnnotationDetector.detect(AnnotationDetector.java:287)
at com.microsoft.applicationinsights.internal.annotation.AnnotationPackageScanner.scanForClassAnnotations(AnnotationPackageScanner.java:58)
at com.microsoft.applicationinsights.internal.config.TelemetryConfigurationFactory.getPerformanceModules(TelemetryConfigurationFactory.java:283)
at com.microsoft.applicationinsights.internal.config.TelemetryConfigurationFactory.setTelemetryModules(TelemetryConfigurationFactory.java:175)
at com.microsoft.applicationinsights.internal.config.TelemetryConfigurationFactory.initialize(TelemetryConfigurationFactory.java:107)
at com.microsoft.applicationinsights.TelemetryConfiguration.getActive(TelemetryConfiguration.java:70)
at com.microsoft.applicationinsights.web.internal.WebRequestTrackingFilter.init(WebRequestTrackingFilter.java:133)
at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:285)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:112)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4590)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5233)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1419)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
AI: TRACE 09-02-2018 11:26, 20: Default performance counters will be automatically loaded.
AI: TRACE 09-02-2018 11:26, 20: ****\AISDK\native\2.0.0-BETA folder exists
AI: TRACE 09-02-2018 11:26, 20: Java process name is set to 'java'
AI: TRACE 09-02-2018 11:26, 20: Successfully loaded library 'applicationinsights-core-native-win32.dll'
AI: INFO 09-02-2018 11:26, 20: Configuration file has been successfully found as resource
AI: INFO 09-02-2018 11:26, 20: 'MaxTelemetryBufferCapacity': null value is replaced with '500'
AI: INFO 09-02-2018 11:26, 20: 'FlushIntervalInSeconds': null value is replaced with '5'
AI: INFO 09-02-2018 11:26, 20: 'Channel.MaxTransmissionStorageCapacityInMB': null value is replaced with '10'
**AI: ERROR 09-02-2018 11:26, 20: Failed to scan packages 'com.microsoft.applicationinsights': exception: 'null'**
AI: TRACE 09-02-2018 11:26, 20: Stack trace generated is java.lang.NullPointerException
at java.io.File.<init>(File.java:277)
at com.microsoft.applicationinsights.core.dependencies.annotation.AnnotationDetector.toFile(AnnotationDetector.java:334)
at com.microsoft.applicationinsights.core.dependencies.annotation.AnnotationDetector.detect(AnnotationDetector.java:287)
at com.microsoft.applicationinsights.internal.annotation.AnnotationPackageScanner.scanForClassAnnotations(AnnotationPackageScanner.java:58)
at com.microsoft.applicationinsights.internal.config.TelemetryConfigurationFactory.getPerformanceModules(TelemetryConfigurationFactory.java:283)
at com.microsoft.applicationinsights.internal.config.TelemetryConfigurationFactory.setTelemetryModules(TelemetryConfigurationFactory.java:175)
at com.microsoft.applicationinsights.internal.config.TelemetryConfigurationFactory.initialize(TelemetryConfigurationFactory.java:107)
at com.microsoft.applicationinsights.TelemetryConfiguration.getActive(TelemetryConfiguration.java:70)
at com.microsoft.applicationinsights.internal.quickpulse.QuickPulse.initialize(QuickPulse.java:69)
at com.microsoft.applicationinsights.internal.config.TelemetryConfigurationFactory.setQuickPulse(TelemetryConfigurationFactory.java:158)
at com.microsoft.applicationinsights.internal.config.TelemetryConfigurationFactory.initialize(TelemetryConfigurationFactory.java:110)
at com.microsoft.applicationinsights.TelemetryConfiguration.getActive(TelemetryConfiguration.java:70)
at com.microsoft.applicationinsights.web.internal.WebRequestTrackingFilter.init(WebRequestTrackingFilter.java:133)
at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:285)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:112)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4590)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5233)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1419)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
AI: TRACE 09-02-2018 11:26, 20: Default performance counters will be automatically loaded.
AI: TRACE 09-02-2018 11:26, 20: ****\AISDK\native\2.0.0-BETA folder exists
AI: TRACE 09-02-2018 11:26, 20: Java process name is set to 'java'
AI: TRACE 09-02-2018 11:26, 20: Successfully loaded library 'applicationinsights-core-native-win32.dll'
AI: TRACE 09-02-2018 11:26, 20: InstrumentationKeyResolver - pending resolution of instrumentation key: 6bc524ed-0359-4b9f-a4cb-43720a52239a
AI: TRACE 09-02-2018 11:26, 20: Registering PC 'JSDK_ProcessMemoryPerformanceCounter'
AI: TRACE 09-02-2018 11:26, 20: Registering PC 'JSDK_ProcessCpuPerformanceCounter'
AI: TRACE 09-02-2018 11:26, 20: Registering PC 'JSDK_WindowsPerformanceCounterAsPC'
AI: TRACE 09-02-2018 11:26, 20: InstrumentationKeyResolver - pending resolution of instrumentation key: 6bc524ed-0359-4b9f-a4cb-43720a52239a
AI: ERROR 09-02-2018 11:26, 20: Failed to create WindowsPerformanceCounterAsPC: 'Failed to register all built-in Windows performance counters.'
AI: TRACE 09-02-2018 11:26, 20: Registering PC 'JSDK_ProcessMemoryPerformanceCounter'
AI: TRACE 09-02-2018 11:26, 20: Failed to store performance counter 'JSDK_ProcessMemoryPerformanceCounter', since there is already one
AI: TRACE 09-02-2018 11:26, 20: Registering PC 'JSDK_ProcessCpuPerformanceCounter'
AI: TRACE 09-02-2018 11:26, 20: Failed to store performance counter 'JSDK_ProcessCpuPerformanceCounter', since there is already one
I debuged it a little, and problem lies in library that is used to scan for annotations. It doesn't support opening files that are inside jar, that's the path where applicationinsights jar is stored when packed as a single jar:
jar:file:/C:/my-app.jar!/BOOT-INF/lib/applicationinsights-core-2.0.0-BETA.jar!/com/microsoft/applicationinsights/
So it's jar inside jar :) Any ideas how to fix that?
Best regards