02 May 2023 08:23 PM - last edited on 08 May 2023 11:22 PM by MaciejNeumann
Our team application use spring cloud gateway (base on spring webflux).
For almost request, dynatrace reports timeout exception but request process successfully and exception log is none in application log.
Solved! Go to Solution.
Can you show us the rest of the top of the error, As we see an error message, but not an exception on the trace page in the error section.
How how do you mean in the application log? is this a custom log you ingest through the API or does the 'spring cloud gateway' write to windows application log or something?
I think it would be good to see the full trace information, so we can see the returned HTTP status too.
Does your tenant have any custom error rules setup? - Maybe it being returned as a http 500 as an example, but for that service, you have a custom rule to have http 500 return as successful? or for that specific exception - Take a look here: https://www.dynatrace.com/support/help/platform-modules/applications-and-microservices/services/serv...
- Integrate Managed Dynatrace that is provided from co-work company.
- Install OneAgent to CentOS 7.9
- Use Purepath (not Ingested traces)
I attached sample github sample repository.
The http status value of mentioned request is 200.
Please refer to check additional full screenshot.
I mean application log is log4j2 log.
I do not configure custom error rule and almost configuration have default value currently.
How OneAgent Captures Exceptions
This is what has been said before, by a Dynatrace Engineer, to a similar question:
OA does not look at the logs. It is done via instrumentation. E.g the Java agent instruments the constructor of an exception. So everytime an exception is created (no matter if thrown or not) the information is added to an existing PurePath. If no PurePath has been started before, also no exception info is added.
Please note that a pre-defined set of exceptions is excluded to avoid spamming the PurePath.
Logging in Apps, is normally set explicitly by the developer. They chose what and when to log. Normally you can set settings for allowing verbose logging on apps; maybe you have this option?
https://github.com/spring-cloud/spring-cloud-gateway/blob/f973d10e29bf16cd877290f6deb1865a0ce06916/s... - this is an older version, but highlights the code for capturing the exception in the cloud gateway framework
Here are some of the timeout defualts: https://cloud.spring.io/spring-cloud-gateway/reference/html/appendix.html
The timeout must be set very to be a very small value.
I hope this helps a bit. Or someone else more knowledgeable than myself, can help.
Hi, Tom Eaton
Thank for your detail guide.
My intention is this situation may be dynatrace instrument bug. (Especially it might be related project reactor instrumentation)
Since requested api was processed quickly about 30ms, configured timeout 3 seconds is acceptable.
Although request has been processed successfully, I do not understand why timeout exception is reported at dynatrace yet.
Now, I will review your detail guide and apply your guidance.
Thank you in advance.