Dear Ivy Team For REST logs (rest_client category), I would like to log the elapsed time as well as the amount of data transferred. Any tips how to configure IvyLog4jLayout ? Best regards John |
Hi John REST payload logs are currently limited to the features you already see in the designer. There is no summary of the content-length available when sending REST requests. But the content-length header of the response could contain valid sizes (if we're not receiving chuncked output). What is possible today is to record request/response data via JMX api and use the visualvm plugin to detect slow services. To enable request/response payload recording:
Then one could directly analyze slow calls in the |
Thank you ... but (response here because I needed to add a pic)
The External REST webservices will only be visible after the engine actually made any REST service calls (even if they call services on localhost). And as far as I remember also only on real engines - not on a Designer embedded engine. May be I have to make that clear - I am not speaking of the Designer (and will never do), I am talking about profiling in TEST and PROD. Ok but still, the node does not show up until any rest client calls have been made. And the visualVM UIs are sometimes a little weird. It can help to restart the visualVM and reconnect to the engine after you know that at least one 'rest call' has been invoked. Are only rest calls made with the Ivy Rest Client logged - what if someone used the Jax RS Client to make a rest call ? Further I've installed the Axon.Ivy plugin in visualvm - there is a tab called "REST services". This also stays empty even though hundreds of calls have been made. All REST calls done via the officially documented ivy APIs are logged. To be precise:
But not: plain JAX-RS/Jersey/HttpClient callls. If you have some of these I'd definitively recommend a migration towards the standard tooling of the platform. The main benefits of using the ivy.api are: highly configurable services + monitoring/logging capabilities. In most cases a migration towards Ivy.rest() comes almost for free. The returned API is pretty soon standard JAX_RS. We only adjust the Client setup. The 'rest services' tab relies upon the same JMX API that is exposed in the 'Mbeans' tab. It comes with some nice visualizations but with less configuration options. But yes, if a REST call has been made using the standard approach of the platform it should be shown in the 'rest services' tab. However, I think you are already on the right investigation path - some other technology has been used to call REST services.
showing 5 of 6
show 1 more comments
|
Once you sign in you will be able to subscribe for any updates here
By RSS:Markdown Basics
Tags:
Asked: 03.02.2020 at 11:32
Seen: 1,942 times
Last updated: 05.02.2020 at 09:11