Gld Development: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
 
(7 intermediate revisions by the same user not shown)
Line 1: Line 1:
=Internal=
=Internal=


* [[gld#Development|gld]]
* [[Generic Load Driver (gld)#Development|gld]]


=GitHub=
=GitHub=
Line 13: Line 13:
From a project perspective, gld consists of a core and extensions.  
From a project perspective, gld consists of a core and extensions.  


The core contains the load driver multi-threaded load engine, logic to coordinate multiple load driver instances and other logic required by the load driver. <font color=red>Al these are packaged as "gld-load-driver" The load driver runtime is not aware of any specific load content generator, it only interacts with a generic set of interfaces, packaged as "gld-api".
The core contains the load driver multi-threaded load engine, logic to coordinate multiple load driver instances and other logic required by the load driver. All these are packaged as gld-load-driver-*.jar. The load driver runtime is not aware of any specific load content generator, it only interacts with a generic set of interfaces, packaged as gld-api-*.jar. To develop a load content generator extension, appropriate for a specific use case, and with a specific set of concrete dependencies, the extension will only need to depend on gld-api.
 
In order to develop a load content generator extension, appropriate for a specific use case, and with a specific set of concrete dependencies, the will only need to depend on gld-api.
</font>


=Core Development=
=Core Development=


The core (including API and load-driver) is developed independently of extensions. Once a new core version has been released, the extensions that wish to use it should update their <tt><gld.api.version>1.0.0-SNAPSHOT-31</gld.api.version></tt> in the topmost POM.
{{Internal|gld Core Development#Overview|gld Core Development}}
 
To get to the work area:
 
<pre>
cdgldc
</pre>


=Extension Development=
=Extension Development=
Line 33: Line 24:
:[[gld Extension Development]]
:[[gld Extension Development]]
</blockquote>
</blockquote>
=Building=
<font color=red>TODO</font>
=Release Procedure=
==gld Runtime Release Procedure==
<font color=red>TODO</font>
==Extension Release Procedure==
<font color=red>TODO</font>
=Creating a new Extension=
<font color=red>TODO</font>
=TODO=
* <font color=red>Tactical GLD.docx on Desktop. Start from there or transfer from there.</font>
* 10/20/16 Attempt to use with JDG 7: API problems, JDG 6 does not work anymore - break out the JDG (Infinispan) piece as an external plug in and get rid of the dependency problem once for all.
* '''Outcome of JDG testing'''
** Make sure I can run two gld instances in parallel without interference. Currently there's just one log file ($(pwd)/gld.log) and this gets overwritten.
** Make sure the java memory can be configured individually per instance - on the command line. <tt>--memory 1024m</tt> that should override the value hardcoed in the wrapper.
** Possibility to configure gc logging from command line <tt>--gc-logging /a/b/c-gc.log</tt>.
** Memory leak analysis.

Latest revision as of 22:57, 5 September 2017

Internal

GitHub

https://github.com/NovaOrdis/gld

Overview

From a project perspective, gld consists of a core and extensions.

The core contains the load driver multi-threaded load engine, logic to coordinate multiple load driver instances and other logic required by the load driver. All these are packaged as gld-load-driver-*.jar. The load driver runtime is not aware of any specific load content generator, it only interacts with a generic set of interfaces, packaged as gld-api-*.jar. To develop a load content generator extension, appropriate for a specific use case, and with a specific set of concrete dependencies, the extension will only need to depend on gld-api.

Core Development

gld Core Development

Extension Development

gld Extension Development