@@ -157,7 +157,7 @@ public DataViewComponent.DetailsView[] getDetailsView() {
157
157
public boolean startSampling (ProfilingSettings settings , int samplingRate , int refreshRate ) {
158
158
GenericFilter sf = settings .getInstrumentationFilter ();
159
159
InstrumentationFilter filter = new InstrumentationFilter (sf );
160
- builder = snapshotDumper .getNewBuilder (filter );
160
+ builder = snapshotDumper .getNewBuilder (filter , samplingRate );
161
161
162
162
refresher .setRefreshRate (refreshRate );
163
163
@@ -332,17 +332,22 @@ public static abstract class ThreadDumper {
332
332
333
333
public static abstract class SnapshotDumper {
334
334
private StackTraceSnapshotBuilder builder ;
335
+ private int samplingRate ;
335
336
336
- StackTraceSnapshotBuilder getNewBuilder (InstrumentationFilter filter ) {
337
+ StackTraceSnapshotBuilder getNewBuilder (InstrumentationFilter filter , int sampling ) {
337
338
builder = new StackTraceSnapshotBuilder (1 ,filter );
339
+ samplingRate = sampling ;
338
340
return builder ;
339
341
}
340
342
341
343
public final LoadedSnapshot takeNPSSnapshot (File directory ) throws IOException , NoDataAvailableException {
342
344
if (builder == null ) throw new IllegalStateException ("Builder is null" ); // NOI18N
343
345
long time = System .currentTimeMillis ();
344
346
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 );
346
351
File file = Utils .getUniqueFile (directory ,
347
352
ResultsManager .getDefault ().getDefaultSnapshotFileName (ls ),
348
353
"." + ResultsManager .SNAPSHOT_EXTENSION ); // NOI18N
0 commit comments