Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 119474 - WI4 (112371): Review all three producer Common Base Event implementations to identify and resolve new performance and memory issues.
Summary: WI4 (112371): Review all three producer Common Base Event implementations to ...
Status: CLOSED WONTFIX
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: TPTP (show other bugs)
Version: unspecified   Edit
Hardware: All All
: P1 normal (vote)
Target Milestone: ---   Edit
Assignee: Cindy Jin CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 112371
  Show dependency tree
 
Reported: 2005-12-06 14:35 EST by Paul Slauenwhite CLA
Modified: 2016-05-05 10:49 EDT (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Paul Slauenwhite CLA 2005-12-06 14:35:22 EST
WI4 (112371): Review all three producer Common Base Event implementations to identify and resolve new performance and memory issues.

Note: This defect covers work item 3 of enhancement #112371
(https://bugs.eclipse.org/bugs/show_bug.cgi?id=112371) for performance and memory 
improvements for the three producer Common Base Event implementations.

Focus should be given to the most common use cases based on the current programming model and usage patterns.  Specifically, special attention should be given to the following:

-Event Factory
-Common Base Event serialization and de-serialzation
-Content handling
-Event verification
-Utility function

Examples include:

-Based on enhancement https://bugs.eclipse.org/bugs/show_bug.cgi?id=111019, the C/++ Common Base Event implementation should be reviewed for possible performance and memory improvements to target constrained runtimes such as handheld devices (e.g. Palm, PocketPC, etc.).  For example, all setters persist the old value before setting the new value for no reason:
char* oldLocalInstanceId = commonBaseEvent->_localInstanceId;

-Consider storing the template Common Base Event as an XML fragment/document in the org.eclipse.hyades.logging.events.cbe.impl.TemplateContentHandlerImpl.  When
the completeEvent(CommonBaseEvent) method is invoked, the Common Base Event XML 
fragment/document would be de-serialized into the parameter Common Base Event.  
However, the org.eclipse.hyades.logging.events.cbe.util.SAXEventHandler would 
need to be changed to allow callers to provide a parameter Common Base Event 
and the SAXEventHandler would need to respect the existing properties in the 
parameter Common Base Event.


Sizing (PW):
 
Design:        0.25 
Code:          0.75 
Test:          1.0 
Documentation: 0.5
-------------------
Total:         2.5
Comment 1 Paul Slauenwhite CLA 2005-12-06 14:35:51 EST
P1 Cannot ship without this enhancement 
normal A problem making a function difficult to use but no special work around 
is required
Comment 2 Paul Slauenwhite CLA 2006-03-29 15:44:45 EST
Rewrote the dateToLong(String) in both EventHelpers classes to reduce the amount of code and processing by 1/2.  Also added error processing for invalid XSD dateTime values.  Finally, adding JUnit test cases for the following conditions:

1) All supported variations of the optional fractional seconds and time zone components of an XSD dateTime value.
2) All unsupported variations of an XSD dateTime value.
3) All supported variations of an XSD dateTime value.

Checked the following classes and JUnit tests to CVS (HEAD):

org.eclipse.hyades.logging.core.tests\src\org\eclipse\hyades\logging\core\tests\junit\cbe\util\EventHelpersTest.java

org.eclipse.hyades.logging.core.tests\src\org\eclipse\hyades\logging\core\tests\junit\cbe\emf\util\EventHelpersTest.java

org.eclipse.hyades.logging.core\src.cbe101\org\eclipse\hyades\logging\events\cbe\util\EventHelpers.java

org.eclipse.hyades.logging.core\src.events\org\eclipse\tptp\logging\events\cbe\util\EventHelpers.java
Comment 3 Paul Slauenwhite CLA 2006-03-30 10:48:20 EST
Retargetting since this defect is a general  performance and memory defect for all three producer Common Base Event implementations so we will keep this defect open for the remainder of TPTP V4.2.0 to address any further performance and memory issues.
Comment 4 Paul Slauenwhite CLA 2006-03-30 11:09:11 EST
Remove dead code that cached old values when setting Common Base Event properties (e.g. setters) on the C/++ Common Base Event implementation there by reducing memory and increasing performance.  The follow files were checked-in to CVS (HEAD):

org.eclipse.hyades.logging.core\src.native\CommonBaseEvent\cImpl\AssociatedEvent.c
org.eclipse.hyades.logging.core\src.native\CommonBaseEvent\cImpl\AssociationEngine.c
org.eclipse.hyades.logging.core\src.native\CommonBaseEvent\cImpl\CommonBaseEvent.c
org.eclipse.hyades.logging.core\src.native\CommonBaseEvent\cImpl\ComponentIdentification.c
org.eclipse.hyades.logging.core\src.native\CommonBaseEvent\cImpl\ContextDataElement.c
org.eclipse.hyades.logging.core\src.native\CommonBaseEvent\cImpl\ExtendedDataElement.c
org.eclipse.hyades.logging.core\src.native\CommonBaseEvent\cImpl\MsgDataElement.c
org.eclipse.hyades.logging.core\src.native\CommonBaseEvent\cImpl\Situation.c
org.eclipse.hyades.logging.core\src.native\CommonBaseEvent\cImpl\SituationType.c
Comment 5 Paul Slauenwhite CLA 2006-06-01 13:40:02 EDT
Cannot contain in TPTP V4.2.0 (i3).
Comment 6 Paul Slauenwhite CLA 2006-08-29 08:23:21 EDT
Transitioning to new component owner (Cindy Jin).
Comment 7 Cindy Jin CLA 2006-10-23 11:38:10 EDT
Cannot contain in TPTP V4.3(i3)
Comment 8 Eric Labadie CLA 2007-09-12 15:21:53 EDT
This is required from the AC perspective. Only the JAVA CBE implementation.
Comment 9 Alex Nan CLA 2008-06-30 21:41:25 EDT
No support for the Java CBE libraries will be provided post 4.5.
Comment 10 Alex Nan CLA 2008-06-30 21:45:06 EDT
Closing.