distributed-system-analysis / pbench

A benchmarking and performance analysis framework
http://distributed-system-analysis.github.io/pbench/
GNU General Public License v3.0
184 stars 108 forks source link

sar ignores registered interval #1313

Open wilkins11 opened 5 years ago

wilkins11 commented 5 years ago

I always registered sar and iostat the same way each time to remote systems.

pbench-register-tool --remote=${host} --name=${tool} --label=ceph-rgw -- --interval=300

And I see the correct interval in /var/lib/pbench-agent/tools-default/sar but any time the tools execute (using pbench-user-benchmark), I see the 10 sec interval in the sar process and a LOT more data is collected than desired.

4 S root 3933199 3933198 0 80 0 - 1100 sys_pa Aug13 pts/2 00:00:01 sadc 10 -Z -S XALL /var/lib/pbench-agent/190813-2346_site2-cfg-sync/tools-default/sar/sar.data

iostat uses the interval supplied in tools-default/iostat.

portante commented 5 years ago

@wilkins11, can you log into the remote host and check the contents of the /var/lib/pbench-agent/tools-default/sar file?

wilkins11 commented 5 years ago

--interval=300

But that's my doing. I assumed it was the same as iostat and I change those contents on the fly depending on test run times. If sar uses a different syntax then this is a non issue.

portante commented 5 years ago

@wilkins11, thanks.

Can you also see if a line like the following exists in the /var/lib/pbench-agent/pbench.log on the remote host?

"[sar] screen -dmS $screen_name $pbench_bin/tool-scripts/sar --start --iteration=$iteration --group=default --dir=$dir ..."
wilkins11 commented 5 years ago

No. Oddly I do see errors for both iostat and sar that seem to resolve themselves before start-tools but no sign of the "[sar] screen" string.

[debug][2019-08-22T14:49:32.824991317] tool_opts[0]="--interval=300"; pbench-register-tool --name=iostat --group=default $label_opt -- "${tool_opts[@]}" 2>&1 [error][2019-08-22T14:49:33.279925172] Failed to register tool iostat remotely\n [debug][2019-08-22T14:49:34.011167924] tool_opts: --interval=300 [debug][2019-08-22T14:49:34.144324569] tool_opts[0]="--interval=300"; pbench-register-tool --name=sar --group=default $label_opt -- "${tool_opts[@]}" 2>&1 [error][2019-08-22T14:49:34.595585380] Failed to register tool sar remotely\n [debug][2019-08-22T14:51:01.156943947] tool_opts: --interval=300 [debug][2019-08-22T14:51:01.290524624] tool_opts[0]="--interval=300"; pbench-register-tool --name=iostat --group=default $label_opt -- "${tool_opts[@]}" 2>&1 [debug][2019-08-22T14:51:02.721004348] tool_opts: --interval=300 [debug][2019-08-22T14:51:02.854009207] tool_opts[0]="--interval=300"; pbench-register-tool --name=sar --group=default $label_opt -- "${tool_opts[@]}" 2>&1 [debug][2019-08-22T14:51:04.238528516] tool_opts: --interval=300 [debug][2019-08-22T14:51:04.371998273] tool_opts[0]="--interval=300"; pbench-register-tool --name=iostat --group=default $label_opt -- "${tool_opts[@]}" 2>&1 [debug][2019-08-22T14:51:05.740946813] tool_opts: --interval=300 [debug][2019-08-22T14:51:05.874195952] tool_opts[0]="--interval=300"; pbench-register-tool --name=sar --group=default $label_opt -- "${tool_opts[@]}" 2>&1

portante commented 5 years ago

I think that means there are other problems we need to debug.

portante commented 4 years ago

This looks like the tool file requires a trailing new line character in order for the tool parameter to be handled correctly.

wilkins11 commented 4 years ago

Yes, that did resolve the issue for me. The ansible copy module using 'dest=' & 'content=' has a problem with inserting newlines so I switched to using 'src=' & 'dest=' and now see the correct interval in play. Thanks.