Forum Discussion

Livius's avatar
Livius
Icon for Cirrus rankCirrus
Apr 06, 2020

CPU data, control and analytics plane utilization

Hi everyone,

 

Wondering if there is any "quick" way of extracting the CPU statistics for Data, Control and Analytics plane utilization via iControl ?

As far as I read,  Even-numbered logical cores (hyperthreads) are allocated to TMM, while odd numbered cores are available for other processes, while last core is used for analytics.

 

Do I need to do the math myself ?

  • For BD utilization I used this API but you can modify for your needs.

     

    mgmt/tm/analytics/asm-cpu/report?options=view-by,virtual,measures,%7Bbd-cpu-utlization%7D

     

    APIRef_tm_analytics

  •  

    When we execute a GET request to https://<BIG-IP-ADDRESS>/mgmt/tm/sys/host-info, the BIG-IP returns the information in JSON format.

    I had created a Python script that wasn't well formatted, but after adjusting a few things using AI, it seems to be working well now.

    In the case of the .py script, I am separating even and odd CPUs in an attempt to visualize the data plane (even CPU) and control plane (odd CPU). 

     

    If it helps, here is the script.

    • Robert_F5's avatar
      Robert_F5
      Icon for Nimbostratus rankNimbostratus

      Hi,

      Thanks for the answer. Given the figure below, the average of odd-numbered CPUs represents the orange line (Control Plane), and the average of even-numbered CPUs represents the Data Plane, am I correct? What about Analysis Plane and System Average?

      By the way, could you share the script or provide a link to access it?

      Regards

      • Each CPU core is designated as data, control, or analytics, with all usage assigned to the core's designated category. Each even-numbered core is designated as a data plane, each odd-numbered core as a control plane, and the highest odd-numbered core as an analytics plane.

        Analytics plane-related processes are typically pinned to the highest odd-numbered core, and no control or analytics processes have access to the even-numbered cores. The processes pinned to the analytics plane usually consume all available CPU cycles when running, which is why they are assigned to a single specific core.

        This division occurs when the CPU supports Hyper-Threading Technology (HT Technology). Overview of the HTSplit feature - https://my.f5.com/manage/s/article/K23505424 

        The BIG-IP VE system does not support this feature on generic hypervisors such as VMware ESX/i, where each vCPU will be allocated one TMM process.  https://my.f5.com/manage/s/article/K15468#tmsh 

        If you are seeing control plane and data plane CPU statistics in the dashboard, this is related to bug I id 969329 - https://my.f5.com/manage/s/article/K000132982 

         

        For some reason, I’m unable to upload the .zip file here in the post. Here’s the link with the script.

  • Hi,

     

    That's what I'm looking for as well. Have you found a solution?

     

    Regards