2017-09-19 1 views
1

Au cours de tests de performance, je veux sortir une demande d'API et les autres données spécifiques, si le temps de réponse de la demande prend en charge un certain laps de temps. Par exemple, disons que vous exécutez 100 recherches de travailleurs, et que 10 ont des temps de réponse supérieurs à, disons, 2 secondes. Je veux que JMeter produise un fichier qui répertorie ces longs ID de travailleur.sortie une donnée spécifique API reste en utilisant jmeter

Répondre

0

Vous avez déjà toutes les informations dans le fichier de résultats .jtl, la deuxième colonne est elapsed où vous avez des demandes individuelles temps de réponse. Ainsi,

  1. Run your JMeter test in command-line non-GUI mode. Ne pas oublier d'indiquer l'emplacement du fichier de résultats souhaité par -l command-line argument comme:

    jmeter -n -t test.jmx -l results.jtl 
    
  2. Une fois que votre test est terminé fichier ouvert des résultats de .jtl (ce qui est « normal » CSV file) en utilisant Microsoft Excel ou équivalent (j'utilise LibreOffice Calc). Il vous devriez pouvoir trier les résultats des échantillons de temps « écoulé » et d'identifier celles qui ont plus de 2000 millisecondes (2 secondes)

    JMeter Results

Si vous avez besoin d'ajouter un JMeter arbitraire variable au fichier de résultats .jtl pour identifier les échantillons plus précisément - prendre un butin à Sample Variables propriété

+0

Merci @Dmitri pour la réponse. Le tri manuel pour filtrer les enregistrements est ok pour un cas une fois, mais je dois le faire en vrac c'est pourquoi j'ai besoin le travailleur filtré Ids (qui a le temps d'exécution long) en vrac et il sera utilisé comme entrée à SqlServer pour plus utiliser (processus d'automatisation) –

0

Vous pouvez ajouter JSR223 Timer qui sera exécuter après l'échantillon et la latence vérifier (temps de réponse) si plus de 2 secondes (2000 millisecondes) font quelque chose comme écrire dans le fichier, vous pouvez prendre n'importe quelle valeur pour JM variables eter utilisant vars.get("variableName"), par exemple:

latency = sampler.getLatency(); 
if (latency >2000) { 
     log.info("Save to file " + vars.get("workerId")); 
}