Skip to content

Commit 4a47b9d

Browse files
committed
add Map specific summary methods
1 parent 5dde0e3 commit 4a47b9d

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

src/main/java/graphql/ProfilerResult.java

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
import java.util.ArrayList;
1010
import java.util.Collections;
11+
import java.util.LinkedHashMap;
1112
import java.util.LinkedHashSet;
1213
import java.util.List;
1314
import java.util.Map;
@@ -282,6 +283,26 @@ public String shortSummary() {
282283

283284
}
284285

286+
public Map<String, Object> shortSummaryMap() {
287+
Map<String, Object> result = new LinkedHashMap<>();
288+
result.put("executionId", Assert.assertNotNull(executionId));
289+
result.put("operation", operationType + ":" + operationName);
290+
result.put("startTime", startTime);
291+
result.put("endTime", endTime);
292+
result.put("totalRunTime", (endTime - startTime) + "(" + (endTime - startTime) / 1_000_000 + "ms)");
293+
result.put("engineTotalRunningTime", engineTotalRunningTime + "(" + engineTotalRunningTime / 1_000_000 + "ms)");
294+
result.put("totalDataFetcherInvocations", totalDataFetcherInvocations);
295+
result.put("totalPropertyDataFetcherInvocations", totalPropertyDataFetcherInvocations);
296+
result.put("fieldsFetchedCount", fieldsFetched.size());
297+
result.put("dataLoaderChainingEnabled", dataLoaderChainingEnabled);
298+
result.put("dataLoaderLoadInvocations", dataLoaderLoadInvocations);
299+
result.put("oldStrategyDispatchingAll", oldStrategyDispatchingAll);
300+
result.put("chainedStrategyDispatching", chainedStrategyDispatching);
301+
result.put("dispatchEvents", getDispatchEventsAsMap());
302+
return result;
303+
}
304+
305+
285306
private String printDispatchEvents() {
286307
if (dispatchEvents.isEmpty()) {
287308
return "[]";
@@ -303,6 +324,18 @@ private String printDispatchEvents() {
303324
return sb.toString();
304325
}
305326

327+
public List<Map<String, Object>> getDispatchEventsAsMap() {
328+
List<Map<String, Object>> result = new ArrayList<>();
329+
for (DispatchEvent event : dispatchEvents) {
330+
Map<String, Object> eventMap = new LinkedHashMap<>();
331+
eventMap.put("dataLoader", event.getDataLoaderName());
332+
eventMap.put("level", event.getLevel() != null ? event.getLevel() : "delayed");
333+
eventMap.put("count", event.getCount());
334+
result.add(eventMap);
335+
}
336+
return result;
337+
}
338+
306339
@Override
307340
public String toString() {
308341
return shortSummary();

0 commit comments

Comments
 (0)