Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "COSMOS Design 212187"

('''Testing''')
('''Testing''')
 
Line 125: Line 125:
 
These test cases are pass/fail and do not require interpretation of displayed results.
 
These test cases are pass/fail and do not require interpretation of displayed results.
  
In order for these work, the CBE (logging) datamanger needs to up and there is a configuration parameter called CBEData.dir that needs setting
+
In order for these work, the CBE (logging) datamanger needs to up and there is a configuration parameter called CBEData.dir that needs setting in the config.properties file of the datamanager.
  
 
If you are running the Cosmos Demo i8 (cosmos-demo) and have run configDemo.bat, this parameter is set automatically for you...otherwise read on.
 
If you are running the Cosmos Demo i8 (cosmos-demo) and have run configDemo.bat, this parameter is set automatically for you...otherwise read on.
  
If you are running the Datamanagers in an OSGi from within eclipse, you can set it in the arguments tab of the OSGi runtime dialog, like this
+
The config.properties file can be found in org.eclipse.cosmos.dc.logging.datamgr_1.0.0/META-INF/config.properties
  
[[Image:212187.jpg]]
+
and should have the line
 +
CBEData.dir=<your path>
 +
 
 +
where <your path> is the absolute path on the filesystem pointing to org.eclipse.cosmos.dc.logging.datamgr_1.0.0/META-INF/logs
  
 
Notice the path uses forward slash
 
Notice the path uses forward slash
the path corresponds to the directory in your workspace the contains org.eclipse.cosmos.dc.logging.datamgr/logs
 
 
If you are running in a external OSGi environment, simply add the definition to the config.ini file in configuration directory of your OSGi env
 
 
to know you are pointing the right directory, ensure that the files access_log.cbe.xml and windows_app_log.cbe.xml are in it.
 
 
 
Note this is not a exact screenshot of what you should see, the only parameter being illustrated here is derby.system.home and your path
 
will vary.
 
 
Also Notice the path uses forward slash
 
the path corresponds to the directory where the derby database is
 
  
If you are running in a external OSGi environment, simply add the definition to the config.ini file in configuration directory of your OSGi env
+
To know you are pointing the right directory, ensure that the files access_log.cbe.xml and windows_app_log.cbe.xml are in it.
  
 
=='''Enhancement Owner'''==
 
=='''Enhancement Owner'''==

Latest revision as of 17:29, 18 January 2008

Change History

Name: Date: Revised Sections:
Sheldon Lee-Loy 12/12/2007
  • Initial version

Workload Estimation

Rough workload estimate in person weeks
Process Sizing Names of people doing the work
Design
Code
Test
Documentation
Build and infrastructure
Code review, etc.*
TOTAL

'* - includes other committer work (e.g. check-in, contribution tracking)

Purpose

The COSMOS I7 End-to-End scenario provides a data collection component that collects and queries logging events. This data collection component utilizes the assembly components that were created in COSMOS I3 as outlined in enhancement 180318. The data collection component for logging event should conform to the new Data Collection framework as defined in enhancement 197868 and 192493

Requirement

A Data Manager is required to query logging information from a logging event repository. The Data Manager should provide the capabilities to allow clients to do the following:

  1. provide a list of datasets that is contained in the logging event repository. The datasets are ids that group a list of common base events. Typically this id is made up of the agent, host location, monitor and log file name that was collected. Note that this id is constructed from TPTP hierarchy model concepts
  2. provide a list of common base events associated with a dataset id
  3. provide a list of common base events grouped by severity

Note that the above operations provides the necessary function to render the current BIRT Log Report.

Design

The following diagram shows the overall architecture of the CBE Data Manager. A client will use the web service client class to communicate with the CBE data manager class over SOAP requests. The CBE data manager will interact with an underlying database that will contain the log event data. The data manager will provide the necessary query APIs to get a list log event data in the form of Common Base Events.

Cbedatamanger arch.gif

Implementation

The following class diagram shows the set of classes required to create the CBE data manager

Cbedatamanager class.gif

The following defines the web service client interface (ICBEClient). This interface will provide the necessary APIs to get a list of datasets, get a list of cbes based on a dataset and get a list of datasets grouped by serverity

public interface ICBEClient {

	
	public Collection<String> getDatasets() throws Exception{
	}
	
	public Collection<CommonBaseEvent> getAllCBE(String dataset) throws Exception {
	}
	
	public Collection<CBESeverityCount> getCBECountBySeverity(String dataset) throws Exception {
		
	}
}


The implementation of the CBEDataManager will contain the SQL statements to query the CBE database. The schema for the database can be found under data-collection//org.eclipse.cosmos.dc.sample.components/src/org/eclipse/cosmos/dc/sample/components/sink/cbe/CreateDatabaseAndTablesCloudscape_cosmos.sql

The implementation of the CBEClient will contain the soap request that will communicate with the CBEDataManager service.

Task Breakdown

The following section includes the tasks required to complete this enhancement.

  1. Create Web Service Client
  2. Create CBE Data Manager - create sql methods to work with existing CBE COSMOS schema
  3. Create JUnit tests for Data Manager and Web Service Client

Testing

This ER along with 212189 define DataManagers for which there are client interfaces that spell out the APIs to these datamanagers.

For each datamanagers, there is an interface that defines some methods that can be used to get data from the datamanagers,

The functionality of the Datamanagers is determined to be ability to call the methods on these interfaces.

Each method in each of the interfaces has a JUnit test associated with it.

The interface for this datamanager is called ICBEClient and it has 3 methods Collection<String> getDataset() Collection<CommonBaseEvent> getAllCBE(String dataset) Collection<CBESeverityCount> getCBECountBySeverity(String dataset)

The corresponding JUnit test cases for each of these methods are JUnit_getDatasets JUnit_getAllCBEs JUnit_getCBECountBySeverity

These test cases are pass/fail and do not require interpretation of displayed results.

In order for these work, the CBE (logging) datamanger needs to up and there is a configuration parameter called CBEData.dir that needs setting in the config.properties file of the datamanager.

If you are running the Cosmos Demo i8 (cosmos-demo) and have run configDemo.bat, this parameter is set automatically for you...otherwise read on.

The config.properties file can be found in org.eclipse.cosmos.dc.logging.datamgr_1.0.0/META-INF/config.properties

and should have the line CBEData.dir=<your path>

where <your path> is the absolute path on the filesystem pointing to org.eclipse.cosmos.dc.logging.datamgr_1.0.0/META-INF/logs

Notice the path uses forward slash

To know you are pointing the right directory, ensure that the files access_log.cbe.xml and windows_app_log.cbe.xml are in it.

Enhancement Owner

The owner of this ER is assigned to John Todd. Hubert and Joel will provide technical assistance.

The following was a note sent out to the interested parties that instigated the ownership change of this ER.

I want to close on the following ERs for the logging and statistical data managers in terms of the assignments of these ERs.  Currently these ERs are blocking the data visualization work for the reports and ui components.

I want to know if these ERs can be contained by the data collection group.  If there are concerns in this matter JT has opted to own these enhancements with the understanding that he will get help from Hubert or Joel since they were the original developers for the Statitical and Logging data components.  

I created a design document for each ERs.
http://wiki.eclipse.org/COSMOS_Design_212189 
http://wiki.eclipse.org/COSMOS_Design_212187 

Don and Joel let me know your thoughts.  I talked with Hubert and he is willing to help JT in this regard.

Back to the top