Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Graphite reporter not working for beekeeper-vacuum-tool #50

Open
massdosage opened this issue Apr 23, 2020 · 0 comments
Open

Graphite reporter not working for beekeeper-vacuum-tool #50

massdosage opened this issue Apr 23, 2020 · 0 comments

Comments

@massdosage
Copy link
Contributor

Describe the bug

The Beekeeper Vacuum Tool doesn't appear to use any of the Graphite Configuration provided in the yml file, it ignores this whether its set to enabled or not. Even with no Graphite Configuration it appears to create and attempt to use a default Dropwizards/Codahale graphite reporter which throws warnings like so:

2020-04-22 20:05:54.397  WARN 15781 --- [           main] c.c.metrics.graphite.GraphiteReporter    : Unable to report to Graphite

java.net.ConnectException: Connection refused (Connection refused)
        at java.base/java.net.PlainSocketImpl.socketConnect(Native Method) ~[na:na]
        at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:399) ~[na:na]
        at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:242) ~[na:na]
        at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:224) ~[na:na]
        at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:403) ~[na:na]
        at java.base/java.net.Socket.connect(Socket.java:609) ~[na:na]
        at java.base/java.net.Socket.connect(Socket.java:558) ~[na:na]
        at java.base/java.net.Socket.<init>(Socket.java:454) ~[na:na]
        at java.base/java.net.Socket.<init>(Socket.java:264) ~[na:na]
        at java.base/javax.net.DefaultSocketFactory.createSocket(SocketFactory.java:277) ~[na:na]
        at com.codahale.metrics.graphite.PickledGraphite.connect(PickledGraphite.java:185) ~[metrics-graphite-4.0.5.jar!/:4.0.5]
        at com.codahale.metrics.graphite.GraphiteReporter.report(GraphiteReporter.java:265) ~[metrics-graphite-4.0.5.jar!/:4.0.5]
        at com.codahale.metrics.ScheduledReporter.report(ScheduledReporter.java:237) ~[metrics-core-4.0.5.jar!/:4.0.5]
        at io.micrometer.graphite.GraphiteMeterRegistry.close(GraphiteMeterRegistry.java:94) ~[micrometer-registry-graphite-1.1.3.jar!/:1.1.3]
        at java.base/java.lang.Iterable.forEach(Iterable.java:75) ~[na:na]
        at java.base/java.util.Collections$SetFromMap.forEach(Collections.java:5581) ~[na:na]
        at io.micrometer.core.instrument.composite.CompositeMeterRegistry.close(CompositeMeterRegistry.java:232) ~[micrometer-core-1.1.3.jar!/:1.1.3]
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na]
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
        at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na]
        at org.springframework.beans.factory.support.DisposableBeanAdapter.invokeCustomDestroyMethod(DisposableBeanAdapter.java:337) ~[spring-beans-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]
        at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:271) ~[spring-beans-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:571) ~[spring-beans-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:543) ~[spring-beans-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:1055) ~[spring-beans-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:504) ~[spring-beans-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:1062) ~[spring-beans-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]
        at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1057) ~[spring-context-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]
        at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1026) ~[spring-context-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]
        at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:975) ~[spring-context-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]
        at org.springframework.boot.SpringApplication.handleRunFailure(SpringApplication.java:834) ~[spring-boot-2.1.3.RELEASE.jar!/:2.1.3.RELEASE]
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:327) ~[spring-boot-2.1.3.RELEASE.jar!/:2.1.3.RELEASE]
        at com.expediagroup.beekeeper.vacuum.BeekeeperVacuumTool.main(BeekeeperVacuumTool.java:43) ~[classes!/:na]
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na]
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
        at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na]
        at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48) ~[beekeeper-vacuum-tool-2.1.0-SNAPSHOT.jar:na]
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:87) ~[beekeeper-vacuum-tool-2.1.0-SNAPSHOT.jar:na]
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:50) ~[beekeeper-vacuum-tool-2.1.0-SNAPSHOT.jar:na]
        at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:51) ~[beekeeper-vacuum-tool-2.1.0-SNAPSHOT.jar:na]

2020-04-22 20:05:54.400  WARN 15781 --- [           main] c.c.metrics.graphite.GraphiteReporter    : Unable to report to Graphite

java.net.ConnectException: Connection refused (Connection refused)
        at java.base/java.net.PlainSocketImpl.socketConnect(Native Method) ~[na:na]
        at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:399) ~[na:na]
        at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:242) ~[na:na]
        at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:224) ~[na:na]
        at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:403) ~[na:na]
        at java.base/java.net.Socket.connect(Socket.java:609) ~[na:na]
        at java.base/java.net.Socket.connect(Socket.java:558) ~[na:na]
        at java.base/java.net.Socket.<init>(Socket.java:454) ~[na:na]
        at java.base/java.net.Socket.<init>(Socket.java:264) ~[na:na]
        at java.base/javax.net.DefaultSocketFactory.createSocket(SocketFactory.java:277) ~[na:na]
        at com.codahale.metrics.graphite.PickledGraphite.connect(PickledGraphite.java:185) ~[metrics-graphite-4.0.5.jar!/:4.0.5]
        at com.codahale.metrics.graphite.GraphiteReporter.report(GraphiteReporter.java:265) ~[metrics-graphite-4.0.5.jar!/:4.0.5]
        at com.codahale.metrics.ScheduledReporter.report(ScheduledReporter.java:237) ~[metrics-core-4.0.5.jar!/:4.0.5]
        at io.micrometer.graphite.GraphiteMeterRegistry.close(GraphiteMeterRegistry.java:94) ~[micrometer-registry-graphite-1.1.3.jar!/:1.1.3]
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na]
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
        at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na]
        at org.springframework.beans.factory.support.DisposableBeanAdapter.invokeCustomDestroyMethod(DisposableBeanAdapter.java:337) ~[spring-beans-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]
        at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:271) ~[spring-beans-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:571) ~[spring-beans-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:543) ~[spring-beans-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:1055) ~[spring-beans-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:504) ~[spring-beans-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:1062) ~[spring-beans-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]
        at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1057) ~[spring-context-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]
        at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1026) ~[spring-context-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]
        at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:975) ~[spring-context-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]
        at org.springframework.boot.SpringApplication.handleRunFailure(SpringApplication.java:834) ~[spring-boot-2.1.3.RELEASE.jar!/:2.1.3.RELEASE]
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:327) ~[spring-boot-2.1.3.RELEASE.jar!/:2.1.3.RELEASE]
        at com.expediagroup.beekeeper.vacuum.BeekeeperVacuumTool.main(BeekeeperVacuumTool.java:43) ~[classes!/:na]
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na]
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
        at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na]
        at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48) ~[beekeeper-vacuum-tool-2.1.0-SNAPSHOT.jar:na]
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:87) ~[beekeeper-vacuum-tool-2.1.0-SNAPSHOT.jar:na]
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:50) ~[beekeeper-vacuum-tool-2.1.0-SNAPSHOT.jar:na]
        at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:51) ~[beekeeper-vacuum-tool-2.1.0-SNAPSHOT.jar:na]

To remove the above this temporary change has been placed in beekeeper-vacuum-tool's pom.xml:

   <dependency>
      <groupId>com.expediagroup</groupId>
      <artifactId>beekeeper-core</artifactId>
      <version>${project.version}</version>
      <exclusions>
        <!-- TODO: put this back and figure out why graphite config etc. is being ignored by vacuum-tool -->
        <exclusion>
          <groupId>io.micrometer</groupId>
          <artifactId>micrometer-registry-graphite</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

To Reproduce

  • Remove the above exclusion and rebuild beekeeper-vacuum-tool.
  • Perform a run using this and observe the above error.
  • Attempt to configure Graphite and observer that this appears to have no effect.

Expected behavior
Graphite configuration is honoured - disabled when not present or marked accordingly, and used when provided. Default behaviour when no graphite configuration is present is that the default Graphite Reporter in the stack trace above is not operational.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

1 participant