@@ -50,13 +50,17 @@ var (
5050
5151 flagAll bool
5252
53- flagCpu bool
54- flagCpuAvg bool
55- flagIrq bool
56- flagNetwork bool
57- flagStorage bool
58- flagMemory bool
59- flagPower bool
53+ flagCpu bool
54+ flagCpuAvg bool
55+ flagIrq bool
56+ flagNetwork bool
57+ flagStorage bool
58+ flagMemory bool
59+ flagPower bool
60+ flagInstrMix bool
61+
62+ flagInstrMixPid int
63+ flagInstrMixFilter []string
6064)
6165
6266const (
@@ -65,20 +69,25 @@ const (
6569
6670 flagAllName = "all"
6771
68- flagCpuName = "cpu"
69- flagCpuAvgName = "cpuavg"
70- flagIrqName = "irq"
71- flagNetworkName = "network"
72- flagStorageName = "storage"
73- flagMemoryName = "memory"
74- flagPowerName = "power"
72+ flagCpuName = "cpu"
73+ flagCpuAvgName = "cpuavg"
74+ flagIrqName = "irq"
75+ flagNetworkName = "network"
76+ flagStorageName = "storage"
77+ flagMemoryName = "memory"
78+ flagPowerName = "power"
79+ flagInstrMixName = "instrmix"
80+
81+ flagInstrMixPidName = "instrmix-pid"
82+ flagInstrMixFilterName = "instrmix-filter"
7583)
7684
7785var telemetrySummaryTableName = "Telemetry Summary"
7886
7987var categories = []common.Category {
8088 {FlagName : flagCpuName , FlagVar : & flagCpu , DefaultValue : false , Help : "monitor cpu" , TableNames : []string {report .CPUUtilizationTableName }},
8189 {FlagName : flagCpuAvgName , FlagVar : & flagCpuAvg , DefaultValue : false , Help : "monitor cpu average" , TableNames : []string {report .AverageCPUUtilizationTableName }},
90+ {FlagName : flagInstrMixName , FlagVar : & flagInstrMix , DefaultValue : false , Help : "monitor instruction mix" , TableNames : []string {report .InstructionMixTableName }},
8291 {FlagName : flagIrqName , FlagVar : & flagIrq , DefaultValue : false , Help : "monitor irq" , TableNames : []string {report .IRQRateTableName }},
8392 {FlagName : flagStorageName , FlagVar : & flagStorage , DefaultValue : false , Help : "monitor storage" , TableNames : []string {report .DriveStatsTableName }},
8493 {FlagName : flagNetworkName , FlagVar : & flagNetwork , DefaultValue : false , Help : "monitor network" , TableNames : []string {report .NetworkStatsTableName }},
@@ -96,6 +105,8 @@ func init() {
96105 Cmd .Flags ().StringSliceVar (& common .FlagFormat , common .FlagFormatName , []string {report .FormatAll }, "" )
97106 Cmd .Flags ().IntVar (& flagDuration , flagDurationName , 30 , "" )
98107 Cmd .Flags ().IntVar (& flagInterval , flagIntervalName , 2 , "" )
108+ Cmd .Flags ().IntVar (& flagInstrMixPid , flagInstrMixPidName , 0 , "" )
109+ Cmd .Flags ().StringSliceVar (& flagInstrMixFilter , flagInstrMixFilterName , []string {"SSE" , "AVX" , "AVX2" , "AVX512" , "AMX_TILE" }, "" )
99110
100111 common .AddTargetFlags (Cmd )
101112
@@ -158,6 +169,14 @@ func getFlagGroups() []common.FlagGroup {
158169 Name : flagIntervalName ,
159170 Help : "number of seconds between each sample" ,
160171 },
172+ {
173+ Name : flagInstrMixPidName ,
174+ Help : "pid to monitor for instruction mix, no pid means all processes" ,
175+ },
176+ {
177+ Name : flagInstrMixFilterName ,
178+ Help : "filter to apply to instruction mix" ,
179+ },
161180 }
162181 groups = append (groups , common.FlagGroup {
163182 GroupName : "Others Options" ,
@@ -229,8 +248,7 @@ func runCmd(cmd *cobra.Command, args []string) error {
229248 reportingCommand := common.ReportingCommand {
230249 Cmd : cmd ,
231250 ReportNamePost : "telem" ,
232- Interval : flagInterval ,
233- Duration : flagDuration ,
251+ ScriptParams : script.ScriptParams {Interval : flagInterval , Duration : flagDuration , PID : flagInstrMixPid , Filter : flagInstrMixFilter },
234252 TableNames : tableNames ,
235253 SummaryFunc : summaryFunc ,
236254 SummaryTableName : telemetrySummaryTableName ,
0 commit comments