Skip to content

Commit

Permalink
Add Observability switching
Browse files Browse the repository at this point in the history
  • Loading branch information
mikera committed Aug 21, 2023
1 parent 3fead9e commit 31c7a8a
Show file tree
Hide file tree
Showing 4 changed files with 82 additions and 5 deletions.
5 changes: 0 additions & 5 deletions convex-gui/src/main/java/convex/gui/manager/PeerGUI.java
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,6 @@
import convex.gui.manager.mainpanels.PeersListPanel;
import convex.gui.manager.mainpanels.TorusPanel;
import convex.gui.manager.mainpanels.WalletPanel;
import convex.observer.StrimziKafka;
import convex.peer.Server;
import convex.restapi.RESTServer;

Expand Down Expand Up @@ -166,10 +165,6 @@ public PeerGUI() {
Server first=peerList.firstElement().getLocalServer();

// Set up observability
StrimziKafka obs=new StrimziKafka(first);
obs.start();
first.getTransactionHandler().setRequestObserver(obs.getTransactionRequestObserver(first));
first.getTransactionHandler().setResponseObserver(obs.getTransactionResponseObserver(first));

try {
restServer=RESTServer.create(first);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
package convex.gui.manager.windows.peer;

import java.util.HashMap;

import javax.swing.ButtonGroup;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JRadioButton;

import convex.observer.StrimziKafka;
import convex.peer.Server;
import convex.peer.TransactionHandler;
import net.miginfocom.swing.MigLayout;

@SuppressWarnings("serial")
public class ObserverPanel extends JPanel {

protected Server server;

/**
* Create the panel.
* @param server Local server instance
*/
public ObserverPanel(Server server) {
this.server=server;

this.setLayout(new MigLayout("wrap 2"));

JRadioButton noneButton=addButton("Transactions",new JLabel("None"),()->{
server.getTransactionHandler().setRequestObserver(null);
server.getTransactionHandler().setResponseObserver(null);
});
noneButton.setSelected(true);
add(noneButton);
add(new JLabel("None"));

JRadioButton strmButton=addButton("Transactions",new JLabel("Strimzi"),()->{
StrimziKafka obs=StrimziKafka.get(server);
obs.start();
TransactionHandler th=server.getTransactionHandler();
th.setRequestObserver(obs.getTransactionRequestObserver(server));
th.setResponseObserver(obs.getTransactionResponseObserver(server));
});
add(strmButton);
add(new JLabel("Strimzi"));
}

private JRadioButton addButton(String bgName,JLabel jLabel, Runnable action) {
ButtonGroup buttonGroup=getGroup(bgName);
JRadioButton button=new JRadioButton();
buttonGroup.add(button);
button.addActionListener(e->{
action.run();
});
return button;
}

private HashMap<String,ButtonGroup> bgroups=new HashMap<>();
private ButtonGroup getGroup(String bgName) {
ButtonGroup bg=bgroups.get(bgName);
if (bg==null) {
bg=new ButtonGroup();
bgroups.put(bgName, bg);
}
return bg;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ public PeerWindow(PeerGUI manager, Convex peer) {
} catch (Throwable t) {
log.warn("Unable to create Peer Controller Window");
}
tabbedPane.addTab("Observation", null, new ObserverPanel(server), null);
}
tabbedPane.addTab("Stress", null, new StressPanel(peer), null);
tabbedPane.addTab("Info", null, new PeerInfoPanel(peer), null);
Expand Down
14 changes: 14 additions & 0 deletions convex-observer/src/main/java/convex/observer/StrimziKafka.java
Original file line number Diff line number Diff line change
Expand Up @@ -43,11 +43,23 @@ public class StrimziKafka extends AObserverQueue<Object> {
});
}


public String topic;
public String url;
public String peerKey;
private boolean blocking=false;

private static HashMap<Server,StrimziKafka> instances=new HashMap<>();

public static StrimziKafka get(Server server) {
StrimziKafka obs=instances.get(server);
if (obs==null) {
obs=new StrimziKafka(server);
instances.put(server, obs);
}
return obs;
}

public StrimziKafka(Server server) {
super(server.getStore());
// TODO: need to be config params etc.
Expand Down Expand Up @@ -166,4 +178,6 @@ public void cancelled() {
};
});
}


}

0 comments on commit 31c7a8a

Please sign in to comment.