I have a system which has multiple Java, C++ and Python services calling each other for getting various tasks done. It is a nearly 20 year old system that I have inherited.
Now, when I debug issues, I find it tough to identify which client is calling which service in which scenario. The problem is multiplied by the fact that this is a multi-layered system.
These services reside in the same Linux machine in test environment but connect to each other using IPs and ports (since that is the way the multi-machine production environment is setup).
Is there a way for me to detect which service is being called and by which client in each scenario by using some tool like sniffer? If so, can someone help me understand if there is any specific configuration that needs to be done?
P.S.: I can look through the logs to find out this information. But trolling through 15-20 service logs to find out these details and matching their various logging formats is not trivial. :(
Based on suggestions, I am adding more details: I have a use case where a user clicks on a button B1 and a Web service W1 is invoked. W1 might invoke one of the following services: a RESTful service R1, another RESTful service R2 or a SOAP service S1. Also, S1 can in turn invoke R1 in some of the use cases too.
Now, how do I find out which service was called and in which order?