Sunday, May 11, 2008

Hello again!

The weather in Estonia is excellent: sun is shining, trees are green and the sky is without the clouds. It means that the summer is very close!

I was a little bit busy this week, I am writing my bachelor thesis right now, the dealine is 29 of May, but I have good news about the gsoc project - now I can profile sip-communicator with
  1. hprof
  2. Eclipse TPTP project
  3. NetBeans
  4. JProfiler

All the profilers have own peculiar features concerning the configuration. General rule for profiling sip-communicator is to provide bundles implicit access to stuff on the class path in sip-comm\lib\felix.client.run.properties. This is obligatory because of OGSi architecture - you need to delegate a boot of profiler classes first. Only exclusion was NetBeans, it supports a dynamic profiler attachment for a running application (only with java6 +), but the use of direct invocation is also available.

So if you wish to use sip-communicator with a profiler listed before insert the next a definition in felix.client.run.properties:

  1. org.osgi.framework.bootdelegation=com.sun.demo.jvmti.hprof.* \
  2. org.osgi.framework.bootdelegation=org.eclipse.tptp.martini.* \
  3. org.osgi.framework.bootdelegation=org.netbeans.lib.profiler.server.* \
  4. org.osgi.framework.bootdelegation=com.jprofiler.agent.*\

If you use another profiler, you will see a missing package in the exception.

As netbeans uses ant for running the sip-communicator, I made an ant task for profiling it.

Next steps:

Read the profilers documentation, see the profiling tutorials (i.e. http://www.ej-technologies.com/products/jprofiler/tutorials.html), try to profile demo applications and sip-communicator - to get some profiling experience for a start.

P.S. Thanks to Thiago Bolaum for the help with working under TPTP. Your information was very essential.

Wednesday, April 30, 2008

First week

With a subscription on GSoC groups I receive now about 100 mails per a day, nice =) I have to spend about an hour to read all of them. Im waiting for a letter of acceptance from my university, then I can fax all the documents to google. And I have been acquainted with my mentor, Ben.

The week status:
The week was more about management and getting acquianted with the project, I spent an evening to start working with TPTP and agent controllers, but the work is still in progress.

Problems:
1. When I start ACServer and connecting to it with TPTP a don't see any informarion in ACServer's console. Even doing telnet localhost 10002 doesn't result any data in the server's console. Is it ok ?
2. Actually I don't really know what the agent controllers are needed for. I have to read about them in TPTP documantation.
3. I added in felix.client.run.properties a row:
org.osgi.framework.bootdelegation= org.eclipse.tptp.jvmti \
then the needed classes are found by eclipse. But when I starting the profiling there is only silence and it is impossible to get any visual inforamation.

Next week steps:
Prolong with administrational stuff and resolve the problems.

Tuesday, April 22, 2008

Hello World!

I am one of the lucky students that are participating in GSoC'08. I am very glad to be here.

My name is Vladimir Škarupelov. I am studying computer science in the University of Tartu (Estonia) for a last bachelor's year. This year I plan to became a master student of the University. So this year will be very very special for me =).

So the topic of GSoC work is performance profiling and optimizations of sip-communicator. During the past several years SIP Communicator has been growing as more and more features have been added to it. It is reached a point where a performance is becoming critical and time is ripe for a good deal of profiling to take place. During this project SIP Communicator will be monitored a lot, a number of profiling tests will be performed on it and in accordinance with good programming practices laggy code will be rewritten (optimized) and then finally tested. After optimizations Sip Communicator will perform faster and feel more snappy to the users. Found performance problems and solutions will be collected and then given out to the Sip Communicator contributers.

This blog is suitable for collecting all the project related stuff, for instance collecting "time expensive" code snippets or something like that. Here in the blog I will publish the current status of the project and describe my next steps for a week.

Current Status
I have already profiled sip-communicator with hprof and jhat

Next steps
Profiling with eclipse and netbeans.
It is needed to know the good and bad sides of the profiling tools to start working on the project.