最近,我使用默认的Micrometer版本切换到了Spring Boot 2.0.3.RELEASE
。指标通过StatsD导出到Telegraf:
management.metrics.export.statsd.flavor=telegraf
一段时间后,我发现了一系列奇怪的DEBUG
消息(用<TRUNCATED>
替换了很大的部分,以实现问题的字符数限制):
2018-07-24T13:43:15,381 DEBUG [i.m.s.i.n.u.i.NativeLibraryLoader] (localhost-startStop-1) [][] Unable to load the library 'io_micrometer_shaded_netty_transport_native_epoll_x86_64', trying other loading mechanism.
java.lang.UnsatisfiedLinkError: no io_micrometer_shaded_netty_transport_native_epoll_x86_64 in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867) ~[?:1.8.0_121]
at java.lang.Runtime.loadLibrary0(Runtime.java:870) ~[?:1.8.0_121]
at java.lang.System.loadLibrary(System.java:1122) ~[?:1.8.0_121]
at io.micrometer.shaded.io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_121]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_121]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_121]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_121]
at io.micrometer.shaded.io.netty.util.internal.NativeLibraryLoader$1.run(NativeLibraryLoader.java:263) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_121]
at io.micrometer.shaded.io.netty.util.internal.NativeLibraryLoader.loadLibraryByHelper(NativeLibraryLoader.java:255) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at io.micrometer.shaded.io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:233) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at io.micrometer.shaded.io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:124) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at io.micrometer.shaded.io.netty.channel.epoll.Native.loadNativeLibrary(Native.java:183) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at io.micrometer.shaded.io.netty.channel.epoll.Native.<clinit>(Native.java:61) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at io.micrometer.shaded.io.netty.channel.epoll.Epoll.<clinit>(Epoll.java:33) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at java.lang.Class.forName0(Native Method) ~[?:1.8.0_121]
at java.lang.Class.forName(Class.java:264) ~[?:1.8.0_121]
at io.micrometer.shaded.reactor.ipc.netty.resources.DefaultLoopEpoll.<clinit>(DefaultLoopEpoll.java:47) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at io.micrometer.shaded.reactor.ipc.netty.resources.LoopResources.preferNative(LoopResources.java:206) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at io.micrometer.shaded.reactor.ipc.netty.resources.DefaultLoopResources.onClient(DefaultLoopResources.java:154) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at io.micrometer.shaded.reactor.ipc.netty.udp.UdpResources.onClient(UdpResources.java:137) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at io.micrometer.shaded.reactor.ipc.netty.options.ClientOptions.groupAndChannel(ClientOptions.java:198) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at io.micrometer.shaded.reactor.ipc.netty.options.ClientOptions.get(ClientOptions.java:123) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at io.micrometer.shaded.reactor.ipc.netty.udp.UdpClient.lambda$newHandler$1(UdpClient.java:132) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at io.micrometer.shaded.reactor.core.publisher.MonoCreate.subscribe(MonoCreate.java:53) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at io.micrometer.shaded.reactor.core.publisher.Mono.subscribe(Mono.java:3077) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at io.micrometer.shaded.reactor.core.publisher.Mono.subscribeWith(Mono.java:3185) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at io.micrometer.shaded.reactor.core.publisher.Mono.subscribe(Mono.java:3071) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at io.micrometer.shaded.reactor.core.publisher.Mono.subscribe(Mono.java:3038) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at io.micrometer.shaded.reactor.core.publisher.Mono.subscribe(Mono.java:2985) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at io.micrometer.statsd.StatsdMeterRegistry.start(StatsdMeterRegistry.java:212) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at io.micrometer.statsd.StatsdMeterRegistry.<init>(StatsdMeterRegistry.java:201) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at io.micrometer.statsd.StatsdMeterRegistry.<init>(StatsdMeterRegistry.java:85) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at io.micrometer.statsd.StatsdMeterRegistry.<init>(StatsdMeterRegistry.java:73) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at org.springframework.boot.actuate.autoconfigure.metrics.export.statsd.StatsdMetricsExportAutoConfiguration.statsdMeterRegistry(StatsdMetricsExportAutoConfiguration.java:64) ~[spring-boot-actuator-autoconfigure-2.0.3.RELEASE.jar!/:2.0.3.RELEASE]
at org.springframework.boot.actuate.autoconfigure.metrics.export.statsd.StatsdMetricsExportAutoConfiguration$$EnhancerBySpringCGLIB$$5f6b947c.CGLIB$statsdMeterRegistry$2(<generated>) ~[spring-boot-actuator-autoconfigure-2.0.3.RELEASE.jar!/:2.0.3.RELEASE]
at org.springframework.boot.actuate.autoconfigure.metrics.export.statsd.StatsdMetricsExportAutoConfiguration$$EnhancerBySpringCGLIB$$5f6b947c$$FastClassBySpringCGLIB$$edaf8243.invoke(<generated>) ~[spring-boot-actuator-autoconfigure-2.0.3.RELEASE.jar!/:2.0.3.RELEASE]
at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228) ~[spring-core-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:361) ~[spring-context-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
at org.springframework.boot.actuate.autoconfigure.metrics.export.statsd.StatsdMetricsExportAutoConfiguration$$EnhancerBySpringCGLIB$$5f6b947c.statsdMeterRegistry(<generated>) ~[spring-boot-actuator-autoconfigure-2.0.3.RELEASE.jar!/:2.0.3.RELEASE]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_121]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_121]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_121]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_121]
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ~[spring-beans-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:582) ~[spring-beans-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1256) ~[spring-beans-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1105) ~[spring-beans-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:543) ~[spring-beans-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:503) ~[spring-beans-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:317) ~[spring-beans-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:315) ~[spring-beans-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:251) ~[spring-beans-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1138) ~[spring-beans-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1065) ~[spring-beans-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:818) ~[spring-beans-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:724) ~[spring-beans-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:474) ~[spring-beans-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1256) ~[spring-beans-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1105) ~[spring-beans-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:543) ~[spring-beans-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:503) ~[spring-beans-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:317) ~[spring-beans-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:315) ~[spring-beans-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:204) ~[spring-beans-5.0.7.RELEASE.jar!/:5.0.7.RELEASE]
at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:226) ~[spring-boot-2.0.3.RELEASE.jar!/:2.0.3.RELEASE]
at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:214) ~[spring-boot-2.0.3.RELEASE.jar!/:2.0.3.RELEASE]
at org.springframework.boot.web.servlet.ServletContextInitializerBeans.addServletContextInitializerBeans(ServletContextInitializerBeans.java:91) ~[spring-boot-2.0.3.RELEASE.jar!/:2.0.3.RELEASE]
at org.springframework.boot.web.servlet.ServletContextInitializerBeans.<init>(ServletContextInitializerBeans.java:80) ~[spring-boot-2.0.3.RELEASE.jar!/:2.0.3.RELEASE]
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.getServletContextInitializerBeans(ServletWebServerApplicationContext.java:250) ~[spring-boot-2.0.3.RELEASE.jar!/:2.0.3.RELEASE]
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.selfInitialize(ServletWebServerApplicationContext.java:237) ~[spring-boot-2.0.3.RELEASE.jar!/:2.0.3.RELEASE]
at org.springframework.boot.web.embedded.tomcat.TomcatStarter.onStartup(TomcatStarter.java:54) [spring-boot-2.0.3.RELEASE.jar!/:2.0.3.RELEASE]
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5245) [tomcat-embed-core-8.5.31.jar!/:8.5.31]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) [tomcat-embed-core-8.5.31.jar!/:8.5.31]
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1421) [tomcat-embed-core-8.5.31.jar!/:8.5.31]
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1411) [tomcat-embed-core-8.5.31.jar!/:8.5.31]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_121]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_121]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_121]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_121]
2018-07-24T13:43:15,388 DEBUG [i.m.s.i.n.u.i.NativeLibraryLoader] (localhost-startStop-1) [][] io_micrometer_shaded_netty_transport_native_epoll_x86_64 cannot be loaded from java.libary.path, now trying export to -Dio.netty.native.workdir: /tmp
java.lang.UnsatisfiedLinkError: no io_micrometer_shaded_netty_transport_native_epoll_x86_64 in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867) ~[?:1.8.0_121]
at java.lang.Runtime.loadLibrary0(Runtime.java:870) ~[?:1.8.0_121]
at java.lang.System.loadLibrary(System.java:1122) ~[?:1.8.0_121]
at io.micrometer.shaded.io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at io.micrometer.shaded.io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:243) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at io.micrometer.shaded.io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:124) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at io.micrometer.shaded.io.netty.channel.epoll.Native.loadNativeLibrary(Native.java:183) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at io.micrometer.shaded.io.netty.channel.epoll.Native.<clinit>(Native.java:61) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at io.micrometer.shaded.io.netty.channel.epoll.Epoll.<clinit>(Epoll.java:33) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
<TRUNCATED>
Suppressed: java.lang.UnsatisfiedLinkError: no io_micrometer_shaded_netty_transport_native_epoll_x86_64 in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867) ~[?:1.8.0_121]
at java.lang.Runtime.loadLibrary0(Runtime.java:870) ~[?:1.8.0_121]
at java.lang.System.loadLibrary(System.java:1122) ~[?:1.8.0_121]
at io.micrometer.shaded.io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_121]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_121]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_121]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_121]
at io.micrometer.shaded.io.netty.util.internal.NativeLibraryLoader$1.run(NativeLibraryLoader.java:263) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_121]
at io.micrometer.shaded.io.netty.util.internal.NativeLibraryLoader.loadLibraryByHelper(NativeLibraryLoader.java:255) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at io.micrometer.shaded.io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:233) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at io.micrometer.shaded.io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:124) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at io.micrometer.shaded.io.netty.channel.epoll.Native.loadNativeLibrary(Native.java:183) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at io.micrometer.shaded.io.netty.channel.epoll.Native.<clinit>(Native.java:61) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at io.micrometer.shaded.io.netty.channel.epoll.Epoll.<clinit>(Epoll.java:33) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
<TRUNCATED>
2018-07-24T13:43:15,391 DEBUG [i.m.s.i.n.u.i.NativeLibraryLoader] (localhost-startStop-1) [][] Unable to load the library 'io_micrometer_shaded_netty_transport_native_epoll', trying other loading mechanism.
java.lang.UnsatisfiedLinkError: no io_micrometer_shaded_netty_transport_native_epoll in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867) ~[?:1.8.0_121]
at java.lang.Runtime.loadLibrary0(Runtime.java:870) ~[?:1.8.0_121]
at java.lang.System.loadLibrary(System.java:1122) ~[?:1.8.0_121]
at io.micrometer.shaded.io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_121]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_121]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_121]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_121]
at io.micrometer.shaded.io.netty.util.internal.NativeLibraryLoader$1.run(NativeLibraryLoader.java:263) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_121]
at io.micrometer.shaded.io.netty.util.internal.NativeLibraryLoader.loadLibraryByHelper(NativeLibraryLoader.java:255) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at io.micrometer.shaded.io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:233) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at io.micrometer.shaded.io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:124) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at io.micrometer.shaded.io.netty.channel.epoll.Native.loadNativeLibrary(Native.java:186) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at io.micrometer.shaded.io.netty.channel.epoll.Native.<clinit>(Native.java:61) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at io.micrometer.shaded.io.netty.channel.epoll.Epoll.<clinit>(Epoll.java:33) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
<TRUNCATED>
2018-07-24T13:43:15,392 DEBUG [i.m.s.i.n.u.i.NativeLibraryLoader] (localhost-startStop-1) [][] io_micrometer_shaded_netty_transport_native_epoll cannot be loaded from java.libary.path, now trying export to -Dio.netty.native.workdir: /tmp
java.lang.UnsatisfiedLinkError: no io_micrometer_shaded_netty_transport_native_epoll in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867) ~[?:1.8.0_121]
at java.lang.Runtime.loadLibrary0(Runtime.java:870) ~[?:1.8.0_121]
at java.lang.System.loadLibrary(System.java:1122) ~[?:1.8.0_121]
at io.micrometer.shaded.io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at io.micrometer.shaded.io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:243) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at io.micrometer.shaded.io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:124) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at io.micrometer.shaded.io.netty.channel.epoll.Native.loadNativeLibrary(Native.java:186) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at io.micrometer.shaded.io.netty.channel.epoll.Native.<clinit>(Native.java:61) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at io.micrometer.shaded.io.netty.channel.epoll.Epoll.<clinit>(Epoll.java:33) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
<TRUNCATED>
Suppressed: java.lang.UnsatisfiedLinkError: no io_micrometer_shaded_netty_transport_native_epoll in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867) ~[?:1.8.0_121]
at java.lang.Runtime.loadLibrary0(Runtime.java:870) ~[?:1.8.0_121]
at java.lang.System.loadLibrary(System.java:1122) ~[?:1.8.0_121]
at io.micrometer.shaded.io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_121]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_121]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_121]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_121]
at io.micrometer.shaded.io.netty.util.internal.NativeLibraryLoader$1.run(NativeLibraryLoader.java:263) ~[micrometer-registry-statsd-1.0.5.jar!/:1.0.5]
<TRUNCATED>
2018-07-24T13:43:15,395 DEBUG [i.m.s.r.i.n.r.DefaultLoopEpoll] (localhost-startStop-1) [][] Default Epoll support : false
2018-07-24T13:43:15,397 DEBUG [i.m.s.r.i.n.r.DefaultLoopKQueue] (localhost-startStop-1) [][] Default KQueue support : false
为什么我在日志中看到这个?这些消息重要吗?尽管它是DEBUG
,但我仍然很好奇-也许有一种方法可以更好地配置Micrometer,使其更高效。
谢谢!