use of org.spf4j.base.avro.Method in project spf4j by zolyfarkas.
the class Explorer method toSupplier.
// GEN-LAST:event_compareMenuItemActionPerformed
private StackSampleSupplier toSupplier(final File file) throws IOException {
if (Spf4jFileFilter.SSDUMP.accept(file)) {
SampleNode samples = loadLegacyFormat(file);
Instant now = Instant.now();
return new OneStackSampleSupplier(now, now, samples);
} else if (Spf4jFileFilter.SSDUMP2.accept(file) || Spf4jFileFilter.SSDUMP2_GZ.accept(file)) {
SampleNode samples = org.spf4j.ssdump2.Converter.load(file);
Instant now = Instant.now();
return new OneStackSampleSupplier(now, now, samples);
} else if (Spf4jFileFilter.SSDUMP3.accept(file) || Spf4jFileFilter.SSDUMP3_GZ.accept(file)) {
Map<String, SampleNode> loadLabeledDumps = org.spf4j.ssdump2.Converter.loadLabeledDumps(file);
Instant now = Instant.now();
return new MultiStackSampleSupplier(now, now, loadLabeledDumps);
} else if (Spf4jFileFilter.D3_JSON.accept(file)) {
try (BufferedReader br = Files.newBufferedReader(file.toPath(), StandardCharsets.UTF_8)) {
Pair<Method, SampleNode> parse = SampleNode.parseD3Json(br);
Instant now = Instant.now();
return new OneStackSampleSupplier(now, now, parse.getSecond());
}
} else if (Spf4jFileFilter.SPF4J_JSON.accept(file)) {
try (BufferedReader br = Files.newBufferedReader(file.toPath(), StandardCharsets.UTF_8)) {
Pair<Method, SampleNode> parse = SampleNode.parse(br);
Instant now = Instant.now();
return new OneStackSampleSupplier(now, now, parse.getSecond());
}
} else if (Spf4jFileFilter.PROFILE_AVRO.accept(file)) {
return new AvroStackSampleSupplier(file.toPath());
} else {
throw new IOException("Unsupported file format " + file);
}
}
use of org.spf4j.base.avro.Method in project spf4j by zolyfarkas.
the class Explorer method openFile.
private void openFile(final File file) throws IOException {
String fileName = file.getName();
JInternalFrame frame;
if (Spf4jFileFilter.TSDB.accept(file)) {
frame = new TSDBViewJInternalFrame(file);
frame.setVisible(true);
desktopPane.add(frame, javax.swing.JLayeredPane.DEFAULT_LAYER);
} else if (Spf4jFileFilter.TSDB2.accept(file)) {
frame = new TSDB2ViewJInternalFrame(file);
frame.setVisible(true);
desktopPane.add(frame, javax.swing.JLayeredPane.DEFAULT_LAYER);
} else if (Spf4jFileFilter.AVRO_TABLEDEF.accept(file)) {
frame = new MStoreViewJInternalFrame(file);
frame.setVisible(true);
desktopPane.add(frame, javax.swing.JLayeredPane.DEFAULT_LAYER);
} else if (Spf4jFileFilter.SSDUMP.accept(file)) {
SampleNode samples = loadLegacyFormat(file);
setFrames(samples, fileName);
} else if (Spf4jFileFilter.SSDUMP2.accept(file) || Spf4jFileFilter.SSDUMP2_GZ.accept(file)) {
SampleNode samples = org.spf4j.ssdump2.Converter.load(file);
setFrames(samples, fileName);
} else if (Spf4jFileFilter.SSDUMP3.accept(file) || Spf4jFileFilter.SSDUMP3_GZ.accept(file)) {
Map<String, SampleNode> loadLabeledDumps = org.spf4j.ssdump2.Converter.loadLabeledDumps(file);
setFrames(loadLabeledDumps, fileName);
} else if (Spf4jFileFilter.D3_JSON.accept(file)) {
try (BufferedReader br = Files.newBufferedReader(file.toPath(), StandardCharsets.UTF_8)) {
Pair<Method, SampleNode> parse = SampleNode.parseD3Json(br);
setFrames(parse.getSecond(), fileName);
}
} else if (Spf4jFileFilter.SPF4J_JSON.accept(file)) {
try (BufferedReader br = Files.newBufferedReader(file.toPath(), StandardCharsets.UTF_8)) {
Pair<Method, SampleNode> parse = SampleNode.parse(br);
setFrames(parse.getSecond(), fileName);
}
} else if (Spf4jFileFilter.PROFILE_AVRO.accept(file)) {
setFrames(new AvroStackSampleSupplier(file.toPath()), fileName);
} else {
throw new IOException("Unsupported file format " + fileName);
}
}
use of org.spf4j.base.avro.Method in project spf4j by zolyfarkas.
the class StackPanelBase method actionPerformed.
@Override
public final void actionPerformed(final ActionEvent e) {
final String actionCommand = e.getActionCommand();
switch(actionCommand) {
case "FILTER":
history.addLast(Pair.of(method, samples));
filter();
break;
case "DRILL":
history.addLast(Pair.of(method, samples));
drill();
break;
case "BACK":
Pair<Method, SampleNode> prev = history.pollLast();
if (prev != null) {
updateSamples(prev.getFirst(), prev.getSecond());
repaint();
}
break;
case "COPY":
final String detail = getDetail(new Point(xx, yy));
java.awt.Toolkit.getDefaultToolkit().getSystemClipboard().setContents(new Transferable() {
@Override
public DataFlavor[] getTransferDataFlavors() {
return new DataFlavor[] { DataFlavor.stringFlavor };
}
@Override
public boolean isDataFlavorSupported(final DataFlavor flavor) {
return flavor.equals(DataFlavor.stringFlavor);
}
@Override
public Object getTransferData(final DataFlavor flavor) {
return detail;
}
}, new ClipboardOwner() {
@Override
public void lostOwnership(final Clipboard clipboard, final Transferable contents) {
}
});
break;
default:
break;
}
}
use of org.spf4j.base.avro.Method in project spf4j by zolyfarkas.
the class FlameStackPanelTest method testHotStackPanelCycle.
@Test
public void testHotStackPanelCycle() throws IOException, InterruptedException {
Pair<Method, SampleNode> parse = SampleNode.parse(new StringReader("{\"ROOT@65406@ZMacBookPro-2.local\":2,\"c\":" + "[{\"a@C\":1,\"c\":[{\"b@C\":1}]},{\"b@C\":1,\"c\":[{\"a@C\":1}]}]}"));
HotFlameStackPanel panel = new HotFlameStackPanel(parse.getFirst(), parse.getSecond(), new LinkedList<>());
testPanel(panel);
}
use of org.spf4j.base.avro.Method in project spf4j by zolyfarkas.
the class Methods method getMethod.
/*
* this function is to allow reuse of Method instances.
* not thread safe, use with care, see description for suppressed findbugs bug for more detail.
*/
@SuppressFBWarnings("PMB_POSSIBLE_MEMORY")
public static synchronized Method getMethod(final String className, final String methodName) {
Map<String, Method> mtom = INSTANCE_REPO.get(className);
Method result;
if (mtom == null) {
mtom = new THashMap<>(5);
result = new Method(className, methodName);
mtom.put(methodName, result);
INSTANCE_REPO.put(className, mtom);
} else {
result = mtom.get(methodName);
if (result == null) {
result = new Method(className, methodName);
mtom.put(methodName, result);
}
}
return result;
}
Aggregations