github-insights / github-metrics

0 stars 0 forks source link

Fetching self-hosted runners fails #166

Open timpeeters opened 4 months ago

timpeeters commented 4 months ago
2024-05-29T06:48:00.192Z ERROR 1 --- [askScheduler-88] o.s.s.s.TaskUtils$LoggingErrorHandler    : Unexpected error occurred in scheduled task

java.lang.IllegalStateException: The string Darwin 23.4.0 Darwin Kernel Version 23.4.0: Fri Mar 15 00:10:50 PDT 2024; root:xnu-10063.101.17~1/RELEASE_ARM64_VMAPPLE could not be parsed to the OperatingSystem enum.
    at be.xplore.githubmetrics.githubadapter.mappingclasses.GHSelfHostedRunner.getOs(GHSelfHostedRunner.java:23) ~[github-adapter-0.0.1-SNAPSHOT-plain.jar:na]
    at be.xplore.githubmetrics.githubadapter.mappingclasses.GHSelfHostedRunner.getRunner(GHSelfHostedRunner.java:15) ~[github-adapter-0.0.1-SNAPSHOT-plain.jar:na]
    at java.base/java.util.stream.ReferencePipeline$3$1.accept(Unknown Source) ~[na:na]
    at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source) ~[na:na]
    at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source) ~[na:na]
    at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) ~[na:na]
    at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source) ~[na:na]
    at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(Unknown Source) ~[na:na]
    at java.base/java.util.stream.ReferencePipeline.toArray(Unknown Source) ~[na:na]
    at java.base/java.util.stream.ReferencePipeline.toArray(Unknown Source) ~[na:na]
    at java.base/java.util.stream.ReferencePipeline.toList(Unknown Source) ~[na:na]
    at be.xplore.githubmetrics.githubadapter.mappingclasses.GHSelfHostedRunners.getRunners(GHSelfHostedRunners.java:12) ~[github-adapter-0.0.1-SNAPSHOT-plain.jar:na]
    at be.xplore.githubmetrics.githubadapter.GithubApiUtilities.followPaginationLink(GithubApiUtilities.java:46) ~[github-adapter-0.0.1-SNAPSHOT-plain.jar:na]
    at be.xplore.githubmetrics.githubadapter.SelfHostedRunnerAdapter.fetchSelfHostedRunners(SelfHostedRunnerAdapter.java:103) ~[github-adapter-0.0.1-SNAPSHOT-plain.jar:na]
    at be.xplore.githubmetrics.githubadapter.SelfHostedRunnerAdapter.getForOrganization(SelfHostedRunnerAdapter.java:59) ~[github-adapter-0.0.1-SNAPSHOT-plain.jar:na]
    at be.xplore.githubmetrics.githubadapter.SelfHostedRunnerAdapter.getAllSelfHostedRunners(SelfHostedRunnerAdapter.java:52) ~[github-adapter-0.0.1-SNAPSHOT-plain.jar:na]
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source) ~[na:na]
    at java.base/java.lang.reflect.Method.invoke(Unknown Source) ~[na:na]
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354) ~[spring-aop-6.1.8.jar:6.1.8]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) ~[spring-aop-6.1.8.jar:6.1.8]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-6.1.8.jar:6.1.8]
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) ~[spring-aop-6.1.8.jar:6.1.8]
    at org.springframework.cache.interceptor.CacheInterceptor.lambda$invoke$0(CacheInterceptor.java:64) ~[spring-context-6.1.8.jar:6.1.8]
    at org.springframework.cache.interceptor.CacheAspectSupport.invokeOperation(CacheAspectSupport.java:416) ~[spring-context-6.1.8.jar:6.1.8]
    at org.springframework.cache.interceptor.CacheAspectSupport.evaluate(CacheAspectSupport.java:545) ~[spring-context-6.1.8.jar:6.1.8]
    at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:433) ~[spring-context-6.1.8.jar:6.1.8]
    at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:395) ~[spring-context-6.1.8.jar:6.1.8]
    at org.springframework.cache.interceptor.CacheInterceptor.invoke(CacheInterceptor.java:74) ~[spring-context-6.1.8.jar:6.1.8]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.1.8.jar:6.1.8]
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) ~[spring-aop-6.1.8.jar:6.1.8]
    at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720) ~[spring-aop-6.1.8.jar:6.1.8]
    at be.xplore.githubmetrics.githubadapter.SelfHostedRunnerAdapter$$SpringCGLIB$$0.getAllSelfHostedRunners(<generated>) ~[github-adapter-0.0.1-SNAPSHOT-plain.jar:na]
    at be.xplore.githubmetrics.domain.selfhostedrunner.GetAllSelfHostedRunnersUseCase.getAllSelfHostedRunners(GetAllSelfHostedRunnersUseCase.java:31) ~[domain-0.0.1-SNAPSHOT-plain.jar:na]
    at be.xplore.githubmetrics.prometheusexporter.selfhostedrunner.SelfHostedRunnerCountsExporter.retrieveAndExportSelfHostedRunnerCounts(SelfHostedRunnerCountsExporter.java:64) ~[prometheus-exporter-0.0.1-SNAPSHOT-plain.jar:na]
    at be.xplore.githubmetrics.prometheusexporter.selfhostedrunner.SelfHostedRunnerCountsExporter.run(SelfHostedRunnerCountsExporter.java:97) ~[prometheus-exporter-0.0.1-SNAPSHOT-plain.jar:na]
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source) ~[na:na]
    at java.base/java.lang.reflect.Method.invoke(Unknown Source) ~[na:na]
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354) ~[spring-aop-6.1.8.jar:6.1.8]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) ~[spring-aop-6.1.8.jar:6.1.8]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-6.1.8.jar:6.1.8]
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) ~[spring-aop-6.1.8.jar:6.1.8]
    at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) ~[spring-aop-6.1.8.jar:6.1.8]
    at be.xplore.githubmetrics.prometheusexporter.features.FeaturesAspect.checkAspect(FeaturesAspect.java:23) ~[prometheus-exporter-0.0.1-SNAPSHOT-plain.jar:na]
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source) ~[na:na]
    at java.base/java.lang.reflect.Method.invoke(Unknown Source) ~[na:na]
    at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:637) ~[spring-aop-6.1.8.jar:6.1.8]
    at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:627) ~[spring-aop-6.1.8.jar:6.1.8]
    at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:71) ~[spring-aop-6.1.8.jar:6.1.8]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:173) ~[spring-aop-6.1.8.jar:6.1.8]
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) ~[spring-aop-6.1.8.jar:6.1.8]
    at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) ~[spring-aop-6.1.8.jar:6.1.8]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.1.8.jar:6.1.8]
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) ~[spring-aop-6.1.8.jar:6.1.8]
    at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720) ~[spring-aop-6.1.8.jar:6.1.8]
    at be.xplore.githubmetrics.prometheusexporter.selfhostedrunner.SelfHostedRunnerCountsExporter$$SpringCGLIB$$0.run(<generated>) ~[prometheus-exporter-0.0.1-SNAPSHOT-plain.jar:na]
    at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) ~[spring-context-6.1.8.jar:6.1.8]
    at java.base/java.lang.VirtualThread.run(Unknown Source) ~[na:na]
tomellm commented 4 months ago

@timpeeters I can easily change this Enum to be a simple String, but that would lead to higher cardinality on the Prometheus side. That said I can't imagine that it would become high enough to be a problem.