mdbctl traceprop 命令介绍
更新时间: 2025/12/23
在Gitcode上查看源码

命令介绍

traceprop <operation type> <object name> <interface name> <property name>

operation type: 必选参数,提供trace/untrace两种模式,代表开始跟踪与停止跟踪 object name: 必选参数,为指定属性接口所属的对象,可以通过lsobj查询组件有哪些对象 interface name: 必选参数,为指定属性所挂的接口,可以通过lsprop查询对象下挂了哪些接口 property name: 必选参数,为指定属性,可以通过lsprop查询对象下的属性

可以通过如下流程获取组件下的接口与属性

shell
-- 通过lsclass直接获取所有类名
% lsclass
Accessor  AccountService  AssetChange  AssetList  Authorization  BMA  BMC  Battery  Bios  BiosUpgradeService  BoardNICCard  BoardRAS  BootError  BootOptions  BusinessConnector  CPU  CPUMetrics  CPURAS  Certificate  CertificateLocation  CertificateService  Chassis  ChassisBMC  Chip  Component  ComputerSystem  Connector  Contact  Controller  CoolingArea  CoolingConfig  CoolingFan  CoolingPolicy  CoolingRequirement  Cpld  CpuBoard  DFT  DataAcquisitionService  Dft12V0Vlot  Dft3V3Vlot  Dft5V0Vlot  DftBmcCard  DftButtonCell  DftCD  DftChassisCover  DftCpld  DftDdr3  DftEeprom  DftEepromWp  DftEth  DftFlash  DftI2c  DftIOTest  DftIpmb  DftJTAG  DftKeyBoard  DftLedIntelligence  DftLedTube  DftLedTubeIntelligence  DftLm75  DftLpc  DftNCSI  DftNandFlash  DftNewVideo  DftPca9545  DftPca9555  DftPmu  DftPowerButton  DftPowerSupply  DftPysicalLed  DftSPI  DftUidButton  DftUsb  DiscreteEvent  DiscreteSensor  Drive  Eeprom  EnergyMetric  Entity  EthGroup  Event  EventMetrics  Events  ExpBoard  FDMDomain  FDMService  Fan  FanBoard  FanType  FaultPrediction  Firewall  FirmwareActive  FirmwareInventory  FirmwareMatchRules  Fru  FruCtrl  FruCtrlCapabilities  FruData  Gpio  HddBackplane  Hisport  HostKeyAlgorithm  I2c  I2cMux  InferenceAsync  IpmiCore  JobService  Jobs  Jtag  JtagOverLocalBus  Key  KeyService  Keys  LanSwitch  Led  LedPolicy  LicenseService  LldpConfig  Lm75  LocalAccountAuthN  LogMock  LogServices  MacaService  ManagerAccounts  ManagerVersion  MdbService  Memory  MemoryChannel  MemoryMetrics  MemoryRAS  Mock  Multihost  NCSICapabilities  NandFlash  NandFlashCtrl  NandFlashMock  NetworkAdapter  NetworkPort  NodeLocation  ObjectGroup  OnePower  PCIeCard  PCIeDevice  PCIeRASCollector  Package  Pca9545  Pca9555  PcieAddrInfo  Pmu  PowerAction  PowerStrategy  Product  RMCPCipherSuites  Redfish  RestrictedPrivileges  RiserCard  SASPhy  SOC  SOL  SP  Scanner  SecureBootOptions  Sender  SensorSelInfo  SerialManagement  SerialManagementConfig  SmBios  Smc  Sms  Smtp  Snmp  StorageConfig  Syslog  SystemFirmwareProgress  SystemLockDown  Temperature  ThresholdSensor  Time  TraceIpmi  TrustedSupplyChain  UartData  Ums  UnitConfiguration  UpdateMgmt  UpdateService  Upgrade  UsbLocalOMService  Watchdog2

-- lsclass [组件]获取类名
% lsclass hwdiscovery
Connector  ObjectGroup

-- lsobj <>获取对象名
% lsobj Connector 
Connector_BCU_1_0101
Connector_CLU_1_0101
Connector_EXU_1_01

-- lsprop <对象>获取下挂接口与属性
% lsprop Connector_BCU_1_0101
bmc.kepler.Connector
  AuxId=""
  Bom="14100513"
  Buses=["I2c_1","I2c_2","I2c_8","JtagOverLocalBus_1","Hisport_0","Hisport_5","Hisport_6","Hisport_7"]
  ChassisId="1"
  GroupId=14
  GroupPosition="010101"
  Id="00000001020302024339"
  IdentifyMode=3
  LoadStatus=0
  ManagerId="1"
  Presence=1
  SilkText="BCU"
  Slot=1
  SystemId=1
  Type="CPUBoard"
bmc.kepler.Object.Properties
  ClassName="Connector"
  ObjectIdentifier=[1,"1","1","0101"]
  ObjectName="Connector_BCU_1_0101"

使用示例

shell
-- 需要traceprop必须要先attach到组件
% attach hwdiscovery
Success

-- 按照方法介绍使用
% traceprop trace Connector_BCU_1_0101 bmc.kepler.Connector LoadStatus  
Success

-- 属性变更后会在mdbctl客户端有变更回显
% 2025-02-13 02:05:31.013912, :1.160, /bmc/kepler/Connector/Connector_BCU_1_0101, bmc.kepler.Connector, LoadStatus, 0, 1 Override(set)
2025-02-13 02:05:40.877220, :1.161, /bmc/kepler/Connector/Connector_BCU_1_0101, bmc.kepler.Connector, LoadStatus, 1, 0 Override(unset)

--使用untrace或attach其他组件或者退出mdbctl都会使跟踪中断
% traceprop untrace Connector_BCU_1_0101 bmc.kepler.Connector LoadStatus
Success

属性变更回显格式为[属性变更时间],[发起变更服务名或会话id],[对象路径],[接口名],[属性名],[变更旧值],[变更新值],[变更模式(mdbctl的setprop为Override(set))]

注意事项

  1. mdbctl >= 1.20.12 && libmc4lua >= 1.50.32支持traceprop命令
  2. libmc4lua >= 1.50.43 支持追踪由mdbctl setprop设置的属性值
  3. 必须attach组件后才可以使用traceprop命令
  4. 操作traceprop后,中途attach其他组件或者退出mdbctl会使trace中断
  5. 最多同时traceprop 5个属性