Skip to main content

Circus Tcl/Tk Control Panel

Project description

# ringmaster

Circus Ringmaster. A Tcl/Tk Control Panel for Circus.

[Circus](http://github.com/circus-tent/circus) is a program that runs and
watches processes and sockets.

Circus Ringmaster is a Tck/Tk interface to monitor, start and stop those
processes.

![Ringmaster in action](in_action.png)

To the left, on the image above, are the Circus watchers. In the center, a
green string indicates the number of processes of the watcher, the current use
of CPU, and memory. To the right, command buttons – **incr**/**decr** for
normal watchers; and **start**/**stop** for singleton watchers.

## Requirements

Ringmaster is built on top of Python 3.4 (**asyncio**) and
[aiozmq](https://github.com/aio-libs/aiozmq).

Circus itself is not a code dependency, but without it this program does not
have much use.

## Installation

Latest release.

pip install ringmaster

Latest commit on the master branch of the project's Git repository.

mkdir ringmaster
cd ringmaster
curl -L https://github.com/viotti/ringmaster/tarball/master | tar -xz --strip 1
python setup.py sdist
pip install dist/ringmaster-*.tar.gz

## Installation (OS X)

1. Download and install ActiveTcl from http://www.python.org/download/mac/tcltk.
Pay atention to the recommended version on the web page.

2. Download and Install Python 3.4 from http://www.python.org/downloads.

3. Install Ringmaster.

/Library/Frameworks/Python.framework/Versions/3.4/bin/pip3 install ringmaster

This install order is important. It will make Python link with the ActiveTcl
library, instead of linking with the library shipped with OS X.

Optionally, put the Python 3 binaries in your **PATH**.

export PATH=/Library/Frameworks/Python.framework/Versions/3.4/bin:$PATH

## Basic Use

Just type **ringmaster**. There is no command line option.

ringmaster

The program will establish communication with the Circus daemon and display
the watchers on its GUI.

## Troubleshooting

### MacPorts on OS X

The Python 3.4 MacPorts distribution present a series of dificulties to run
Ringmaster on a OS X computer.

First, it does not come with the **tkinter** library, which is provided as a
separate pacakge.

Second, it will install the Ringmaster executable script in a nonstandard
location (`/opt/local/Library/Frameworks/Python.framework/Versions/3.4/bin`).

To prevent issues, use the following installation steps.

sudo port selfupdate
sudo port install py34-tkinter py34-pip
sudo pip-3.4 install ringmaster --install-option='--install-scripts=/usr/local/bin'

Finally, if you install Ringmaster on a virtual environment created with
**virtualenv-3.4** from MacPorts, it will abort with a **ImportError: No module
named '_tkinter'** exception. This is because the virtual environment
insultates itself from Python packages installed in the system. The solution
here is to link the Tkinter shared object to the **site-packages** directory
of the environment.

ln -s $(port -q contents py34-tkinter | grep _tkinter.so) $VIRTUAL_ENV/lib/python3.4/site-packages

## TODO

* Implement command line options for the connection endpoints.
* Improve the watcher details dialog.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ringmaster-0.6.1.tar.gz (11.9 kB view details)

Uploaded Source

File details

Details for the file ringmaster-0.6.1.tar.gz.

File metadata

  • Download URL: ringmaster-0.6.1.tar.gz
  • Upload date:
  • Size: 11.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for ringmaster-0.6.1.tar.gz
Algorithm Hash digest
SHA256 18a2fb0f910956a86aca30356c4ee4170478dfdf8a3ff6bc44089905c0e72888
MD5 0fa0c980dc84fe0665c3161c2d1de45c
BLAKE2b-256 33d6aea5ce2b8f12961eb574fc8d5310f27d11477cc3d8719dcb813e37ca814d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page