2017-06-28 1 views
0

Actuellement, je me bats pour obtenir des rapports JMeter souhaitables à partir du code Java. Mon but est d'enregistrer la latence et le débit dans le fichier pour chaque transaction, puis d'avoir un résumé pour chaque scénario avec des moyennes et des valeurs max/min pour la latence et le débit.Obtenir des rapports JMeter souhaitables à partir du code Java

Actuellement, j'ai ce code pour les rapports:

ResultCollector csvlogger = new ResultCollector(summer); 
csvlogger.setFilename(csvLogFile); 
testPlanTree.add(testPlanTree.getArray()[0], csvlogger); 

Mais de cette façon il enregistre les informations que par une transaction et il n'y a pas le débit, et est tout simplement 0 rapporté la latence (sans partie décimale). Il ressemble à ceci:

timeStamp,elapsed,label,responseCode,responseMessage,threadName,dataType,success,failureMessage,bytes,sentBytes,grpThreads,allThreads,Latency,IdleTime,Connect 
2017/06/28 08:53:49.276,1014,Jedis Sampler,200,OK,Jedis Thread Group 1-1,text,true,,0,0,1,1,0,0,0 

Est-ce que quelqu'un sait est-il possible comment je peux l'accorder?

Merci!

Répondre

0
  • only per one transaction - .jtl fichier journal contient l'exécution d'échantillonnage simple, essayez d'ajouter plus de fils et/ou des boucles au niveau Thread Group et vous devriez voir plus de résultats.
  • Latence toujours nulle pour les échantillonneurs basés sur les scripts, vous devez appeler explicitement la méthode SampleResult.setLatency() et définir la valeur souhaitée.
  • Le débit n'est pas enregistré, il est calculé. Vous devez ouvrir le fichier de résultats .jtl avec l'écouteur Aggregate Report ou Summary Report pour voir la valeur générée. Jetez un oeil dans la source de classe org.apache.jmeter.util.Calculator pour voir les détails si vous préférez les approches non-GUI programmatiques.
+0

Merci beaucoup, Dmitri, pour votre aide! J'apprécie vraiment toutes vos réponses :) Maintenant, je me bats avec comment obtenir SampleResult? Je suis un peu en cours d'exécution ... SampleResult sampleResult = new SampleResult(); SampleEvent sampleEvent = new SampleEvent (sampleResult, threadGroup.toString()); sampleResult = sampleEvent.getResult(); Y a-t-il un moyen correct de l'obtenir? SampleResult ou SampleEvent – SeraphimaTW