jira-prometheus-exporter icon indicating copy to clipboard operation
jira-prometheus-exporter copied to clipboard

Jira 8.7 support

Open ihulsbus opened this issue 4 years ago • 5 comments

Hi,

It seems that the plugin is not functioning in Jira 8.7.1, as it throws the following errors and does not display metrics:

2020-02-21 07:20:45,629+0100 ThreadPoolAsyncTaskExecutor::Thread 39 ERROR XXXXXXXX 440x95641x1 lnu1vp XXX.XXX.XXX.XXX /rest/plugins/1.0/ru.andreymarkelov.atlas.plugins.prom-jira-exporter-key [r.a.a.p.promjiraexporter.service.MetricCollectorImpl] Error collect prometheus metrics
java.lang.NoSuchMethodError: com.atlassian.application.api.Application.getLicense()Lcom/atlassian/fugue/Option;
	at ru.andreymarkelov.atlas.plugins.promjiraexporter.service.MetricCollectorImpl.licenseMetrics(MetricCollectorImpl.java:418)
	at ru.andreymarkelov.atlas.plugins.promjiraexporter.service.MetricCollectorImpl.collectInternal(MetricCollectorImpl.java:472)
	at ru.andreymarkelov.atlas.plugins.promjiraexporter.service.MetricCollectorImpl.collect(MetricCollectorImpl.java:610)
	at io.prometheus.client.CollectorRegistry.collectorNames(CollectorRegistry.java:100)
	at io.prometheus.client.CollectorRegistry.register(CollectorRegistry.java:50)
	at ru.andreymarkelov.atlas.plugins.promjiraexporter.service.MetricCollectorImpl.afterPropertiesSet(MetricCollectorImpl.java:597)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1753)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1690)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:573)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:495)
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:317)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:315)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:759)
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)
	at org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext.access$1600(AbstractDelegatedExecutionApplicationContext.java:57)
	at org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.java:322)
	at org.eclipse.gemini.blueprint.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85)
	at org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:287)
	at org.eclipse.gemini.blueprint.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:137)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
2020-02-21 07:20:52,248+0100 http-nio-8080-exec-8 url:/plugins/servlet/prometheus/metrics ERROR anonymous 440x95655x1 - XXX.XXX.XXX.XXX /plugins/servlet/prometheus/metrics [r.a.a.p.promjiraexporter.service.MetricCollectorImpl] Error collect prometheus metrics
java.lang.NoSuchMethodError: com.atlassian.application.api.Application.getLicense()Lcom/atlassian/fugue/Option;
	at ru.andreymarkelov.atlas.plugins.promjiraexporter.service.MetricCollectorImpl.licenseMetrics(MetricCollectorImpl.java:418)
	at ru.andreymarkelov.atlas.plugins.promjiraexporter.service.MetricCollectorImpl.collectInternal(MetricCollectorImpl.java:472)
	at ru.andreymarkelov.atlas.plugins.promjiraexporter.service.MetricCollectorImpl.collect(MetricCollectorImpl.java:610)
	at io.prometheus.client.CollectorRegistry$MetricFamilySamplesEnumeration.findNextElement(CollectorRegistry.java:183)
	at io.prometheus.client.CollectorRegistry$MetricFamilySamplesEnumeration.nextElement(CollectorRegistry.java:216)
	at io.prometheus.client.CollectorRegistry$MetricFamilySamplesEnumeration.nextElement(CollectorRegistry.java:137)
	at io.prometheus.client.exporter.common.TextFormat.write004(TextFormat.java:22)
	at ru.andreymarkelov.atlas.plugins.promjiraexporter.servlet.PrometheusExporter.doGet(PrometheusExporter.java:44)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
	at com.atlassian.plugin.servlet.DelegatingPluginServlet.service(DelegatingPluginServlet.java:37)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
	at com.atlassian.plugin.servlet.ServletModuleContainerServlet.service(ServletModuleContainerServlet.java:46)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
	... 44 filtered
	at com.atlassian.servicedesk.internal.web.ExternalCustomerLockoutFilter.doFilter(ExternalCustomerLockoutFilter.java:55)
	... 8 filtered
	at com.atlassian.jira.plugin.mobile.web.filter.MobileAppRequestFilter.doFilter(MobileAppRequestFilter.java:59)
	... 4 filtered
	at com.atlassian.jira.plugin.mobile.login.MobileLoginSuccessFilter.doFilter(MobileLoginSuccessFilter.java:54)
	... 3 filtered
	at com.atlassian.diagnostics.internal.platform.monitor.http.HttpRequestMonitoringFilter.doFilter(HttpRequestMonitoringFilter.java:55)
	... 8 filtered
	at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21)
	... 51 filtered
	at com.atlassian.ams.shipit.servlet.filter.AbstractThreadFilter.doFilter(AbstractThreadFilter.java:56)
	at com.atlassian.ams.shipit.servlet.filter.AbstractThreadFilter.doFilter(AbstractThreadFilter.java:37)
	... 14 filtered
	at com.atlassian.jira.security.JiraSecurityFilter.lambda$doFilter$0(JiraSecurityFilter.java:66)
	... 1 filtered
	at com.atlassian.jira.security.JiraSecurityFilter.doFilter(JiraSecurityFilter.java:64)
	... 16 filtered
	at ru.andreymarkelov.atlas.plugins.promjiraexporter.servlet.AllEndpointFilter$1.run(AllEndpointFilter.java:44)
	at ru.andreymarkelov.atlas.plugins.promjiraexporter.service.MetricCollectorImpl.requestDuration(MetricCollectorImpl.java:266)
	at ru.andreymarkelov.atlas.plugins.promjiraexporter.servlet.AllEndpointFilter.doFilter(AllEndpointFilter.java:39)
	... 23 filtered
	at com.atlassian.jira.servermetrics.CorrelationIdPopulatorFilter.doFilter(CorrelationIdPopulatorFilter.java:30)
	... 5 filtered
	at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.lambda$invokeFilterChain$0(CustomerContextSettingFilter.java:212)
	at com.atlassian.servicedesk.internal.api.util.context.ReentrantThreadLocalBasedCodeContext.rteInvoke(ReentrantThreadLocalBasedCodeContext.java:136)
	at com.atlassian.servicedesk.internal.api.util.context.ReentrantThreadLocalBasedCodeContext.runOutOfContext(ReentrantThreadLocalBasedCodeContext.java:89)
	at com.atlassian.servicedesk.internal.utils.context.CustomerContextServiceImpl.runOutOfCustomerContext(CustomerContextServiceImpl.java:47)
	at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.outOfCustomerContext(CustomerContextSettingFilter.java:203)
	at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.doFilterImpl(CustomerContextSettingFilter.java:134)
	at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.doFilter(CustomerContextSettingFilter.java:123)
	... 4 filtered
	at com.atlassian.jwt.internal.servlet.JwtAuthFilter.doFilter(JwtAuthFilter.java:37)
	... 8 filtered
	at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21)
	... 4 filtered
	at com.atlassian.ams.shipit.servlet.filter.AbstractThreadFilter.runWithChangedThreadName(AbstractThreadFilter.java:69)
	at com.atlassian.ams.shipit.servlet.filter.AbstractThreadFilter.doFilter(AbstractThreadFilter.java:53)
	at com.atlassian.ams.shipit.servlet.filter.AbstractThreadFilter.doFilter(AbstractThreadFilter.java:37)
	... 3 filtered
	at com.atlassian.web.servlet.plugin.LocationCleanerFilter.doFilter(LocationCleanerFilter.java:36)
	... 29 filtered
	at com.atlassian.jira.servermetrics.MetricsCollectorFilter.doFilter(MetricsCollectorFilter.java:25)
	... 27 filtered
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:748)

Are you planning to update the plugin for Jira 8.7?

Cheers,

ihulsbus avatar Feb 21 '20 07:02 ihulsbus

Yeah. I see. Fixing

AndreyVMarkelov avatar Feb 21 '20 07:02 AndreyVMarkelov

Please try this https://github.com/AndreyVMarkelov/jira-prometheus-exporter/releases/download/1.0.33-jira8/prom-jira-exporter-1.0.33-jira8.jar

AndreyVMarkelov avatar Mar 04 '20 06:03 AndreyVMarkelov

Hi Andrey,

I will try ASAP (tomorrow). Thanks!

ihulsbus avatar Mar 16 '20 17:03 ihulsbus

Hello,

I've tested and deployed the new version, and all seems well. Thanks for the fix!

Cheers,

ihulsbus avatar Mar 17 '20 16:03 ihulsbus

This is legacy problem from java7 and fogue class

Please lemme know if any issues

On Tue, Mar 17, 2020 at 09:34 Ian Hulsbus [email protected] wrote:

Hello,

I've tested and deployed the new version, and all seems well. Thanks for the fix!

Cheers,

— You are receiving this because you commented.

Reply to this email directly, view it on GitHub https://github.com/AndreyVMarkelov/jira-prometheus-exporter/issues/62#issuecomment-600170718, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAPXM4GSI6IYO7CPTBFCNALRH6RAPANCNFSM4KY5PNVA .

-- -- Andrey Markelov

AndreyVMarkelov avatar Mar 17 '20 16:03 AndreyVMarkelov