org.openqa.selenium.devtools.v120.heapprofiler.HeapProfiler Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of selenium-devtools-v120 Show documentation
Show all versions of selenium-devtools-v120 Show documentation
Selenium automates browsers. That's it! What you do with that power is entirely up to you.
package org.openqa.selenium.devtools.v120.heapprofiler;
import org.openqa.selenium.Beta;
import org.openqa.selenium.devtools.Command;
import org.openqa.selenium.devtools.Event;
import org.openqa.selenium.devtools.ConverterFunctions;
import java.util.Map;
import java.util.LinkedHashMap;
import org.openqa.selenium.json.JsonInput;
@Beta()
public class HeapProfiler {
/**
* Enables console to refer to the node with given id via $x (see Command Line API for more details
* $x functions).
*/
public static Command addInspectedHeapObject(org.openqa.selenium.devtools.v120.heapprofiler.model.HeapSnapshotObjectId heapObjectId) {
java.util.Objects.requireNonNull(heapObjectId, "heapObjectId is required");
LinkedHashMap params = new LinkedHashMap<>();
params.put("heapObjectId", heapObjectId);
return new Command<>("HeapProfiler.addInspectedHeapObject", Map.copyOf(params));
}
public static Command collectGarbage() {
LinkedHashMap params = new LinkedHashMap<>();
return new Command<>("HeapProfiler.collectGarbage", Map.copyOf(params));
}
public static Command disable() {
LinkedHashMap params = new LinkedHashMap<>();
return new Command<>("HeapProfiler.disable", Map.copyOf(params));
}
public static Command enable() {
LinkedHashMap params = new LinkedHashMap<>();
return new Command<>("HeapProfiler.enable", Map.copyOf(params));
}
public static Command getHeapObjectId(org.openqa.selenium.devtools.v120.runtime.model.RemoteObjectId objectId) {
java.util.Objects.requireNonNull(objectId, "objectId is required");
LinkedHashMap params = new LinkedHashMap<>();
params.put("objectId", objectId);
return new Command<>("HeapProfiler.getHeapObjectId", Map.copyOf(params), ConverterFunctions.map("heapSnapshotObjectId", org.openqa.selenium.devtools.v120.heapprofiler.model.HeapSnapshotObjectId.class));
}
public static Command getObjectByHeapObjectId(org.openqa.selenium.devtools.v120.heapprofiler.model.HeapSnapshotObjectId objectId, java.util.Optional objectGroup) {
java.util.Objects.requireNonNull(objectId, "objectId is required");
LinkedHashMap params = new LinkedHashMap<>();
params.put("objectId", objectId);
objectGroup.ifPresent(p -> params.put("objectGroup", p));
return new Command<>("HeapProfiler.getObjectByHeapObjectId", Map.copyOf(params), ConverterFunctions.map("result", org.openqa.selenium.devtools.v120.runtime.model.RemoteObject.class));
}
public static Command getSamplingProfile() {
LinkedHashMap params = new LinkedHashMap<>();
return new Command<>("HeapProfiler.getSamplingProfile", Map.copyOf(params), ConverterFunctions.map("profile", org.openqa.selenium.devtools.v120.heapprofiler.model.SamplingHeapProfile.class));
}
public static Command startSampling(java.util.Optional samplingInterval, java.util.Optional includeObjectsCollectedByMajorGC, java.util.Optional includeObjectsCollectedByMinorGC) {
LinkedHashMap params = new LinkedHashMap<>();
samplingInterval.ifPresent(p -> params.put("samplingInterval", p));
includeObjectsCollectedByMajorGC.ifPresent(p -> params.put("includeObjectsCollectedByMajorGC", p));
includeObjectsCollectedByMinorGC.ifPresent(p -> params.put("includeObjectsCollectedByMinorGC", p));
return new Command<>("HeapProfiler.startSampling", Map.copyOf(params));
}
public static Command startTrackingHeapObjects(java.util.Optional trackAllocations) {
LinkedHashMap params = new LinkedHashMap<>();
trackAllocations.ifPresent(p -> params.put("trackAllocations", p));
return new Command<>("HeapProfiler.startTrackingHeapObjects", Map.copyOf(params));
}
public static Command stopSampling() {
LinkedHashMap params = new LinkedHashMap<>();
return new Command<>("HeapProfiler.stopSampling", Map.copyOf(params), ConverterFunctions.map("profile", org.openqa.selenium.devtools.v120.heapprofiler.model.SamplingHeapProfile.class));
}
public static Command stopTrackingHeapObjects(java.util.Optional reportProgress, java.util.Optional treatGlobalObjectsAsRoots, java.util.Optional captureNumericValue, java.util.Optional exposeInternals) {
LinkedHashMap params = new LinkedHashMap<>();
reportProgress.ifPresent(p -> params.put("reportProgress", p));
treatGlobalObjectsAsRoots.ifPresent(p -> params.put("treatGlobalObjectsAsRoots", p));
captureNumericValue.ifPresent(p -> params.put("captureNumericValue", p));
exposeInternals.ifPresent(p -> params.put("exposeInternals", p));
return new Command<>("HeapProfiler.stopTrackingHeapObjects", Map.copyOf(params));
}
public static Command takeHeapSnapshot(java.util.Optional reportProgress, java.util.Optional treatGlobalObjectsAsRoots, java.util.Optional captureNumericValue, java.util.Optional exposeInternals) {
LinkedHashMap params = new LinkedHashMap<>();
reportProgress.ifPresent(p -> params.put("reportProgress", p));
treatGlobalObjectsAsRoots.ifPresent(p -> params.put("treatGlobalObjectsAsRoots", p));
captureNumericValue.ifPresent(p -> params.put("captureNumericValue", p));
exposeInternals.ifPresent(p -> params.put("exposeInternals", p));
return new Command<>("HeapProfiler.takeHeapSnapshot", Map.copyOf(params));
}
public static Event addHeapSnapshotChunk() {
return new Event<>("HeapProfiler.addHeapSnapshotChunk", ConverterFunctions.map("chunk", java.lang.String.class));
}
public static Event> heapStatsUpdate() {
return new Event<>("HeapProfiler.heapStatsUpdate", ConverterFunctions.map("statsUpdate", input -> input.readArray(java.lang.Integer.class)));
}
public static Event lastSeenObjectId() {
return new Event<>("HeapProfiler.lastSeenObjectId", input -> input.read(org.openqa.selenium.devtools.v120.heapprofiler.model.LastSeenObjectId.class));
}
public static Event reportHeapSnapshotProgress() {
return new Event<>("HeapProfiler.reportHeapSnapshotProgress", input -> input.read(org.openqa.selenium.devtools.v120.heapprofiler.model.ReportHeapSnapshotProgress.class));
}
public static Event resetProfiles() {
return new Event<>("HeapProfiler.resetProfiles", ConverterFunctions.empty());
}
}