summaryrefslogtreecommitdiffstats
path: root/yt/cpp/mapreduce/http_client/raw_client.cpp
diff options
context:
space:
mode:
authorbystrovserg <[email protected]>2025-10-17 19:32:57 +0300
committerbystrovserg <[email protected]>2025-10-17 20:16:41 +0300
commit9ff4ecace8645ecd5746e7754247187c81a6da5e (patch)
treed457382a71753fca12dc9cf0aa728ca6fccf4db8 /yt/cpp/mapreduce/http_client/raw_client.cpp
parent8304b8be525bda6b9b355b806d18d6f5ed8dff79 (diff)
YT-24624: Rework get_job_trace api
<Message NOT for release notes> * Changelog entry Type: fix Component: scheduler Rework get\_job\_trace api: enable streaming and return perfetto-friendly format commit_hash:082e255afb9022eb137dac3d0c3be8ac49d3b5e2
Diffstat (limited to 'yt/cpp/mapreduce/http_client/raw_client.cpp')
-rw-r--r--yt/cpp/mapreduce/http_client/raw_client.cpp21
1 files changed, 7 insertions, 14 deletions
diff --git a/yt/cpp/mapreduce/http_client/raw_client.cpp b/yt/cpp/mapreduce/http_client/raw_client.cpp
index b1207cc8984..abfeabefad7 100644
--- a/yt/cpp/mapreduce/http_client/raw_client.cpp
+++ b/yt/cpp/mapreduce/http_client/raw_client.cpp
@@ -541,25 +541,18 @@ TJobTraceEvent ParseJobTraceEvent(const TNode& node)
return result;
}
-std::vector<TJobTraceEvent> THttpRawClient::GetJobTrace(
+IFileReaderPtr THttpRawClient::GetJobTrace(
const TOperationId& operationId,
+ const TJobId& jobId,
const TGetJobTraceOptions& options)
{
TMutationId mutationId;
THttpHeader header("GET", "get_job_trace");
- header.MergeParameters(NRawClient::SerializeParamsForGetJobTrace(operationId, options));
- auto responseInfo = RequestWithoutRetry(Context_, mutationId, header);
- auto resultNode = NodeFromYsonString(responseInfo->GetResponse());
-
- const auto& traceEventNodesList = resultNode.AsList();
-
- std::vector<TJobTraceEvent> result;
- result.reserve(traceEventNodesList.size());
- for (const auto& traceEventNode : traceEventNodesList) {
- result.push_back(ParseJobTraceEvent(traceEventNode));
- }
-
- return result;
+ header.MergeParameters(NRawClient::SerializeParamsForGetJobTrace(operationId, jobId, options));
+ TRequestConfig config;
+ config.IsHeavy = true;
+ auto responseInfo = RequestWithoutRetry(Context_, mutationId, header, /*body*/ {}, config);
+ return MakeIntrusive<NHttpClient::THttpResponseStream>(std::move(responseInfo));
}
std::unique_ptr<IInputStream> THttpRawClient::ReadFile(