每个Gatling请求中的唯一id

每个Gatling请求中的唯一id,gatling,scala-gatling,Gatling,Scala Gatling,在上面的代码示例中,尝试为每个请求生成唯一的txn id。但是,观察到它正在重复使用相同的数字,从而导致重复。此外,我还尝试使用以下方法根据当前时间生成,但当1秒内触发1个以上的请求时,仍然会导致重复 def getrandomNo(): String = { return ((rnd.nextDouble() * (1000000.0)).toLong).toString } scenario("scn getart).during(test_duration mi

在上面的代码示例中,尝试为每个请求生成唯一的txn id。但是,观察到它正在重复使用相同的数字,从而导致重复。此外,我还尝试使用以下方法根据当前时间生成,但当1秒内触发1个以上的请求时,仍然会导致重复

  def getrandomNo(): String = {
    return ((rnd.nextDouble() * (1000000.0)).toLong).toString
  }

scenario("scn getart).during(test_duration minutes) {
    exec(actionBuilder = http("req getart")
    .post(apiurl)
    .header("txn-id", getrandomNo()+"_getart")
    .body(apibody)
}
是否有其他解决方案可以为每个请求生成唯一的ID,而不考虑并发性


提前感谢。

这不起作用,因为在构建模拟时只调用一次getrandomNo。如果不希望传递值,但希望在每次执行时执行某段代码,则必须传递:

.headertxn id,session=>getrandomNo+\u getart
这不起作用,因为在构建模拟时只调用一次getrandomNo。如果不希望传递值,但希望在每次执行时执行某段代码,则必须传递:

.headertxn id,session=>getrandomNo+\u getart
def getTxnId(): String = {
    "PerfTest_" + System.currentTimeMillis().toString+ getrandomNo()
  }