mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-07 21:27:04 +08:00
Metric Api 1.0: metric group properties
Change-Id: Ief58ef4cb13b2d3d2d6516c668e77bc78089ab17
This commit is contained in:
@@ -63,8 +63,9 @@ struct Metric : _zet_metric_handle_t {
|
||||
virtual ~Metric() = default;
|
||||
|
||||
virtual ze_result_t getProperties(zet_metric_properties_t *pProperties) = 0;
|
||||
virtual ze_result_t getPropertiesExt(zet_metric_properties_ext_t *pProperties) = 0;
|
||||
|
||||
static Metric *create(zet_metric_properties_t &properties);
|
||||
static Metric *create(zet_metric_properties_ext_t &properties);
|
||||
static Metric *fromHandle(zet_metric_handle_t handle) { return static_cast<Metric *>(handle); }
|
||||
inline zet_metric_handle_t toHandle() { return this; }
|
||||
};
|
||||
@@ -73,19 +74,20 @@ struct MetricGroup : _zet_metric_group_handle_t {
|
||||
virtual ~MetricGroup() = default;
|
||||
|
||||
virtual ze_result_t getProperties(zet_metric_group_properties_t *pProperties) = 0;
|
||||
virtual ze_result_t getPropertiesExt(zet_metric_group_properties_ext_t *pProperties) = 0;
|
||||
virtual ze_result_t getMetric(uint32_t *pCount, zet_metric_handle_t *phMetrics) = 0;
|
||||
virtual ze_result_t calculateMetricValues(size_t rawDataSize,
|
||||
const uint8_t *pRawData, uint32_t *pMetricValueCount,
|
||||
zet_typed_value_t *pMetricValues) = 0;
|
||||
|
||||
static MetricGroup *create(zet_metric_group_properties_t &properties,
|
||||
static MetricGroup *create(zet_metric_group_properties_ext_t &properties,
|
||||
MetricsDiscovery::IMetricSet_1_5 &metricSet,
|
||||
MetricsDiscovery::IConcurrentGroup_1_5 &concurrentGroup,
|
||||
const std::vector<Metric *> &metrics);
|
||||
static MetricGroup *fromHandle(zet_metric_group_handle_t handle) {
|
||||
return static_cast<MetricGroup *>(handle);
|
||||
}
|
||||
static zet_metric_group_properties_t getProperties(const zet_metric_group_handle_t handle);
|
||||
static zet_metric_group_properties_ext_t getProperties(const zet_metric_group_handle_t handle);
|
||||
|
||||
zet_metric_group_handle_t toHandle() { return this; }
|
||||
|
||||
|
||||
@@ -194,8 +194,8 @@ MetricEnumeration::cacheMetricGroup(MetricsDiscovery::IMetricSet_1_5 &metricSet,
|
||||
// Obtain params once again - updated after SetApiFiltering
|
||||
pMetricSetParams = metricSet.GetParams();
|
||||
|
||||
zet_metric_group_properties_t properties = {};
|
||||
properties.version = ZET_METRIC_GROUP_PROPERTIES_VERSION_CURRENT;
|
||||
zet_metric_group_properties_ext_t properties = {};
|
||||
properties.stype = ZET_STRUCTURE_TYPE_METRIC_GROUP_PROPERTIES;
|
||||
snprintf(properties.name, sizeof(properties.name), "%s",
|
||||
pMetricSetParams->SymbolName); // To always have null-terminated string
|
||||
snprintf(properties.description, sizeof(properties.description), "%s",
|
||||
@@ -235,8 +235,8 @@ ze_result_t MetricEnumeration::createMetrics(MetricsDiscovery::IMetricSet_1_5 &m
|
||||
MetricsDiscovery::TMetricParams_1_0 *pSourceMetricParams = pSourceMetric->GetParams();
|
||||
DEBUG_BREAK_IF(pSourceMetricParams == nullptr);
|
||||
|
||||
zet_metric_properties_t properties = {};
|
||||
properties.version = ZET_METRIC_PROPERTIES_VERSION_CURRENT;
|
||||
zet_metric_properties_ext_t properties = {};
|
||||
properties.stype = ZET_STRUCTURE_TYPE_METRIC_PROPERTIES;
|
||||
snprintf(properties.name, sizeof(properties.name), "%s",
|
||||
pSourceMetricParams->SymbolName); // To always have a null-terminated string
|
||||
snprintf(properties.description, sizeof(properties.description), "%s",
|
||||
@@ -264,8 +264,8 @@ ze_result_t MetricEnumeration::createMetrics(MetricsDiscovery::IMetricSet_1_5 &m
|
||||
pSourceInformation->GetParams();
|
||||
DEBUG_BREAK_IF(pSourceInformationParams == nullptr);
|
||||
|
||||
zet_metric_properties_t properties;
|
||||
properties.version = ZET_METRIC_PROPERTIES_VERSION_CURRENT;
|
||||
zet_metric_properties_ext_t properties = {};
|
||||
properties.stype = ZET_STRUCTURE_TYPE_METRIC_PROPERTIES;
|
||||
snprintf(properties.name, sizeof(properties.name), "%s",
|
||||
pSourceInformationParams->SymbolName); // To always have a null-terminated string
|
||||
snprintf(properties.description, sizeof(properties.description), "%s",
|
||||
@@ -378,16 +378,32 @@ MetricGroupImp ::~MetricGroupImp() {
|
||||
};
|
||||
|
||||
ze_result_t MetricGroupImp::getProperties(zet_metric_group_properties_t *pProperties) {
|
||||
|
||||
pProperties->version = zet_metric_group_properties_version_t::ZET_METRIC_GROUP_PROPERTIES_VERSION_CURRENT;
|
||||
pProperties->domain = properties.domain;
|
||||
pProperties->maxCommandQueueOrdinal = 0xFFFFFFFF;
|
||||
pProperties->metricCount = properties.metricCount;
|
||||
pProperties->samplingType = static_cast<zet_metric_group_sampling_type_t>(properties.samplingType);
|
||||
|
||||
memcpy(pProperties->name,
|
||||
properties.name, sizeof(pProperties->name));
|
||||
memcpy(pProperties->description,
|
||||
properties.description, sizeof(pProperties->description));
|
||||
|
||||
return ZE_RESULT_SUCCESS;
|
||||
}
|
||||
|
||||
ze_result_t MetricGroupImp::getPropertiesExt(zet_metric_group_properties_ext_t *pProperties) {
|
||||
copyProperties(properties, *pProperties);
|
||||
return ZE_RESULT_SUCCESS;
|
||||
}
|
||||
|
||||
zet_metric_group_properties_t MetricGroup::getProperties(const zet_metric_group_handle_t handle) {
|
||||
zet_metric_group_properties_ext_t MetricGroup::getProperties(const zet_metric_group_handle_t handle) {
|
||||
auto metricGroup = MetricGroup::fromHandle(handle);
|
||||
UNRECOVERABLE_IF(!metricGroup);
|
||||
|
||||
zet_metric_group_properties_t properties = {ZET_METRIC_GROUP_PROPERTIES_VERSION_CURRENT};
|
||||
metricGroup->getProperties(&properties);
|
||||
zet_metric_group_properties_ext_t properties = {ZET_STRUCTURE_TYPE_METRIC_GROUP_PROPERTIES};
|
||||
metricGroup->getPropertiesExt(&properties);
|
||||
|
||||
return properties;
|
||||
}
|
||||
@@ -425,12 +441,12 @@ bool MetricGroupImp::deactivate() {
|
||||
return result;
|
||||
}
|
||||
|
||||
uint32_t MetricGroupImp::getApiMask(const zet_metric_group_sampling_type_t samplingType) {
|
||||
uint32_t MetricGroupImp::getApiMask(const zet_metric_group_sampling_type_flags_t samplingType) {
|
||||
|
||||
switch (samplingType) {
|
||||
case ZET_METRIC_GROUP_SAMPLING_TYPE_TIME_BASED:
|
||||
case ZET_METRIC_GROUP_SAMPLING_TYPE_FLAG_TIME_BASED:
|
||||
return MetricsDiscovery::API_TYPE_IOSTREAM;
|
||||
case ZET_METRIC_GROUP_SAMPLING_TYPE_EVENT_BASED:
|
||||
case ZET_METRIC_GROUP_SAMPLING_TYPE_FLAG_EVENT_BASED:
|
||||
return MetricsDiscovery::API_TYPE_OCL | MetricsDiscovery::API_TYPE_OGL4_X;
|
||||
default:
|
||||
DEBUG_BREAK_IF(true);
|
||||
@@ -541,7 +557,7 @@ bool MetricGroupImp::getCalculatedMetricValues(const size_t rawDataSize, const u
|
||||
return result;
|
||||
}
|
||||
|
||||
ze_result_t MetricGroupImp::initialize(const zet_metric_group_properties_t &sourceProperties,
|
||||
ze_result_t MetricGroupImp::initialize(const zet_metric_group_properties_ext_t &sourceProperties,
|
||||
MetricsDiscovery::IMetricSet_1_5 &metricSet,
|
||||
MetricsDiscovery::IConcurrentGroup_1_5 &concurrentGroup,
|
||||
const std::vector<Metric *> &groupMetrics) {
|
||||
@@ -560,9 +576,8 @@ uint32_t MetricGroupImp::getRawReportSize() {
|
||||
: pMetricSetParams->QueryReportSize;
|
||||
}
|
||||
|
||||
void MetricGroupImp::copyProperties(const zet_metric_group_properties_t &source,
|
||||
zet_metric_group_properties_t &destination) {
|
||||
DEBUG_BREAK_IF(source.version < destination.version);
|
||||
void MetricGroupImp::copyProperties(const zet_metric_group_properties_ext_t &source,
|
||||
zet_metric_group_properties_ext_t &destination) {
|
||||
destination = source;
|
||||
memcpy_s(destination.name, sizeof(destination.name),
|
||||
source.name, sizeof(destination.name));
|
||||
@@ -605,18 +620,32 @@ void MetricGroupImp::copyValue(const MetricsDiscovery::TTypedValue_1_0 &source,
|
||||
}
|
||||
|
||||
ze_result_t MetricImp::getProperties(zet_metric_properties_t *pProperties) {
|
||||
|
||||
pProperties->version = ZET_METRIC_PROPERTIES_VERSION_CURRENT;
|
||||
pProperties->tierNumber = properties.tierNumber;
|
||||
pProperties->metricType = properties.metricType;
|
||||
pProperties->resultType = properties.resultType;
|
||||
|
||||
memcpy(pProperties->name, properties.name, sizeof(pProperties->name));
|
||||
memcpy(pProperties->description, properties.description, sizeof(pProperties->description));
|
||||
memcpy(pProperties->component, properties.component, sizeof(pProperties->component));
|
||||
memcpy(pProperties->resultUnits, properties.resultUnits, sizeof(pProperties->resultUnits));
|
||||
|
||||
return ZE_RESULT_SUCCESS;
|
||||
}
|
||||
|
||||
ze_result_t MetricImp::getPropertiesExt(zet_metric_properties_ext_t *pProperties) {
|
||||
copyProperties(properties, *pProperties);
|
||||
return ZE_RESULT_SUCCESS;
|
||||
}
|
||||
|
||||
ze_result_t MetricImp::initialize(const zet_metric_properties_t &sourceProperties) {
|
||||
ze_result_t MetricImp::initialize(const zet_metric_properties_ext_t &sourceProperties) {
|
||||
copyProperties(sourceProperties, properties);
|
||||
return ZE_RESULT_SUCCESS;
|
||||
}
|
||||
|
||||
void MetricImp::copyProperties(const zet_metric_properties_t &source,
|
||||
zet_metric_properties_t &destination) {
|
||||
DEBUG_BREAK_IF(source.version < destination.version);
|
||||
void MetricImp::copyProperties(const zet_metric_properties_ext_t &source,
|
||||
zet_metric_properties_ext_t &destination) {
|
||||
destination = source;
|
||||
memcpy_s(destination.name, sizeof(destination.name),
|
||||
source.name, sizeof(destination.name));
|
||||
@@ -628,7 +657,7 @@ void MetricImp::copyProperties(const zet_metric_properties_t &source,
|
||||
source.resultUnits, sizeof(destination.resultUnits));
|
||||
}
|
||||
|
||||
MetricGroup *MetricGroup::create(zet_metric_group_properties_t &properties,
|
||||
MetricGroup *MetricGroup::create(zet_metric_group_properties_ext_t &properties,
|
||||
MetricsDiscovery::IMetricSet_1_5 &metricSet,
|
||||
MetricsDiscovery::IConcurrentGroup_1_5 &concurrentGroup,
|
||||
const std::vector<Metric *> &metrics) {
|
||||
@@ -638,7 +667,7 @@ MetricGroup *MetricGroup::create(zet_metric_group_properties_t &properties,
|
||||
return pMetricGroup;
|
||||
}
|
||||
|
||||
Metric *Metric::create(zet_metric_properties_t &properties) {
|
||||
Metric *Metric::create(zet_metric_properties_ext_t &properties) {
|
||||
auto pMetric = new MetricImp();
|
||||
UNRECOVERABLE_IF(pMetric == nullptr);
|
||||
pMetric->initialize(properties);
|
||||
|
||||
@@ -73,12 +73,13 @@ struct MetricGroupImp : MetricGroup {
|
||||
~MetricGroupImp() override;
|
||||
|
||||
ze_result_t getProperties(zet_metric_group_properties_t *pProperties) override;
|
||||
ze_result_t getPropertiesExt(zet_metric_group_properties_ext_t *pProperties) override;
|
||||
ze_result_t getMetric(uint32_t *pCount, zet_metric_handle_t *phMetrics) override;
|
||||
ze_result_t calculateMetricValues(size_t rawDataSize, const uint8_t *pRawData,
|
||||
uint32_t *pMetricValueCount,
|
||||
zet_typed_value_t *pCalculatedData) override;
|
||||
|
||||
ze_result_t initialize(const zet_metric_group_properties_t &sourceProperties,
|
||||
ze_result_t initialize(const zet_metric_group_properties_ext_t &sourceProperties,
|
||||
MetricsDiscovery::IMetricSet_1_5 &metricSet,
|
||||
MetricsDiscovery::IConcurrentGroup_1_5 &concurrentGroup,
|
||||
const std::vector<Metric *> &groupMetrics);
|
||||
@@ -88,7 +89,7 @@ struct MetricGroupImp : MetricGroup {
|
||||
bool activate() override;
|
||||
bool deactivate() override;
|
||||
|
||||
static uint32_t getApiMask(const zet_metric_group_sampling_type_t samplingType);
|
||||
static uint32_t getApiMask(const zet_metric_group_sampling_type_flags_t samplingType);
|
||||
|
||||
// Time based measurements.
|
||||
ze_result_t openIoStream(uint32_t &timerPeriodNs, uint32_t &oaBufferSize) override;
|
||||
@@ -97,9 +98,8 @@ struct MetricGroupImp : MetricGroup {
|
||||
ze_result_t closeIoStream() override;
|
||||
|
||||
protected:
|
||||
void copyProperties(const zet_metric_group_properties_t &source,
|
||||
zet_metric_group_properties_t &destination);
|
||||
|
||||
void copyProperties(const zet_metric_group_properties_ext_t &source,
|
||||
zet_metric_group_properties_ext_t &destination);
|
||||
void copyValue(const MetricsDiscovery::TTypedValue_1_0 &source,
|
||||
zet_typed_value_t &destination) const;
|
||||
|
||||
@@ -112,8 +112,8 @@ struct MetricGroupImp : MetricGroup {
|
||||
|
||||
// Cached metrics.
|
||||
std::vector<Metric *> metrics;
|
||||
zet_metric_group_properties_t properties{
|
||||
ZET_METRIC_GROUP_PROPERTIES_VERSION_CURRENT,
|
||||
zet_metric_group_properties_ext_t properties{
|
||||
ZET_STRUCTURE_TYPE_METRIC_GROUP_PROPERTIES,
|
||||
};
|
||||
MetricsDiscovery::IMetricSet_1_5 *pReferenceMetricSet = nullptr;
|
||||
MetricsDiscovery::IConcurrentGroup_1_5 *pReferenceConcurrentGroup = nullptr;
|
||||
@@ -123,16 +123,16 @@ struct MetricImp : Metric {
|
||||
~MetricImp() override{};
|
||||
|
||||
ze_result_t getProperties(zet_metric_properties_t *pProperties) override;
|
||||
ze_result_t getPropertiesExt(zet_metric_properties_ext_t *pProperties) override;
|
||||
|
||||
ze_result_t initialize(const zet_metric_properties_t &sourceProperties);
|
||||
ze_result_t initialize(const zet_metric_properties_ext_t &sourceProperties);
|
||||
|
||||
protected:
|
||||
void copyProperties(const zet_metric_properties_t &source,
|
||||
zet_metric_properties_t &destination);
|
||||
void copyProperties(const zet_metric_properties_ext_t &source,
|
||||
zet_metric_properties_ext_t &destination);
|
||||
|
||||
zet_metric_properties_t properties{
|
||||
ZET_METRIC_PROPERTIES_VERSION_CURRENT,
|
||||
};
|
||||
zet_metric_properties_ext_t properties{
|
||||
ZET_STRUCTURE_TYPE_METRIC_PROPERTIES};
|
||||
};
|
||||
|
||||
} // namespace L0
|
||||
|
||||
@@ -303,7 +303,7 @@ bool MetricsLibrary::getGpuCommands(CommandList &commandList,
|
||||
|
||||
ConfigurationHandle_1_0
|
||||
MetricsLibrary::createConfiguration(const zet_metric_group_handle_t metricGroupHandle,
|
||||
const zet_metric_group_properties_t properties) {
|
||||
const zet_metric_group_properties_ext_t properties) {
|
||||
// Metric group internal data.
|
||||
auto metricGroup = MetricGroup::fromHandle(metricGroupHandle);
|
||||
auto metricGroupDummy = ConfigurationHandle_1_0{};
|
||||
|
||||
@@ -74,7 +74,7 @@ struct MetricsLibrary {
|
||||
virtual bool getContextData(Device &device, ContextCreateData_1_0 &contextData);
|
||||
|
||||
ConfigurationHandle_1_0 createConfiguration(const zet_metric_group_handle_t metricGroup,
|
||||
const zet_metric_group_properties_t properties);
|
||||
const zet_metric_group_properties_ext_t properties);
|
||||
ConfigurationHandle_1_0 addConfiguration(const zet_metric_group_handle_t metricGroup);
|
||||
|
||||
ClientGen getGenType(const uint32_t gen) const;
|
||||
|
||||
@@ -137,6 +137,7 @@ struct Mock<MetricGroup> : public MetricGroup {
|
||||
MOCK_METHOD(ze_result_t, getMetric, (uint32_t *, zet_metric_handle_t *), (override));
|
||||
MOCK_METHOD(ze_result_t, calculateMetricValues, (size_t, const uint8_t *, uint32_t *, zet_typed_value_t *), (override));
|
||||
MOCK_METHOD(ze_result_t, getProperties, (zet_metric_group_properties_t * properties), (override));
|
||||
MOCK_METHOD(ze_result_t, getPropertiesExt, (zet_metric_group_properties_ext_t * properties), (override));
|
||||
MOCK_METHOD(uint32_t, getRawReportSize, (), (override));
|
||||
MOCK_METHOD(bool, activate, (), (override));
|
||||
MOCK_METHOD(bool, deactivate, (), (override));
|
||||
|
||||
@@ -704,6 +704,105 @@ TEST_F(MetricEnumerationTest, givenValidArgumentsWhenZetMetricGetPropertiestIsCa
|
||||
EXPECT_EQ(metricProperties.resultType, ZET_VALUE_TYPE_UINT64);
|
||||
}
|
||||
|
||||
TEST_F(MetricEnumerationTest, givenValidArgumentsWhenZetMetricGetPropertiestIsCalledThenReturnSuccessExt) {
|
||||
|
||||
// Metrics Discovery device.
|
||||
metricsDeviceParams.ConcurrentGroupsCount = 1;
|
||||
|
||||
// Metrics Discovery concurrent group.
|
||||
Mock<IConcurrentGroup_1_5> metricsConcurrentGroup;
|
||||
TConcurrentGroupParams_1_0 metricsConcurrentGroupParams = {};
|
||||
metricsConcurrentGroupParams.MetricSetsCount = 1;
|
||||
metricsConcurrentGroupParams.SymbolName = "OA";
|
||||
metricsConcurrentGroupParams.Description = "OA description";
|
||||
|
||||
// Metrics Discovery:: metric set.
|
||||
Mock<MetricsDiscovery::IMetricSet_1_5> metricsSet;
|
||||
MetricsDiscovery::TMetricSetParams_1_4 metricsSetParams = {};
|
||||
metricsSetParams.ApiMask = MetricsDiscovery::API_TYPE_OCL;
|
||||
metricsSetParams.MetricsCount = 0;
|
||||
metricsSetParams.SymbolName = "Metric set name";
|
||||
metricsSetParams.ShortName = "Metric set description";
|
||||
metricsSetParams.MetricsCount = 1;
|
||||
|
||||
// Metrics Discovery:: metric.
|
||||
Mock<IMetric_1_0> metric;
|
||||
TMetricParams_1_0 metricParams = {};
|
||||
metricParams.SymbolName = "Metric symbol name";
|
||||
metricParams.ShortName = "Metric short name";
|
||||
metricParams.LongName = "Metric long name";
|
||||
metricParams.ResultType = MetricsDiscovery::TMetricResultType::RESULT_UINT64;
|
||||
metricParams.MetricType = MetricsDiscovery::TMetricType::METRIC_TYPE_RATIO;
|
||||
zet_metric_properties_ext_t metricProperties = {};
|
||||
|
||||
// One api: metric group handle.
|
||||
zet_metric_group_handle_t metricGroupHandle = {};
|
||||
|
||||
EXPECT_CALL(*mockMetricEnumeration, loadMetricsDiscovery())
|
||||
.Times(0);
|
||||
|
||||
EXPECT_CALL(*mockMetricEnumeration->g_mockApi, MockOpenMetricsDevice(_))
|
||||
.Times(1)
|
||||
.WillOnce(DoAll(::testing::SetArgPointee<0>(&metricsDevice), Return(TCompletionCode::CC_OK)));
|
||||
|
||||
EXPECT_CALL(*mockMetricEnumeration->g_mockApi, MockCloseMetricsDevice(_))
|
||||
.Times(1)
|
||||
.WillOnce(Return(TCompletionCode::CC_OK));
|
||||
|
||||
EXPECT_CALL(metricsDevice, GetParams())
|
||||
.WillRepeatedly(Return(&metricsDeviceParams));
|
||||
|
||||
EXPECT_CALL(metricsDevice, GetConcurrentGroup(_))
|
||||
.Times(1)
|
||||
.WillOnce(Return(&metricsConcurrentGroup));
|
||||
|
||||
EXPECT_CALL(metricsConcurrentGroup, GetParams())
|
||||
.Times(1)
|
||||
.WillRepeatedly(Return(&metricsConcurrentGroupParams));
|
||||
|
||||
EXPECT_CALL(metricsConcurrentGroup, GetMetricSet(_))
|
||||
.WillRepeatedly(Return(&metricsSet));
|
||||
|
||||
EXPECT_CALL(metricsSet, GetParams())
|
||||
.WillRepeatedly(Return(&metricsSetParams));
|
||||
|
||||
EXPECT_CALL(metricsSet, GetMetric(_))
|
||||
.Times(1)
|
||||
.WillOnce(Return(&metric));
|
||||
|
||||
EXPECT_CALL(metric, GetParams())
|
||||
.Times(1)
|
||||
.WillOnce(Return(&metricParams));
|
||||
|
||||
EXPECT_CALL(metricsSet, SetApiFiltering(_))
|
||||
.WillRepeatedly(Return(TCompletionCode::CC_OK));
|
||||
|
||||
// Metric group count.
|
||||
uint32_t metricGroupCount = 0;
|
||||
EXPECT_EQ(zetMetricGroupGet(device->toHandle(), &metricGroupCount, nullptr), ZE_RESULT_SUCCESS);
|
||||
EXPECT_EQ(metricGroupCount, 1u);
|
||||
|
||||
// Metric group handle.
|
||||
EXPECT_EQ(zetMetricGroupGet(device->toHandle(), &metricGroupCount, &metricGroupHandle), ZE_RESULT_SUCCESS);
|
||||
EXPECT_EQ(metricGroupCount, 1u);
|
||||
EXPECT_NE(metricGroupHandle, nullptr);
|
||||
|
||||
// Obtain metric.
|
||||
uint32_t metricCount = 0;
|
||||
zet_metric_handle_t metricHandle = {};
|
||||
EXPECT_EQ(zetMetricGet(metricGroupHandle, &metricCount, nullptr), ZE_RESULT_SUCCESS);
|
||||
EXPECT_EQ(metricCount, 1u);
|
||||
EXPECT_EQ(zetMetricGet(metricGroupHandle, &metricCount, &metricHandle), ZE_RESULT_SUCCESS);
|
||||
EXPECT_NE(metricHandle, nullptr);
|
||||
|
||||
// Obtain metric params.
|
||||
EXPECT_EQ(zetMetricGetPropertiesExt(metricHandle, &metricProperties), ZE_RESULT_SUCCESS);
|
||||
EXPECT_EQ(strcmp(metricProperties.name, metricParams.SymbolName), 0);
|
||||
EXPECT_EQ(strcmp(metricProperties.description, metricParams.LongName), 0);
|
||||
EXPECT_EQ(metricProperties.metricType, ZET_METRIC_TYPE_RATIO);
|
||||
EXPECT_EQ(metricProperties.resultType, ZET_VALUE_TYPE_UINT64);
|
||||
}
|
||||
|
||||
TEST_F(MetricEnumerationTest, givenInvalidArgumentsWhenZetDeviceActivateMetricGroupsIsCalledThenReturnsFail) {
|
||||
|
||||
// Metrics Discovery device.
|
||||
|
||||
@@ -46,7 +46,7 @@ TEST_F(MetricQueryPoolTest, givenCorrectArgumentsWhenZetMetricQueryPoolCreateIsC
|
||||
zet_device_handle_t metricDevice = device->toHandle();
|
||||
|
||||
Mock<MetricGroup> metricGroup;
|
||||
zet_metric_group_properties_t metricGroupProperties = {};
|
||||
zet_metric_group_properties_ext_t metricGroupProperties = {};
|
||||
metricGroupProperties.samplingType = ZET_METRIC_GROUP_SAMPLING_TYPE_EVENT_BASED;
|
||||
|
||||
zet_metric_query_pool_handle_t poolHandle = {};
|
||||
@@ -73,7 +73,7 @@ TEST_F(MetricQueryPoolTest, givenCorrectArgumentsWhenZetMetricQueryPoolCreateIsC
|
||||
EXPECT_CALL(*mockMetricsLibrary, load())
|
||||
.Times(0);
|
||||
|
||||
EXPECT_CALL(metricGroup, getProperties(_))
|
||||
EXPECT_CALL(metricGroup, getPropertiesExt(_))
|
||||
.Times(1)
|
||||
.WillOnce(DoAll(::testing::SetArgPointee<0>(metricGroupProperties), Return(ZE_RESULT_SUCCESS)));
|
||||
|
||||
@@ -107,7 +107,7 @@ TEST_F(MetricQueryPoolTest, givenIncorrectMetricGroupTypeWhenZetMetricQueryPoolC
|
||||
zet_device_handle_t metricDevice = device->toHandle();
|
||||
|
||||
Mock<MetricGroup> metricGroup;
|
||||
zet_metric_group_properties_t metricGroupProperties = {};
|
||||
zet_metric_group_properties_ext_t metricGroupProperties = {};
|
||||
metricGroupProperties.samplingType = ZET_METRIC_GROUP_SAMPLING_TYPE_TIME_BASED;
|
||||
|
||||
zet_metric_query_pool_handle_t poolHandle = {};
|
||||
@@ -132,7 +132,7 @@ TEST_F(MetricQueryPoolTest, givenIncorrectMetricGroupTypeWhenZetMetricQueryPoolC
|
||||
EXPECT_CALL(*mockMetricsLibrary, load())
|
||||
.Times(0);
|
||||
|
||||
EXPECT_CALL(metricGroup, getProperties(_))
|
||||
EXPECT_CALL(metricGroup, getPropertiesExt(_))
|
||||
.Times(1)
|
||||
.WillOnce(DoAll(::testing::SetArgPointee<0>(metricGroupProperties), Return(ZE_RESULT_SUCCESS)));
|
||||
|
||||
@@ -160,7 +160,7 @@ TEST_F(MetricQueryPoolTest, givenCorrectArgumentsWhenZetMetricQueryCreateIsCalle
|
||||
zet_device_handle_t metricDevice = device->toHandle();
|
||||
|
||||
Mock<MetricGroup> metricGroup;
|
||||
zet_metric_group_properties_t metricGroupProperties = {};
|
||||
zet_metric_group_properties_ext_t metricGroupProperties = {};
|
||||
metricGroupProperties.samplingType = ZET_METRIC_GROUP_SAMPLING_TYPE_EVENT_BASED;
|
||||
|
||||
zet_metric_query_handle_t queryHandle = {};
|
||||
@@ -188,7 +188,7 @@ TEST_F(MetricQueryPoolTest, givenCorrectArgumentsWhenZetMetricQueryCreateIsCalle
|
||||
EXPECT_CALL(*mockMetricsLibrary, load())
|
||||
.Times(0);
|
||||
|
||||
EXPECT_CALL(metricGroup, getProperties(_))
|
||||
EXPECT_CALL(metricGroup, getPropertiesExt(_))
|
||||
.Times(1)
|
||||
.WillOnce(DoAll(::testing::SetArgPointee<0>(metricGroupProperties), Return(ZE_RESULT_SUCCESS)));
|
||||
|
||||
@@ -230,7 +230,7 @@ TEST_F(MetricQueryPoolTest, givenIncorrectSlotIndexWhenZetMetricQueryCreateIsCal
|
||||
zet_device_handle_t metricDevice = device->toHandle();
|
||||
|
||||
Mock<MetricGroup> metricGroup;
|
||||
zet_metric_group_properties_t metricGroupProperties = {};
|
||||
zet_metric_group_properties_ext_t metricGroupProperties = {};
|
||||
metricGroupProperties.samplingType = ZET_METRIC_GROUP_SAMPLING_TYPE_EVENT_BASED;
|
||||
|
||||
zet_metric_query_handle_t queryHandle = {};
|
||||
@@ -258,7 +258,7 @@ TEST_F(MetricQueryPoolTest, givenIncorrectSlotIndexWhenZetMetricQueryCreateIsCal
|
||||
EXPECT_CALL(*mockMetricsLibrary, load())
|
||||
.Times(0);
|
||||
|
||||
EXPECT_CALL(metricGroup, getProperties(_))
|
||||
EXPECT_CALL(metricGroup, getPropertiesExt(_))
|
||||
.Times(1)
|
||||
.WillOnce(DoAll(::testing::SetArgPointee<0>(metricGroupProperties), Return(ZE_RESULT_SUCCESS)));
|
||||
|
||||
@@ -299,7 +299,7 @@ TEST_F(MetricQueryPoolTest, givenCorrectArgumentsWhenZetMetricQueryResetIsCalled
|
||||
zet_device_handle_t metricDevice = device->toHandle();
|
||||
|
||||
Mock<MetricGroup> metricGroup;
|
||||
zet_metric_group_properties_t metricGroupProperties = {};
|
||||
zet_metric_group_properties_ext_t metricGroupProperties = {};
|
||||
metricGroupProperties.samplingType = ZET_METRIC_GROUP_SAMPLING_TYPE_EVENT_BASED;
|
||||
|
||||
zet_metric_query_handle_t queryHandle = {};
|
||||
@@ -327,7 +327,7 @@ TEST_F(MetricQueryPoolTest, givenCorrectArgumentsWhenZetMetricQueryResetIsCalled
|
||||
EXPECT_CALL(*mockMetricsLibrary, load())
|
||||
.Times(0);
|
||||
|
||||
EXPECT_CALL(metricGroup, getProperties(_))
|
||||
EXPECT_CALL(metricGroup, getPropertiesExt(_))
|
||||
.Times(1)
|
||||
.WillOnce(DoAll(::testing::SetArgPointee<0>(metricGroupProperties), Return(ZE_RESULT_SUCCESS)));
|
||||
|
||||
@@ -372,7 +372,7 @@ TEST_F(MetricQueryPoolTest, givenIncorrectArgumentsWhenZetCommandListAppendMetri
|
||||
zet_device_handle_t metricDevice = device->toHandle();
|
||||
|
||||
Mock<MetricGroup> metricGroup;
|
||||
zet_metric_group_properties_t metricGroupProperties = {};
|
||||
zet_metric_group_properties_ext_t metricGroupProperties = {};
|
||||
metricGroupProperties.samplingType = ZET_METRIC_GROUP_SAMPLING_TYPE_EVENT_BASED;
|
||||
|
||||
zet_metric_query_handle_t queryHandle = {};
|
||||
@@ -400,7 +400,7 @@ TEST_F(MetricQueryPoolTest, givenIncorrectArgumentsWhenZetCommandListAppendMetri
|
||||
EXPECT_CALL(*mockMetricsLibrary, load())
|
||||
.Times(0);
|
||||
|
||||
EXPECT_CALL(metricGroup, getProperties(_))
|
||||
EXPECT_CALL(metricGroup, getPropertiesExt(_))
|
||||
.Times(1)
|
||||
.WillOnce(DoAll(::testing::SetArgPointee<0>(metricGroupProperties), Return(ZE_RESULT_SUCCESS)));
|
||||
|
||||
@@ -448,7 +448,7 @@ TEST_F(MetricQueryPoolTest, givenCorrectArgumentsWhenZetCommandListAppendMetricQ
|
||||
zet_command_list_handle_t commandListHandle = commandList->toHandle();
|
||||
|
||||
Mock<MetricGroup> metricGroup;
|
||||
zet_metric_group_properties_t metricGroupProperties = {};
|
||||
zet_metric_group_properties_ext_t metricGroupProperties = {};
|
||||
metricGroupProperties.samplingType = ZET_METRIC_GROUP_SAMPLING_TYPE_EVENT_BASED;
|
||||
|
||||
zet_metric_query_handle_t queryHandle = {};
|
||||
@@ -479,7 +479,7 @@ TEST_F(MetricQueryPoolTest, givenCorrectArgumentsWhenZetCommandListAppendMetricQ
|
||||
EXPECT_CALL(*mockMetricsLibrary, load())
|
||||
.Times(0);
|
||||
|
||||
EXPECT_CALL(metricGroup, getProperties(_))
|
||||
EXPECT_CALL(metricGroup, getPropertiesExt(_))
|
||||
.Times(1)
|
||||
.WillOnce(DoAll(::testing::SetArgPointee<0>(metricGroupProperties), Return(ZE_RESULT_SUCCESS)));
|
||||
|
||||
@@ -620,7 +620,7 @@ TEST_F(MetricQueryPoolTest, givenIncorrectArgumentsWhenZetCommandListAppendMetri
|
||||
eventDesc.signal = ZE_EVENT_SCOPE_FLAG_DEVICE;
|
||||
|
||||
Mock<MetricGroup> metricGroup;
|
||||
zet_metric_group_properties_t metricGroupProperties = {};
|
||||
zet_metric_group_properties_ext_t metricGroupProperties = {};
|
||||
metricGroupProperties.samplingType = ZET_METRIC_GROUP_SAMPLING_TYPE_EVENT_BASED;
|
||||
|
||||
zet_metric_query_handle_t queryHandle = {};
|
||||
@@ -651,7 +651,7 @@ TEST_F(MetricQueryPoolTest, givenIncorrectArgumentsWhenZetCommandListAppendMetri
|
||||
EXPECT_CALL(*mockMetricsLibrary, load())
|
||||
.Times(0);
|
||||
|
||||
EXPECT_CALL(metricGroup, getProperties(_))
|
||||
EXPECT_CALL(metricGroup, getPropertiesExt(_))
|
||||
.Times(1)
|
||||
.WillOnce(DoAll(::testing::SetArgPointee<0>(metricGroupProperties), Return(ZE_RESULT_SUCCESS)));
|
||||
|
||||
@@ -731,7 +731,7 @@ TEST_F(MetricQueryPoolTest, givenCorrectArgumentsWhenZetCommandListAppendMetricQ
|
||||
eventDesc.signal = ZE_EVENT_SCOPE_FLAG_DEVICE;
|
||||
|
||||
Mock<MetricGroup> metricGroup;
|
||||
zet_metric_group_properties_t metricGroupProperties = {};
|
||||
zet_metric_group_properties_ext_t metricGroupProperties = {};
|
||||
metricGroupProperties.samplingType = ZET_METRIC_GROUP_SAMPLING_TYPE_EVENT_BASED;
|
||||
|
||||
zet_metric_query_handle_t queryHandle = {};
|
||||
@@ -762,7 +762,7 @@ TEST_F(MetricQueryPoolTest, givenCorrectArgumentsWhenZetCommandListAppendMetricQ
|
||||
EXPECT_CALL(*mockMetricsLibrary, load())
|
||||
.Times(0);
|
||||
|
||||
EXPECT_CALL(metricGroup, getProperties(_))
|
||||
EXPECT_CALL(metricGroup, getPropertiesExt(_))
|
||||
.Times(1)
|
||||
.WillOnce(DoAll(::testing::SetArgPointee<0>(metricGroupProperties), Return(ZE_RESULT_SUCCESS)));
|
||||
|
||||
@@ -847,7 +847,7 @@ TEST_F(MetricQueryPoolTest, givenCorrectArgumentsWhenZetCommandListAppendMetricQ
|
||||
eventDesc.signal = ZE_EVENT_SCOPE_FLAG_DEVICE;
|
||||
|
||||
Mock<MetricGroup> metricGroup;
|
||||
zet_metric_group_properties_t metricGroupProperties = {};
|
||||
zet_metric_group_properties_ext_t metricGroupProperties = {};
|
||||
metricGroupProperties.samplingType = ZET_METRIC_GROUP_SAMPLING_TYPE_EVENT_BASED;
|
||||
|
||||
zet_metric_query_handle_t queryHandle = {};
|
||||
@@ -878,7 +878,7 @@ TEST_F(MetricQueryPoolTest, givenCorrectArgumentsWhenZetCommandListAppendMetricQ
|
||||
EXPECT_CALL(*mockMetricsLibrary, load())
|
||||
.Times(0);
|
||||
|
||||
EXPECT_CALL(metricGroup, getProperties(_))
|
||||
EXPECT_CALL(metricGroup, getPropertiesExt(_))
|
||||
.Times(1)
|
||||
.WillOnce(DoAll(::testing::SetArgPointee<0>(metricGroupProperties), Return(ZE_RESULT_SUCCESS)));
|
||||
|
||||
@@ -963,7 +963,7 @@ TEST_F(MetricQueryPoolTest, givenIncorrectArgumentsWhenZetMetricQueryGetDataIsCa
|
||||
eventDesc.signal = ZE_EVENT_SCOPE_FLAG_DEVICE;
|
||||
|
||||
Mock<MetricGroup> metricGroup;
|
||||
zet_metric_group_properties_t metricGroupProperties = {};
|
||||
zet_metric_group_properties_ext_t metricGroupProperties = {};
|
||||
metricGroupProperties.samplingType = ZET_METRIC_GROUP_SAMPLING_TYPE_EVENT_BASED;
|
||||
|
||||
zet_metric_query_handle_t queryHandle = {};
|
||||
@@ -994,7 +994,7 @@ TEST_F(MetricQueryPoolTest, givenIncorrectArgumentsWhenZetMetricQueryGetDataIsCa
|
||||
EXPECT_CALL(*mockMetricsLibrary, load())
|
||||
.Times(0);
|
||||
|
||||
EXPECT_CALL(metricGroup, getProperties(_))
|
||||
EXPECT_CALL(metricGroup, getPropertiesExt(_))
|
||||
.Times(1)
|
||||
.WillOnce(DoAll(::testing::SetArgPointee<0>(metricGroupProperties), Return(ZE_RESULT_SUCCESS)));
|
||||
|
||||
@@ -1079,7 +1079,7 @@ TEST_F(MetricQueryPoolTest, givenIncorrectArgumentsWhenZetMetricQueryGetDataIsCa
|
||||
eventDesc.signal = ZE_EVENT_SCOPE_FLAG_DEVICE;
|
||||
|
||||
Mock<MetricGroup> metricGroup;
|
||||
zet_metric_group_properties_t metricGroupProperties = {};
|
||||
zet_metric_group_properties_ext_t metricGroupProperties = {};
|
||||
metricGroupProperties.samplingType = ZET_METRIC_GROUP_SAMPLING_TYPE_EVENT_BASED;
|
||||
|
||||
zet_metric_query_handle_t queryHandle = {};
|
||||
@@ -1110,7 +1110,7 @@ TEST_F(MetricQueryPoolTest, givenIncorrectArgumentsWhenZetMetricQueryGetDataIsCa
|
||||
EXPECT_CALL(*mockMetricsLibrary, load())
|
||||
.Times(0);
|
||||
|
||||
EXPECT_CALL(metricGroup, getProperties(_))
|
||||
EXPECT_CALL(metricGroup, getPropertiesExt(_))
|
||||
.Times(1)
|
||||
.WillOnce(DoAll(::testing::SetArgPointee<0>(metricGroupProperties), Return(ZE_RESULT_SUCCESS)));
|
||||
|
||||
@@ -1195,7 +1195,7 @@ TEST_F(MetricQueryPoolTest, givenCorrectArgumentsWhenZetMetricQueryGetDataIsCall
|
||||
eventDesc.signal = ZE_EVENT_SCOPE_FLAG_DEVICE;
|
||||
|
||||
Mock<MetricGroup> metricGroup;
|
||||
zet_metric_group_properties_t metricGroupProperties = {};
|
||||
zet_metric_group_properties_ext_t metricGroupProperties = {};
|
||||
metricGroupProperties.samplingType = ZET_METRIC_GROUP_SAMPLING_TYPE_EVENT_BASED;
|
||||
|
||||
zet_metric_query_handle_t queryHandle = {};
|
||||
@@ -1228,7 +1228,7 @@ TEST_F(MetricQueryPoolTest, givenCorrectArgumentsWhenZetMetricQueryGetDataIsCall
|
||||
EXPECT_CALL(*mockMetricsLibrary, load())
|
||||
.Times(0);
|
||||
|
||||
EXPECT_CALL(metricGroup, getProperties(_))
|
||||
EXPECT_CALL(metricGroup, getPropertiesExt(_))
|
||||
.Times(1)
|
||||
.WillOnce(DoAll(::testing::SetArgPointee<0>(metricGroupProperties), Return(ZE_RESULT_SUCCESS)));
|
||||
|
||||
@@ -1330,7 +1330,7 @@ TEST_F(MetricQueryPoolTest, givenCorrectArgumentsWhenZetMetricQueryGetDataIsCall
|
||||
eventDesc.signal = ZE_EVENT_SCOPE_FLAG_DEVICE;
|
||||
|
||||
Mock<MetricGroup> metricGroup;
|
||||
zet_metric_group_properties_t metricGroupProperties = {};
|
||||
zet_metric_group_properties_ext_t metricGroupProperties = {};
|
||||
metricGroupProperties.samplingType = ZET_METRIC_GROUP_SAMPLING_TYPE_EVENT_BASED;
|
||||
|
||||
zet_metric_query_handle_t queryHandle = {};
|
||||
@@ -1363,7 +1363,7 @@ TEST_F(MetricQueryPoolTest, givenCorrectArgumentsWhenZetMetricQueryGetDataIsCall
|
||||
EXPECT_CALL(*mockMetricsLibrary, load())
|
||||
.Times(0);
|
||||
|
||||
EXPECT_CALL(metricGroup, getProperties(_))
|
||||
EXPECT_CALL(metricGroup, getPropertiesExt(_))
|
||||
.Times(1)
|
||||
.WillOnce(DoAll(::testing::SetArgPointee<0>(metricGroupProperties), Return(ZE_RESULT_SUCCESS)));
|
||||
|
||||
|
||||
@@ -37,11 +37,11 @@ TEST_F(MetricStreamerTest, givenInvalidMetricGroupTypeWhenZetMetricStreamerOpenI
|
||||
// One api: metric group handle.
|
||||
Mock<MetricGroup> metricGroup;
|
||||
zet_metric_group_handle_t metricGroupHandle = metricGroup.toHandle();
|
||||
zet_metric_group_properties_t metricGroupProperties = {};
|
||||
zet_metric_group_properties_ext_t metricGroupProperties = {};
|
||||
|
||||
metricGroupProperties.samplingType = ZET_METRIC_GROUP_SAMPLING_TYPE_EVENT_BASED;
|
||||
|
||||
EXPECT_CALL(metricGroup, getProperties(_))
|
||||
EXPECT_CALL(metricGroup, getPropertiesExt(_))
|
||||
.Times(1)
|
||||
.WillOnce(DoAll(::testing::SetArgPointee<0>(metricGroupProperties), Return(ZE_RESULT_SUCCESS)));
|
||||
|
||||
@@ -65,11 +65,11 @@ TEST_F(MetricStreamerTest, zetMetricTracerOpen_InvalidMetricGroupType_ReturnsFai
|
||||
// One api: metric group handle.
|
||||
Mock<MetricGroup> metricGroup;
|
||||
zet_metric_group_handle_t metricGroupHandle = metricGroup.toHandle();
|
||||
zet_metric_group_properties_t metricGroupProperties = {};
|
||||
zet_metric_group_properties_ext_t metricGroupProperties = {};
|
||||
|
||||
metricGroupProperties.samplingType = ZET_METRIC_GROUP_SAMPLING_TYPE_EVENT_BASED;
|
||||
|
||||
EXPECT_CALL(metricGroup, getProperties(_))
|
||||
EXPECT_CALL(metricGroup, getPropertiesExt(_))
|
||||
.Times(1)
|
||||
.WillOnce(DoAll(::testing::SetArgPointee<0>(metricGroupProperties), Return(ZE_RESULT_SUCCESS)));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user