Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 345406 - listBundles performance is really poor Gemini management
Summary: listBundles performance is really poor Gemini management
Status: CLOSED FIXED
Alias: None
Product: Gemini.Management
Classification: RT
Component: Core (show other bugs)
Version: pre-release   Edit
Hardware: PC Mac OS X - Carbon (unsup.)
: P3 major (vote)
Target Milestone: 1.0.0.M01-incubation   Edit
Assignee: Peter Peshev CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-05-11 08:15 EDT by Dimitar Giormov CLA
Modified: 2012-06-07 06:08 EDT (History)
4 users (show)

See Also:


Attachments
listBundles(mask) method added. (25.16 KB, patch)
2011-05-11 11:30 EDT, Dimitar Giormov CLA
peter.peshev: iplog+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Dimitar Giormov CLA 2011-05-11 08:15:53 EDT
In Gemini management: BundleState MBean listBundles method requires a lot of CPU power and time to complete. In small runtimes where up to 50 bundles are present on a modern PC it takes about 10+ seconds, during this time CPU is heavily used. For bigger runtimes such as eclipse it can take up to 40 min to execute. 

All this is happening because the amount of information that is gathered including import packages, import bundles, export packages, fragments, hosts, services, bundle name, id and so on.

What we suggest is that we create a listBundles method that will take a mask parameter and the developer can decide what information he/she will need in the his/hers scenario. 
This implementation will be additional on top of what the specification requires. Maybe later on it can become part of the specification.
Comment 1 Michael Keith CLA 2011-05-11 10:01:17 EDT
Changing to Gemini.Management bin.
Comment 2 Michael Keith CLA 2011-05-11 10:05:05 EDT
Reassigning to Peter.
Comment 3 Dimitar Giormov CLA 2011-05-11 11:30:40 EDT
Created attachment 195377 [details]
listBundles(mask) method added.

additionally the OSGiBundle wrapper is made to lazy load the information, since till now on creating the object the whole information was extracted thus slowing down the system significantly.
Comment 4 Peter Peshev CLA 2011-05-30 04:14:40 EDT
Fixed, by accepting the changes in the SVN
There is no build \ released version yet, but when we create one (another bug) the fix would appear
Comment 5 Peter Peshev CLA 2011-06-03 08:18:43 EDT
closed, available in the latest build