avioconsulting / mule-opentelemetry-module

Mule Extension to generate OpenTelemetry traces and metrics
https://avioconsulting.github.io/mule-opentelemetry-module/
BSD 2-Clause "Simplified" License
24 stars 9 forks source link

got kotlin/ExceptionsKt Cannot load class 'kotlin.ExceptionsKt': [ kotlin.ExceptionsKt] #189

Closed holiday-sunrise closed 2 months ago

holiday-sunrise commented 3 months ago

running the module with Mule 4.6.2 i got an error

manikmagar commented 3 months ago

@holiday-sunrise which Java runtime version are you using? Looks like a module loader related issue. Java 17 support #152 has not been added yet.

holiday-sunrise commented 3 months ago

We are using Java 8

it seams that the module is initialized

"Starting Bean: org.mule.runtime.module.extension.internal.runtime.config.StaticConfigurationProvider-OpenTelemetry_Config", "ecs.version": "1.2.0","service.name":"echo-dapi","service.version":"1.0.3","event.dataset":"echo-dapi","process.thread.name":"ArtifactDeployer.start.01","log.logger":"org.mule.runtime.core.privileged.lifecycle.AbstractLifecycleManager"} │ │ echo-dapi {"@timestamp":"2024-06-11T12:11:55.508Z","log.level": "INFO","message":"Initiating otel config - 'OpenTelemetry_Config'", "ecs.version": "1.2.0","service.name":"echo-dapi","service.version":"1.0.3","event.dataset":"echo-dapi","process.thread.name":"ArtifactDeployer.start.01","log.logger":"com.avioconsulting.mule.opentelemetry.internal.config.OpenTelemetryExtensionConfiguration"} │ │ echo-dapi {"@timestamp":"2024-06-11T12:11:55.616Z","log.level": "INFO","message":"Initialising OpenTelemetry Mule 4 Agent for instrumentation mule-opentelemetry-module:2.2.0", "ecs.version": "1.2.0","service.name":"echo-dapi","service.version":"1.0.3","event.dataset":"echo-dapi","process.thread.name":"ArtifactDeployer.start.01","log.logger":"com.avioconsulting.mule.opentelemetry.internal.connection.OpenTelemetryConnection"} │ │ echo-dapi {"@timestamp":"2024-06-11T12:11:56.013Z","log.level": "WARN","message":"OpenTelemetry Log4j support not found on the classpath. Logs will not be exported via OpenTelemetry.", "ecs.version": "1.2.0","service.name":"echo-dapi","service.version":"1.0.3","event.dataset":"echo-dapi","process.thread.name":"ArtifactDeployer.start.01","log.logger":"com.avioconsulting.mule.opentelemetry.internal.connection.OpenTelemetryConnection"} │ │ echo-dapi {"@timestamp":"2024-06-11T12:11:56.025Z","log.level": "INFO","message":"Starting Bean: org.mule.runtime.module.extension.internal.runtime.config.StaticConfigurationProvider-http-listener-config", "ecs.version": "1.2.0","service.name":"echo-dapi","service.version":"1.0.3","event.dataset":"echo-dapi","process.thread.name":"ArtifactDeployer.start.01","log.logger":"org.mule.runtime.core.privileged.lifecycle.AbstractLifecycleManager"}

when we curl a request we can see the following log

echo-dapi {"@timestamp":"2024-06-11T12:18:38.252Z","log.level": "WARN","message":"Could not locate a component for http-policy:execute-next at 1620623-rate-limit-sla/source/processors/0/processors/1", "ecs.version": "1.2.0","service.name":"echo-dapi","service.version":"1.0.3","event.dataset":"echo-dapi","process.thread.name":"[MuleRuntime].uber.06: [rate-limiting-sla-based-1620623 @ echo-dapi-mule-application-echo-dapi-main].1620623-rate-limit-sla.CPU_LITE @13a7977b","log.logger":" │ │ com.avioconsulting.mule.opentelemetry.internal.interceptor.ProcessorTracingInterceptor","correlationId":"bb738550-27ec-11ef-93b2-c60282ac7829","processorPath":"1620623-rate-limit-sla/source/processors/0/processors/1"}

holiday-sunrise commented 3 months ago

Additional infos

java.lang.NoClassDefFoundError: kotlin/ExceptionsKt at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:531) 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:750)

manikmagar commented 3 months ago

@holiday-sunrise the following warning can be safely ignored. We have #188 to fix that.

echo-dapi {"@timestamp":"2024-06-11T12:18:38.252Z","log.level": "WARN","message":"Could not locate a component for http-policy:execute-next at 1620623-rate-limit-sla/source/processors/0/processors/1", "ecs.version": "1.2.0","service.name":"echo-dapi","service.version":"1.0.3","event.dataset":"echo-dapi","process.thread.name":"[MuleRuntime].uber.06: [rate-limiting-sla-based-1620623 @ echo-dapi-mule-application-echo-dapi-main].1620623-rate-limit-sla.CPU_LITE @13a7977b","log.logger":" │ │ com.avioconsulting.mule.opentelemetry.internal.interceptor.ProcessorTracingInterceptor","correlationId":"bb738550-27ec-11ef-93b2-c60282ac7829","processorPath":"1620623-rate-limit-sla/source/processors/0/processors/1"}

I tried running a simple app on 4.6.2 - Runtime and Java Config -

*                                                                    *
* Mule Runtime and Integration Platform                              *
* Version: 4.6.2 Build: 1307fed0                                     *
* MuleSoft, Inc.                                                     *
* For more information go to                                         *
* https://www.mulesoft.com/platform/soa/mule-esb-enterprise          *
*                                                                    *
* Server started: 6/13/24 11:16 AM                                   *
* JDK: 1.8.0_382 (mixed mode)                                        *
* JDK properties:                                                    *
*  - java.vendor = Azul Systems, Inc.                                *
*  - java.vm.name = OpenJDK 64-Bit Server VM                         *

OTel module initialized properly -

INFO  2024-06-13 11:16:08,832 [ArtifactDeployer.start.01] [processor: ; event: ] com.avioconsulting.mule.opentelemetry.internal.config.OpenTelemetryExtensionConfiguration: Initiating otel config - 'OpenTelemetry_Config'
INFO  2024-06-13 11:16:08,896 [ArtifactDeployer.start.01] [processor: ; event: ] com.avioconsulting.mule.opentelemetry.internal.connection.OpenTelemetryConnection: Initialising OpenTelemetry Mule 4 Agent for instrumentation mule-opentelemetry-module:2.2.0

but did not see any errors when sending a request with curl -

**********************************************************************
* Application: simple-otel-1.0.0-SNAPSHOT-mule-application           *
* OS encoding: UTF-8, Mule encoding: UTF-8                           *
*                                                                    *
**********************************************************************
INFO  2024-06-13 11:16:09,587 [[MuleRuntime].uber.03: [simple-otel-1.0.0-SNAPSHOT-mule-application].simple-otelFlow.CPU_LITE @12cc4744] [processor: simple-otelFlow/processors/4; event: 3c1f8ee0-2948-11ef-94ae-ca89f39a1b65] org.mule.runtime.core.internal.processor.LoggerMessageProcessor: Scheduler log
INFO  2024-06-13 11:17:17,404 [[MuleRuntime].uber.03: [simple-otel-1.0.0-SNAPSHOT-mule-application].simple-otel-log-flow.CPU_LITE @21255ab3] [processor: simple-otel-log-flow/processors/5; event: 64986db0-2948-11ef-94ae-ca89f39a1b65] org.mule.runtime.core.internal.processor.LoggerMessageProcessor: Sample otel log

Can you provide any simple app to reproduce?

holiday-sunrise commented 3 months ago

after a some request we can see the error #188. if this error occurs the export stop working. we can't find futher information.

can we increase the loglevel ?

simple app, give me some time

holiday-sunrise commented 3 months ago

its a managed api. the error occurs with heavy load executed with soapUi Load test.

holiday-sunrise commented 3 months ago

echo-dapi.zip

holiday-sunrise commented 3 months ago

any news ?