diff options
| author | bystrovserg <[email protected]> | 2025-10-17 19:32:57 +0300 |
|---|---|---|
| committer | bystrovserg <[email protected]> | 2025-10-17 20:16:41 +0300 |
| commit | 9ff4ecace8645ecd5746e7754247187c81a6da5e (patch) | |
| tree | d457382a71753fca12dc9cf0aa728ca6fccf4db8 /yt/cpp/mapreduce/http_client/raw_client.cpp | |
| parent | 8304b8be525bda6b9b355b806d18d6f5ed8dff79 (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.cpp | 21 |
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( |
