Skip to content

Commit

Permalink
Remove chunking
Browse files Browse the repository at this point in the history
  • Loading branch information
danielmitterdorfer committed Feb 1, 2024
1 parent 10b6e7d commit 12d038d
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
import org.elasticsearch.common.xcontent.ChunkedToXContentObject;
import org.elasticsearch.telemetry.tracing.TraceLogger;
import org.elasticsearch.xcontent.ToXContent;
import org.elasticsearch.xcontent.XContent;
import org.elasticsearch.xcontent.ToXContentObject;
import org.elasticsearch.xcontent.XContentBuilder;

import java.io.IOException;
Expand All @@ -24,7 +24,7 @@
import java.util.Map;
import java.util.function.Function;

public class GetFlamegraphResponse extends ActionResponse implements ChunkedToXContentObject {
public class GetFlamegraphResponse extends ActionResponse implements ChunkedToXContentObject, ToXContentObject {
private final int size;
private final double samplingRate;
private final long selfCPU;
Expand Down Expand Up @@ -238,6 +238,47 @@ public Iterator<? extends ToXContent> toXContentChunked(ToXContent.Params params
);
}

@Override
public XContentBuilder toXContent(XContentBuilder builder, Params params) throws IOException {
builder.startObject();
builder.startArray("Edges");
for (Map<String, Integer> edge : edges) {
builder.startArray();
for (int value : edge.values()) {
builder.value(value);
}
builder.endArray();
}
builder.field("FileID", fileIds);
builder.field("FrameType", frameTypes);
builder.field("Inline", inlineFrames);
builder.field("ExeFilename", fileNames);
builder.field("AddressOrLine", addressOrLines);
builder.field("FunctionName", functionNames);
builder.field("FunctionOffset", functionOffsets);
builder.field("SourceFilename", sourceFileNames);
builder.field("SourceLine", sourceLines);
builder.field("CountInclusive", countInclusive);
builder.field("CountExclusive", countExclusive);
builder.field("AnnualCO2TonsInclusive", annualCO2TonsInclusive);
builder.field("AnnualCO2TonsExclusive", annualCO2TonsExclusive);
builder.field("AnnualCostsUSDInclusive", annualCostsUSDInclusive);
builder.field("AnnualCostsUSDExclusive", annualCostsUSDExclusive);
builder.field("Size", size);
builder.field("SamplingRate", samplingRate);
builder.field("SelfCPU", selfCPU);
builder.field("TotalCPU", totalCPU);
builder.field("TotalSamples", totalSamples);

builder.endObject();
return builder;
}

@Override
public boolean isFragment() {
return false;
}

private static final class Mapper<T> implements Function<T, ToXContent>, ToXContent {
private T value;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import org.elasticsearch.rest.ServerlessScope;
import org.elasticsearch.rest.action.RestCancellableNodeClient;
import org.elasticsearch.rest.action.RestRefCountedChunkedToXContentListener;
import org.elasticsearch.rest.action.RestToXContentListener;

import java.io.IOException;
import java.util.List;
Expand All @@ -38,7 +39,8 @@ protected RestChannelConsumer prepareRequest(RestRequest request, NodeClient cli
cancelClient.execute(
GetFlamegraphAction.INSTANCE,
getStackTracesRequest,
new RestRefCountedChunkedToXContentListener<>(channel)
//new RestRefCountedChunkedToXContentListener<>(channel)
new RestToXContentListener<>(channel)
);
};
}
Expand Down

0 comments on commit 12d038d

Please sign in to comment.