A goroutine monitor to keep track of active routines from within your favorite shell.

Overview

roumon

Build Status Go Report Card PRs Welcome License

A goroutine monitor to keep track of active routines from within your favorite shell.

screenshot

Features

  • Track live state of all active goroutines
  • Terminal user interface written with termui 🤓
  • Simple to integrate pprof server for live monitoring
  • Dynamic history of goroutine count
  • Full-text filtering
  • Overview of routine states

Installation

go get github.com/becheran/roumon

Or download the pre-compiled binaries from the releases page.

Usage

Before starting roumon, the go app which shall be monitored needs to be prepared to export pprof infos via http.

pprof

The program which shall be monitored needs to run a pprof server.

Import pprof into you program:

import _ "net/http/pprof"

Run a webserver which will listen on a specific port:

go func() {
    log.Println(http.ListenAndServe("localhost:6060", nil))
}()

Start your program and check that the pprof site is available in you web-browser: http://localhost:6060/debug/pprof

roumon

Start roumon in from your command line interface. Use optional arguments if needed.

For example roumon -debug=logfile -host=192.168.10.1 -port=8081 will start the routine monitor for the pprof profiles exposed to 192.168.10.1:8081 and write a debug logfile to ./logfile.

Run roumon with -h or --help to see all commandline argument options:

Usage of roumon:
  -debug string
        Path to debug file 
  -host string
        The pprof server IP or hostname (default "localhost")
  -port int
        The pprof server port (default 6060)

From within the Terminal User Interface (TUI) hit F1 for help F10 or ctrl-c to stop the application.

Contributing

Pull requests and issues are welcome!

You might also like...
A simple shopping list that keeps track of a users shopping list using charm.sh tools

Terminal Shopping List This repo is a practise project for learning practical Go. I have chosen to use a toolset called Charm as it provides a rich se

Raspberry Pi terminal based activity monitor
Raspberry Pi terminal based activity monitor

pitop Raspberry Pi terminal based activity monitor Yes I know there are plenty of solutions already available, but I wanted to build my own terminal b

A terminal based graphical activity monitor inspired by gtop and vtop
A terminal based graphical activity monitor inspired by gtop and vtop

NO LONGER MAINTAINED. A maintained fork of gotop exists at https://github.com/xxxserxxx/gotop. Another terminal based graphical activity monitor, insp

TUI process monitor written in Go
TUI process monitor written in Go

pst This is TUI process monitor written in Go. Features Monitor process's list, info, tree, open files, Kill process Support OS Mac Linux Requirements

A set of Go scripts to monitor YAGPDB status via the command-line.
A set of Go scripts to monitor YAGPDB status via the command-line.

A set of Go scripts to monitor YAGPDB status by making GET requests to the YAGPDB status endpoint.

A CLI tool to change monitor settings over USB to the Gigabyte M32U

Gigabyte Monitor control Introduction A CLI tool to change monitor settings over USB to the Gigabyte M32U Supported monitors Gigabyte M32U In theory a

Scrappy is a cli tool that allows multiple web scrappers to monitor periodically for a basic ruleset coverage and inform users when the criteria have been met.

Scrappy - A multi-type web scrapper with alerting Scrappy is a cli tool that allows multiple web scrappers to monitor periodically for a basic ruleset

🎀 a nice lil shell for lua people made with go and lua

Hilbish 🎀 a nice lil shell for lua people made with go and lua It is currently in a mostly beta state but is very much usable (I'm using it right now

Tool for shell commands execution, visualization and alerting. Configured with a simple YAML file.
Tool for shell commands execution, visualization and alerting. Configured with a simple YAML file.

Sampler. Visualization for any shell command. Sampler is a tool for shell commands execution, visualization and alerting. Configured with a simple YAM

Comments
Releases(v1.1.1)
Owner
Armin Becher
Armin Becher
gomUP is a tool to keep track of outdated dependencies and upgrade them to the latest version

gomUP ?? gomUP is a tool to keep track of outdated dependencies and upgrade them to the latest version. Designed for monorepo Go projects and Go proje

Alihan Doğuş Yalçın 20 Jul 26, 2022
🔍 Find stack overflow questions from your favorite terminal!

Stack Overflow Cli (Stovc) Stack Overflow Cli is a CLI tool that helps you to search a question in stack overflow in your terminal. Installation Downl

Kedi 3 Nov 20, 2021
painless task queue manager for shell commands with an intuitive cli interface (execute shell commands in distributed cloud-native queue manager).

EXEQ DOCS STILL IN PROGRESS. Execute shell commands in queues via cli or http interface. Features Simple intuitive tiny cli app. Modular queue backend

Mohammed Al Ashaal 12 Jan 29, 2022
ap 是一个 shell 工具,可以让其它 shell 命令的输出能够自动进入交互翻页模式

ap -- auto-pager ap 是一个 shell 工具,可以让其它 shell 命令的输出能够自动进入交互翻页模式。 ap 由两部分组成,一个 Go 语言编写的二进制程序,负责捕获命令的输出并支持翻页, 和一组 shell 脚本,负责为用户指定的命令清单创建与之同名的 wrapper。 经

flw 12 Apr 12, 2022
espnwrapper to track real time scores for your fav match... in a terminal while working.

An espncricinfo wrapper written in go to track scores in real time and in the cmd/cli you can find the Command Line Interface wrapped over this wrapper.

Vishal Sharma 5 Mar 13, 2022
A CLI tool written in golang to track your orders.

orders-tracker-cli This project still under development. This project was inspired by track-correios. A CLI tool written in Go to track your orders. I

Cristóvão Olegário 7 Oct 2, 2022
Experimental go cli tool to track your open issues and PRs.

git-sum cli tool See open issue and pull request counts for each repository of the user. Installation go install github.com/suadev/[email protected] Usa

Suat KÖSE 6 Jan 21, 2022
🧑‍💻📊 Show off your most used shell commands

tsukae ??‍?? ?? Tsukae, 使え - means use in Japanese (so it refers to commands that you use) Built on top of termui and cobra Big shoutout to jokerj40 f

Ilya Revenko 431 Oct 19, 2022
Create new commands from your shell history or terminal.

overdub Create new commands from your shell history or terminal. TODO list for initial release Filter out unlikely commands (e.g. package managers) fr

Michael Zalimeni 6 Aug 9, 2022
Toggl Track data to file.

toggl-go Toggl Track data to file. Usage ./toggl-go -email "[email protected]" -token "___YOUR_TOGGL_API_TOKEN___" -since 2021 | tee outpu

rmatttu 0 Jan 10, 2022