Marcus Holgersson , pp. 41. Inst. för Programvaruteknik och Datavetenskap/Dept. of Software Engineering and Computer Science, 2001.
Distributed computing systems are becoming more and more important in everyday life as well as in industrial and scientific domains. The Internet and its capabilities enable people to communicate and cooperate all over the world. One way to construct distributed systems is to use a communication model with distributed objects as CORBA (Common Object Request Broker Architecture). Distributed objects give many advantages, but suffer from some performance problems.
In order to handle the performance problem it is important to find where in the event chain the delays occur. Therefore a tool for performance measurement and for identifying the bottlenecks in a distributed system should be a great help. This report answers the question: Can a profiling tool for CORBA applications, constructed with Interceptors as instrumentation for measuring points, give sufficient information for identify performance problems?
This report investigates the possibilities to measure performance in a distributed system and if it s possible to automatically find the bottlenecks in a distributed system. The needs of a profiling tool are discussed and analyzed. The different ways of constructing a tool for distributed profiling is discussed. For verifying the ideas evolved in the investigation a prototype tool for profiling and performance measures is constructed. The profiling tool is constructed with Interceptors as instrumentation of the different nodes in the distributed system. A presentation program is also constructed for making the captured information more readable.
The tool and presentation program constructed give the flow of the system in different callgraphs and also produces some call statistics in different levels. The constructed tool is tested and verified in a distributed environment. In the experiments we shows that the principle of the tool can work in a distributed environment and gives sufficient information for finding the bottlenecks and identifying the performance problems of the system.