From 79c14983cb2bc3651cd37ac35e2684318c67c7ff Mon Sep 17 00:00:00 2001 From: Piotr Maciejewski Date: Mon, 25 May 2020 14:05:49 +0200 Subject: [PATCH] Sending Metric Tracer activity flag to Metrics Library. Needed to make Metrics Library aware of Metric Tracer presence. Change-Id: I3e3108e6b303adfcf5ab56ccadc2a8acc58f7ff5 --- .../tools/source/metrics/metric_query_imp.cpp | 5 ++++- third_party/metrics_library/.revision | 2 +- .../metrics_library/metrics_library_api_1_0.h | 13 ++++++++++++- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/level_zero/tools/source/metrics/metric_query_imp.cpp b/level_zero/tools/source/metrics/metric_query_imp.cpp index 1a74b80b22..de02658f0f 100644 --- a/level_zero/tools/source/metrics/metric_query_imp.cpp +++ b/level_zero/tools/source/metrics/metric_query_imp.cpp @@ -202,7 +202,7 @@ bool MetricsLibrary::createContext() { const auto &hwHelper = device.getHwHelper(); const auto &asyncComputeEngines = hwHelper.getGpgpuEngineInstances(device.getHwInfo()); ContextCreateData_1_0 createData = {}; - ClientOptionsData_1_0 clientOptions[1] = {}; + ClientOptionsData_1_0 clientOptions[2] = {}; ClientData_1_0 clientData = {}; ClientType_1_0 clientType = {}; ClientDataLinuxAdapter_1_0 adapter = {}; @@ -227,6 +227,9 @@ bool MetricsLibrary::createContext() { clientOptions[0].Type = ClientOptionsType::Compute; clientOptions[0].Compute.Asynchronous = asyncComputeEngine != asyncComputeEngines.end(); + clientOptions[1].Type = ClientOptionsType::Tbs; + clientOptions[1].Tbs.Enabled = metricContext.getMetricTracer() != nullptr; + clientData.Linux.Adapter = &adapter; clientData.ClientOptions = clientOptions; clientData.ClientOptionsCount = sizeof(clientOptions) / sizeof(ClientOptionsData_1_0); diff --git a/third_party/metrics_library/.revision b/third_party/metrics_library/.revision index 290fe40c32..b43c951e98 100644 --- a/third_party/metrics_library/.revision +++ b/third_party/metrics_library/.revision @@ -1 +1 @@ -e2d02d00770720096d3c97aaeae5eefbe3642d88 \ No newline at end of file +I0cb6316de4bac5f9243a0b305043045cb853f0ff \ No newline at end of file diff --git a/third_party/metrics_library/metrics_library_api_1_0.h b/third_party/metrics_library/metrics_library_api_1_0.h index 3e90f9e77a..aaef4b5996 100644 --- a/third_party/metrics_library/metrics_library_api_1_0.h +++ b/third_party/metrics_library/metrics_library_api_1_0.h @@ -130,6 +130,7 @@ enum class ClientOptionsType : uint32_t Posh = 0, Ptbr, Compute, + Tbs, // ... Last }; @@ -157,6 +158,7 @@ enum class StatusCode : uint32_t ReportNotReady, ReportLost, ReportInconsistent, + CannotOpenFile, // ... Last }; @@ -638,6 +640,14 @@ struct ClientOptionsComputeData_1_0 bool Asynchronous; }; +////////////////////////////////////////////////////////////////////////// +/// @brief Client options time based sampling data. +////////////////////////////////////////////////////////////////////////// +struct ClientOptionsTbsData_1_0 +{ + bool Enabled; +}; + ////////////////////////////////////////////////////////////////////////// /// @brief Client options data. ////////////////////////////////////////////////////////////////////////// @@ -650,6 +660,7 @@ struct ClientOptionsData_1_0 ClientOptionsPoshData_1_0 Posh; ClientOptionsPtbrData_1_0 Ptbr; ClientOptionsComputeData_1_0 Compute; + ClientOptionsTbsData_1_0 Tbs; }; }; @@ -694,6 +705,6 @@ using ContextDeleteFunction_1_0 = StatusCode ( ML_STDCALL* ) ( const ContextHand ////////////////////////////////////////////////////////////////////////// #define METRICS_LIBRARY_MAJOR_NUMBER 1 #define METRICS_LIBRARY_MINOR_NUMBER 0 -#define METRICS_LIBRARY_BUILD_NUMBER 3 +#define METRICS_LIBRARY_BUILD_NUMBER 6 } // namespace MetricsLibraryApi