def vtDcgmIntrospectGetFieldsExecTime(dcgm_handle, introspectContext, versionTest, waitIfNoData=True): fn = dcgmFP("dcgmIntrospectGetFieldsExecTime") execTime = dcgm_structs.c_dcgmIntrospectFieldsExecTime_v1() execTime.version = dcgm_structs.make_dcgm_version(execTime, 1) logger.debug("Structure version: %d" % execTime.version) fullExecTime = dcgm_structs.c_dcgmIntrospectFullFieldsExecTime_v2() fullExecTime.version = dcgm_structs.make_dcgm_version(fullExecTime, 2) logger.debug("Structure version: %d" % fullExecTime.version) fullExecTime.version = versionTest execTime.version = versionTest introspectContext = dcgm_structs.c_dcgmIntrospectContext_v1() introspectContext.version = dcgm_structs.make_dcgm_version( introspectContext, 1) logger.debug("Structure version: %d" % introspectContext.version) introspectContext.version = versionTest ret = fn(dcgm_handle, byref(introspectContext), byref(execTime), waitIfNoData) dcgm_structs._dcgmCheckReturn(ret) return execTime
def GetForAllFields(self, waitIfNoData=True): ''' Get the current amount of memory used to store all fields that DCGM is watching. waitIfNoData: wait for metadata to be updated if it's not available. Returns a dcgm_structs.c_dcgmIntrospectFullMemory_v1 object Raises an exception for DCGM_ST_NO_DATA if no data is available yet and \ref waitIfNoData is False ''' introspectContext = dcgm_structs.c_dcgmIntrospectContext_v1() introspectContext.version = dcgm_structs.dcgmIntrospectContext_version1 introspectContext.introspectLvl = dcgm_structs.DCGM_INTROSPECT_LVL.ALL_FIELDS return dcgm_agent.dcgmIntrospectGetFieldsMemoryUsage( self._dcgmHandle.handle, introspectContext, waitIfNoData)
def GetForAllFields(self, waitIfNoData=True): ''' Get the total execution time since startup that was used for updating all fields that DCGM is watching. waitIfNoData: wait for metadata to be updated if it's not available Returns a dcgm_structs.c_dcgmIntrospectFullFieldsExecTime_v2 object Raises an exception for DCGM_ST_NOT_WATCHED if the field group is not watched. Raises an exception for DCGM_ST_NO_DATA if no data is available yet and \ref waitIfNoData is False ''' introspectContext = dcgm_structs.c_dcgmIntrospectContext_v1() introspectContext.version = dcgm_structs.dcgmIntrospectContext_version1 introspectContext.introspectLvl = dcgm_structs.DCGM_INTROSPECT_LVL.ALL_FIELDS return dcgm_agent.dcgmIntrospectGetFieldsExecTime( self._dcgmHandle.handle, introspectContext, waitIfNoData)
def test_dcgm_introspect_get_fields_memory_usage_validate(handle): """ Validates structure version """ introspectContext = dcgm_structs.c_dcgmIntrospectContext_v1() waitIfNoData = True with test_utils.assert_raises( dcgmExceptionClass(dcgm_structs.DCGM_ST_VER_MISMATCH)): versionTest = 0 #invalid version ret = vtDcgmIntrospectGetFieldsMemoryUsage(handle, introspectContext, versionTest, waitIfNoData) with test_utils.assert_raises( dcgmExceptionClass(dcgm_structs.DCGM_ST_VER_MISMATCH)): versionTest = 50 #random number version ret = vtDcgmIntrospectGetFieldsMemoryUsage(handle, introspectContext, versionTest, waitIfNoData)
def GetForFieldGroup(self, fieldGroup, waitIfNoData=True): ''' Get the current amount of memory used to store a field group that DCGM is watching. fieldGroup: DcgmFieldGroup() instance waitIfNoData: wait for metadata to be updated if it's not available Returns a dcgm_structs.c_dcgmIntrospectFullMemory_v1 object Raises an exception for DCGM_ST_NOT_WATCHED if the field group is not watched. Raises an exception for DCGM_ST_NO_DATA if no data is available yet and \ref waitIfNoData is False ''' introspectContext = dcgm_structs.c_dcgmIntrospectContext_v1() introspectContext.version = dcgm_structs.dcgmIntrospectContext_version1 introspectContext.introspectLvl = dcgm_structs.DCGM_INTROSPECT_LVL.FIELD_GROUP introspectContext.fieldGroupId = fieldGroup.fieldGroupId return dcgm_agent.dcgmIntrospectGetFieldsMemoryUsage( self._dcgmHandle.handle, introspectContext, waitIfNoData)
def vtDcgmIntrospectGetFieldsMemoryUsage(dcgm_handle, introspectContext, versionTest, waitIfNoData=True): fn = dcgmFP("dcgmIntrospectGetFieldsMemoryUsage") memInfo = dcgm_structs.c_dcgmIntrospectFullMemory_v1() memInfo.version = dcgm_structs.make_dcgm_version(memInfo, 1) logger.debug("Structure version: %d" % memInfo.version) memInfo.version = versionTest introspectContext = dcgm_structs.c_dcgmIntrospectContext_v1() introspectContext.version = versionTest ret = fn(dcgm_handle, byref(introspectContext), byref(memInfo), waitIfNoData) dcgm_structs._dcgmCheckReturn(ret) return memInfo