Skip to content

Commit b7e7ac9

Browse files
committed
store instrumentation filter and sampling rate in CPU snapshot
1 parent c938a56 commit b7e7ac9

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

visualvm/sampler/src/org/graalvm/visualvm/sampler/cpu/CPUSamplerSupport.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ public DataViewComponent.DetailsView[] getDetailsView() {
157157
public boolean startSampling(ProfilingSettings settings, int samplingRate, int refreshRate) {
158158
GenericFilter sf = settings.getInstrumentationFilter();
159159
InstrumentationFilter filter = new InstrumentationFilter(sf);
160-
builder = snapshotDumper.getNewBuilder(filter);
160+
builder = snapshotDumper.getNewBuilder(filter, samplingRate);
161161

162162
refresher.setRefreshRate(refreshRate);
163163

@@ -332,17 +332,22 @@ public static abstract class ThreadDumper {
332332

333333
public static abstract class SnapshotDumper {
334334
private StackTraceSnapshotBuilder builder;
335+
private int samplingRate;
335336

336-
StackTraceSnapshotBuilder getNewBuilder(InstrumentationFilter filter) {
337+
StackTraceSnapshotBuilder getNewBuilder(InstrumentationFilter filter, int sampling) {
337338
builder = new StackTraceSnapshotBuilder(1,filter);
339+
samplingRate = sampling;
338340
return builder;
339341
}
340342

341343
public final LoadedSnapshot takeNPSSnapshot(File directory) throws IOException, NoDataAvailableException {
342344
if (builder == null) throw new IllegalStateException("Builder is null"); // NOI18N
343345
long time = System.currentTimeMillis();
344346
CPUResultsSnapshot snapshot = builder.createSnapshot(time);
345-
LoadedSnapshot ls = new LoadedSnapshot(snapshot, ProfilingSettingsPresets.createCPUPreset(), null, null);
347+
ProfilingSettings settings = ProfilingSettingsPresets.createCPUPreset();
348+
settings.setInstrumentationFilter(builder.getFilter());
349+
settings.setSamplingFrequency(samplingRate);
350+
LoadedSnapshot ls = new LoadedSnapshot(snapshot, settings, null, null);
346351
File file = Utils.getUniqueFile(directory,
347352
ResultsManager.getDefault().getDefaultSnapshotFileName(ls),
348353
"." + ResultsManager.SNAPSHOT_EXTENSION); // NOI18N

0 commit comments

Comments
 (0)