Server for collecting Beacon signals from remote clients in Pharo.
Metacello new
baseline: 'BeaconServer';
repository: 'github://grype/Beacon-Server';
load.
Create and start an instance of BeaconServer
and an instance of SignalLogger
, and you're all set.
server := BeaconServer new.
"Start server on port 4000"
server startOn: 4000.
"Start a logger"
logger := MemoryLogger instance.
logger start.
logger inspect.
"When done, stop the server"
server stop.
BeaconServer
utilizes a JRPC server for capturing Beacon signals from remote clients in JSON format. It also extends Beacon's existing hierarchy of signals with remote equivalents that capture information about the origin of the signal and provide special handling for things like stack traces. This makes it possible to capture arbitrary signals from other, non-Pharo based clients.