{"id":13786738,"url":"https://github.com/becheran/roumon","last_synced_at":"2025-04-04T14:06:57.524Z","repository":{"id":40239563,"uuid":"343866211","full_name":"becheran/roumon","owner":"becheran","description":"Universal goroutine monitor using pprof and termui ","archived":false,"fork":false,"pushed_at":"2025-02-12T21:36:44.000Z","size":236,"stargazers_count":194,"open_issues_count":0,"forks_count":7,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-28T13:07:59.045Z","etag":null,"topics":["golang","goroutines","monitoring","pprof","termui","tui"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/becheran.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-03-02T18:02:41.000Z","updated_at":"2025-03-25T06:54:35.000Z","dependencies_parsed_at":"2024-01-08T16:09:20.128Z","dependency_job_id":"9ae0eca4-9d30-4c78-95f6-574a8090a7cf","html_url":"https://github.com/becheran/roumon","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/becheran%2Froumon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/becheran%2Froumon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/becheran%2Froumon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/becheran%2Froumon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/becheran","download_url":"https://codeload.github.com/becheran/roumon/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247190250,"owners_count":20898702,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["golang","goroutines","monitoring","pprof","termui","tui"],"created_at":"2024-08-03T19:01:31.888Z","updated_at":"2025-04-04T14:06:57.499Z","avatar_url":"https://github.com/becheran.png","language":"Go","readme":"# roumon\n\n![Build Status](https://github.com/becheran/roumon/workflows/CI/badge.svg)\n[![Go Report Card][go-report-image]][go-report-url]\n[![PRs Welcome][pr-welcome-image]][pr-welcome-url]\n[![License][license-image]][license-url]\n[![Go Reference](https://pkg.go.dev/badge/github.com/becheran/roumon.svg)](https://pkg.go.dev/github.com/becheran/roumon)\n[![Coverage Status](https://s3.amazonaws.com/assets.coveralls.io/badges/coveralls_86.svg)](https://coveralls.io/github/becheran/roumon?branch=main)\n\n[license-url]: https://github.com/becheran/roumon/blob/main/LICENSE\n[license-image]: https://img.shields.io/badge/License-MIT-brightgreen.svg\n[go-report-image]: https://img.shields.io/badge/go%20report-A+-brightgreen.svg?style=flat\n[go-report-url]: https://goreportcard.com/report/github.com/becheran/roumon\n[pr-welcome-image]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg\n[pr-welcome-url]: https://github.com/becheran/roumon/blob/main/CONTRIBUTING.md\n\nA go**rou**tine **mon**itor to keep track of active routines from within your favorite shell.\n\n![screenshot](doc/Screenshot.png)\n\n## Features\n\n* Track live state of all active goroutines\n* Terminal user interface written with [termui](https://github.com/gizak/termui) 🤓\n* Simple to integrate [pprof server](https://pkg.go.dev/net/http/pprof) for live monitoring\n* Dynamic history of goroutine count\n* Full-text filtering\n* Overview of routine states\n\n## Installation\n\n```sh\ngo install github.com/becheran/roumon@latest\n```\n\nOr download the pre-compiled binaries from the [releases page](https://github.com/becheran/roumon/releases).\n\n## Usage\n\nBefore starting roumon, the go app which shall be monitored needs to be prepared to export pprof infos via http.\n\n### pprof\n\nThe program which shall be monitored needs to run a [pprof server](https://pkg.go.dev/net/http/pprof).\n\nImport pprof into you program:\n\n``` go\nimport _ \"net/http/pprof\"\n```\n\nRun a webserver which will listen on a specific port:\n\n``` go\ngo func() {\n    log.Println(http.ListenAndServe(\"localhost:6060\", nil))\n}()\n```\n\nStart your program and check that the `pprof` site is available in you web-browser:  `http://localhost:6060/debug/pprof`\n\n### roumon\n\nStart *roumon* in from your command line interface. Use optional arguments if needed.\n\nFor 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`.\n\nRun *roumon* with `-h` or `--help` to see all commandline argument options:\n\n``` txt\nUsage of roumon:\n  -debug string\n        Path to debug file \n  -host string\n        The pprof server IP or hostname (default \"localhost\")\n  -port int\n        The pprof server port (default 6060)\n```\n\nFrom within the *Terminal User Interface (TUI)* hit `F1` for help `F10` or `ctrl-c` to stop the application.\n\n## Contributing\n\nPull requests and issues [are welcome](./CONTRIBUTING.md)!\n","funding_links":[],"categories":["Go Tools","Go 工具","Libraries for creating HTTP middlewares"],"sub_categories":["Routers","Search and Analytic Databases","路由器"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbecheran%2Froumon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbecheran%2Froumon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbecheran%2Froumon/lists"}