Community
Participate
Working Groups
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
P1 Cannot ship without this enhancement normal A problem making a function difficult to use but no special work around is required
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
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.
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
Cannot contain in TPTP V4.2.0 (i3).
Transitioning to new component owner (Cindy Jin).
Cannot contain in TPTP V4.3(i3)
This is required from the AC perspective. Only the JAVA CBE implementation.
No support for the Java CBE libraries will be provided post 4.5.
Closing.