是否可以使用命令行参数设置rootMetricsPrefix?

时间:2018-03-08 10:16:56

标签: jmeter

我的JMeter测试接收一个参数来指定测试环境,如PROD,DEV。

两个测试环境的结果都将发送到某个GraphiteHost。但我需要使用rootMetricsPrefix来分隔每个环境的结果。

例如,PROD的结果将使用前缀global.myapp.performance.prod.,而DEV的结果将使用前缀global.myapp.performance.dev.

所以我将后端监听器中的rootMetricsPrefix设置为global.myapp.performance.${__groovy($__P(env).toLowerCase())}.。 不幸的是,它不起作用。

Graphite中的数据不包含环境名称。

谁能告诉我如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

您可以使用新的changeCase功能来降低您的价值:

for index,row in tqdm_notebook(myData.iterrows(),desc='iterrows'):
# how many times was the IP address (and specific device) around in the prior 5h?
    hours = 12
    seen = myData[(myData['ip']==row['ip'])
                 &(myData['device']==row['device'])
                 &(myData['os']==row['os'])
                 &(myData['unix']<row['unix'])
                 &(myData['unix']>(row['unix']-(60*60*hours)))].shape[0]
    ip_seen = myData[(myData['ip']==row['ip'])
                 &(myData['unix']<row['unix'])
                 &(myData['unix']>(row['unix']-(60*60*hours)))].shape[0]
    myData.loc[index,'seen'] = seen
    myData.loc[index,'ip_seen'] = ip_seen

它将读取属性,然后在值

上执行小写

答案 1 :(得分:1)

表达式中应该出现错误:

  

global.myapp.performance $ {__常规(&#34; $ {__ P(ENV)}&#34; .toLowerCase())}。

这也有效:

  

global.myapp.performance $ {__常规(props.get(&#34; ENV&#34;)toLowerCase())}。

但对于表演,最好使用@ user7294900

提供的解决方案