Forum Discussion
Decode BIG-IP performance files
Hi everyone, I'm trying to extract the performance data from a QKview, this is to generate way charts and export automatic reports.
I'm running into the problem because the files are encoded in a format that I can't find a way to read them, I'd like to know if some F5 genius can give me a hint of how I can export the performance data from an uncompressed qkview from .tgz
This is an example of the output from a performance file in /shared/tmstat/snapshots/blade0/performance/100/blade0-performance-10-2024-02-06T08_27_20
TMSS ÿÿÿÿÿÿÿÿ 'l name 1 tableid 1 offset 3 size 5 type 7 rule 8 dropped : next ; name 1 rows 5
rowsz 9
cols ; is_sorted =
category @ rr_limit B rr_last F dynamic J first_col O name 1 ctime 9 tree time S slot_id cpu_id user nice system idle iowait ( irq 0 softirq 8 stolen @ ratio H ! five_sec_avg.user P " five_sec_avg.nice X # five_sec_avg.system ` $ five_sec_avg.idle h % five_sec_avg.iowait p & five_sec_avg.irq x ' five_sec_avg.softirq € ( five_sec_avg.stolen ˆ ) five_sec_avg.ratio * one_min_avg.user ˜ + one_min_avg.nice , one_min_avg.system ¨ - one_min_avg.idle ° . one_min_avg.iowait ¸ / one_min_avg.irq À 0 one_min_avg.softirq È 1 one_min_avg.stolen Ð 2 one_min_avg.ratio Ø 3 five_min_avg.user à 4 five_min_avg.nice è 5 five_min_avg.system ð 6 five_min_avg.idle ø 7 five_min_avg.iowait 8 five_min_avg.irq 9 five_min_avg.softirq : five_min_avg.stolen ; five_min_avg.ratio < plane_name ( slot_id > total_ram TMSS ÿÿÿ ÿ 'l +- blade0-performance Tue Feb 6 08:26:10 2024 ‚AÂe | +- hal_sens_tbls Fri Jun 16 04:59:49 2023 ¥@Œd | +- scripts Tue Feb 8 13:55:00 2022 ”Êb | +- vcmp_union_tables Wed Jan 5 10:34:41 2022 ¡ÈÕa | +- mgmt_acld Wed Jan 5 10:33:46 2022 jÈÕa | +- bigd_stat_segment.1 Wed Jan 5 10:33:44 2022 hÈÕa | +- bigd_stat_segment.0 Wed Jan 5 10:33:44 2022 hÈÕa | +- zxfrd Wed Jan 5 10:33:43 2022 gÈÕa | +- tmplugin_cbr Wed Jan 5 10:33:43 2022 gÈÕa | +- profile_xml_stat Wed Jan 5 10:33:43 2022 gÈÕa | +- tmplugin_ntlmconnpool Wed Jan 5 10:33:42 2022 fÈÕa | +- lcdwarnseg Wed Jan 5 10:33:41 2022 eÈÕa | +- lacpd Wed Jan 5 10:33:35 2022 _ÈÕa | +- tmm2 Wed Jan 5 10:33:25 2022 UÈÕa | +- tmm1 Wed Jan 5 10:33:25 2022 UÈÕa | +- tmm3 Wed Jan 5 10:33:25 2022 UÈÕa | +- tmm0 Wed Jan 5 10:33:22 2022 RÈÕa | +- racoon0 Wed Jan 5 10:33:24 2022 TÈÕa | +- tmipsecd Wed Jan 5 10:33:04 2022 @ÈÕa | +- pfmand Wed Jan 5 10:33:02 2022 >ÈÕa | +- logstat Wed Jan 5 10:33:01 2022 =ÈÕa | +- pccd_current_state Wed Jan 5 10:33:01 2022 =ÈÕa | +- pccd_overlap_info Wed Jan 5 10:33:01 2022 =ÈÕa | +- statsd Wed Jan 5 10:32:59 2022 ;ÈÕa | +- cert_order_mgmt Wed Jan 5 10:32:59 2022 ;ÈÕa | +- crl_mgr Wed Jan 5 10:32:59 2022 ;ÈÕa | +- bundle_mgmt Wed Jan 5 10:32:59 2022 ;ÈÕa | +- lldpd Wed Jan 5 10:32:57 2022 9ÈÕa | +- latency Wed Jan 5 10:32:47 2022 /ÈÕa | +- hal_lop_cpld Wed Jan 5 10:32:20 2022 ÈÕa | +- hal Wed Jan 5 10:32:19 2022 ÈÕa
Those files are TMM's idea of resource usage. Remember that TMM is a user space microkernel so it has its own scheduler and memory management. So its idea about "free memory" and "cpu use" is different than the linux kernel's. To read what its statistics are, you can use:
tmctl -a -f <tmstat table file>
This solution article has more information about it:
https://my.f5.com/manage/s/article/K91433389
These files are a binary-only format and the column alignments sometimes change by version so make sure to use matching version tmstat table files and tmctl binary.
- Lucas_ThompsonEmployee
Those files are TMM's idea of resource usage. Remember that TMM is a user space microkernel so it has its own scheduler and memory management. So its idea about "free memory" and "cpu use" is different than the linux kernel's. To read what its statistics are, you can use:
tmctl -a -f <tmstat table file>
This solution article has more information about it:
https://my.f5.com/manage/s/article/K91433389
These files are a binary-only format and the column alignments sometimes change by version so make sure to use matching version tmstat table files and tmctl binary.
- asotoaecAltostratus
Thanks Lucas, your answer was very usefull for me.
asotoaec I believe you can gather the data you are looking for from the performance stats export on the F5. You would go to "Statistics" -> "Dashboard" then in the top right click on "ACTIONS" dropdown and finally click on "Download Data (CSV)". From here you can select timeframe, metrics, data, and then click download.
You can also use the RESTfull API and query the F5 on a schedule.
https://clouddocs.f5.com/api/icontrol-soap/System__Statistics.html
Alternatively, you can also perhaps investigate SNMP OIDs that may be helpful.
Not sure it is good use of time to reverse engineer the F5 product to obtain stats from a static snapshot in time. I am not aware of the format used here — have you tried using mine files and testing the file via standard unix commands? https://shapeshed.com/unix-file/
Recent Discussions
Related Content
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com