Search in sources :

Example 1 with LoadGenerator

use of org.camunda.bpm.qa.performance.engine.loadgenerator.LoadGenerator in project camunda-bpm-platform by camunda.

the class DefaultLoadGenerator method main.

public static void main(String[] args) throws InterruptedException {
    final Properties properties = PerfTestProcessEngine.loadProperties();
    final ProcessEngine processEngine = PerfTestProcessEngine.getInstance();
    final LoadGeneratorConfiguration config = new LoadGeneratorConfiguration();
    config.setColor(Boolean.parseBoolean(properties.getProperty("loadGenerator.colorOutput", "false")));
    config.setNumberOfIterations(Integer.parseInt(properties.getProperty("loadGenerator.numberOfIterations", "10000")));
    final List<BpmnModelInstance> modelInstances = createProcesses(config.getNumberOfIterations());
    Runnable[] setupTasks = new Runnable[] { new DeployModelInstancesTask(processEngine, modelInstances) };
    config.setSetupTasks(setupTasks);
    ProcessEngineConfigurationImpl processEngineConfiguration = (ProcessEngineConfigurationImpl) processEngine.getProcessEngineConfiguration();
    processEngineConfiguration.setMetricsEnabled(true);
    processEngineConfiguration.getDbMetricsReporter().setReporterId(REPORTER_ID);
    final Runnable[] workerRunnables = new Runnable[2];
    Process process = modelInstances.get(0).getModelElementsByType(Process.class).iterator().next();
    String processDefKey = process.getId();
    workerRunnables[0] = new StartProcessInstanceTask(processEngine, processDefKey);
    workerRunnables[1] = new GenerateMetricsTask(processEngine);
    config.setWorkerTasks(workerRunnables);
    new LoadGenerator(config).execute();
    System.out.println(processEngine.getHistoryService().createHistoricProcessInstanceQuery().count() + " Process Instances in DB");
    processEngineConfiguration.setMetricsEnabled(false);
}
Also used : DeployModelInstancesTask(org.camunda.bpm.qa.performance.engine.loadgenerator.tasks.DeployModelInstancesTask) GenerateMetricsTask(org.camunda.bpm.qa.performance.engine.loadgenerator.tasks.GenerateMetricsTask) Process(org.camunda.bpm.model.bpmn.instance.Process) BpmnModelInstance(org.camunda.bpm.model.bpmn.BpmnModelInstance) Properties(java.util.Properties) LoadGeneratorConfiguration(org.camunda.bpm.qa.performance.engine.loadgenerator.LoadGeneratorConfiguration) StartProcessInstanceTask(org.camunda.bpm.qa.performance.engine.loadgenerator.tasks.StartProcessInstanceTask) LoadGenerator(org.camunda.bpm.qa.performance.engine.loadgenerator.LoadGenerator) ProcessEngineConfigurationImpl(org.camunda.bpm.engine.impl.cfg.ProcessEngineConfigurationImpl) ProcessEngine(org.camunda.bpm.engine.ProcessEngine) PerfTestProcessEngine(org.camunda.bpm.qa.performance.engine.junit.PerfTestProcessEngine)

Aggregations

Properties (java.util.Properties)1 ProcessEngine (org.camunda.bpm.engine.ProcessEngine)1 ProcessEngineConfigurationImpl (org.camunda.bpm.engine.impl.cfg.ProcessEngineConfigurationImpl)1 BpmnModelInstance (org.camunda.bpm.model.bpmn.BpmnModelInstance)1 Process (org.camunda.bpm.model.bpmn.instance.Process)1 PerfTestProcessEngine (org.camunda.bpm.qa.performance.engine.junit.PerfTestProcessEngine)1 LoadGenerator (org.camunda.bpm.qa.performance.engine.loadgenerator.LoadGenerator)1 LoadGeneratorConfiguration (org.camunda.bpm.qa.performance.engine.loadgenerator.LoadGeneratorConfiguration)1 DeployModelInstancesTask (org.camunda.bpm.qa.performance.engine.loadgenerator.tasks.DeployModelInstancesTask)1 GenerateMetricsTask (org.camunda.bpm.qa.performance.engine.loadgenerator.tasks.GenerateMetricsTask)1 StartProcessInstanceTask (org.camunda.bpm.qa.performance.engine.loadgenerator.tasks.StartProcessInstanceTask)1