vmware / vmware-aria-operations-integration-sdk

The VMware Aria Operations Integration SDK contains libraries, tools, and documentation for developing Management Packs for VMware Aria Operations. It is intended to make creating a Management Pack simple and fast, while allowing developers to use the language of their choice.
https://vmware.github.io/vmware-aria-operations-integration-sdk/
Apache License 2.0
17 stars 6 forks source link

Java SDK testConnection additional latency of ~1min added #359

Open ahmed-sadak opened 8 months ago

ahmed-sadak commented 8 months ago

Describe the bug

A JDK-based management pack with Integration SDK: when mp-test with 'test connection' is executed and the actual time taken is around 30-60s above the time taken inside both Java main method executions for 'get endpoints' and 'test connection' combined together

Reproduction steps

  1. Write a JDK-based mgmt pack which makes an additional call to an external system
  2. Try mp-test and connect to that external system
  3. With my example 'get endpoints' takes about 5 secs inside the main method in Java
  4. 'test connection' takes about 16 secs inside the main method in Java
  5. The above times out
  6. Test with 'mp-test connect -t 90' which takes around 75 seconds -> looks like some minute or so is added by the framework and Python server ...

Expected behavior

Expected behaviour is that there is not much additional delay apart from the actual execution of the Java main methods

Additional context

No response

TrueFiskibility commented 7 months ago

@ahmed-sadak I am curious, how did you determine the times you've listed here? (5 seconds for get endpoints, 16 seconds for test connection)

ahmed-sadak commented 7 months ago

I measured the 5 seconds for 'get endpoint' and 16 secs for 'test connection' from the entry in main() method until the exit while I had configured higher total timeout through mp-test in order to not shut down the process.

TrueFiskibility commented 7 months ago

Ok, thanks. It sounds like you manually instrumented the code with logging in order to determine this timing. Is that correct?