Gld Development: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
No edit summary
 
(12 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. 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.
=Core Development=


=Building=
{{Internal|gld Core Development#Overview|gld Core Development}}


<font color=red>TODO</font>
=Extension Development=


=Release Procedure=
<blockquote style="background-color: #f9f9f9; border: solid thin lightgrey;">
 
:[[gld Extension Development]]
==gld Runtime Release Procedure==
</blockquote>
 
==Extension Release Procedure==
 
==Creating a new Extension==
 
=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