{"id":43738556,"url":"https://github.com/bradfitz/livecore","last_synced_at":"2026-02-05T11:09:59.252Z","repository":{"id":318773839,"uuid":"1075701978","full_name":"bradfitz/livecore","owner":"bradfitz","description":"Linux low-pause core file dumper from an existing running process","archived":false,"fork":false,"pushed_at":"2025-10-15T02:52:52.000Z","size":104,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-15T05:21:54.315Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bradfitz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-13T21:43:35.000Z","updated_at":"2025-10-15T04:59:38.000Z","dependencies_parsed_at":"2025-10-15T14:47:34.751Z","dependency_job_id":"ca7f6ab6-67dd-499b-a5e5-62a861c72cb3","html_url":"https://github.com/bradfitz/livecore","commit_stats":null,"previous_names":["bradfitz/livecore"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/bradfitz/livecore","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bradfitz%2Flivecore","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bradfitz%2Flivecore/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bradfitz%2Flivecore/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bradfitz%2Flivecore/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bradfitz","download_url":"https://codeload.github.com/bradfitz/livecore/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bradfitz%2Flivecore/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29120484,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-05T10:47:47.471Z","status":"ssl_error","status_checked_at":"2026-02-05T10:45:08.119Z","response_time":65,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":[],"created_at":"2026-02-05T11:09:58.505Z","updated_at":"2026-02-05T11:09:59.244Z","avatar_url":"https://github.com/bradfitz.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# livecore\n\nA low-pause, capture-only Linux core dumper written in Go.\n\n## Overview\n\n`livecore` produces core files from running Linux processes with minimal stop-the-world (STW) time by using iterative pre-copy passes and a short final delta copy.\n\nThe motivation is to run [`goref`](https://github.com/cloudwego/goref/) against processes\nwith hundreds of gigabytes of memory where `grf attach PID` is too slow and would result in visible downtime\nfor users. Instead, `goref` supports working from a core file, but tools like `gcore`\npause the process while they copy.\n\nInstead `livecore` aims to generate subsecond pauses while the scanning phase before the pause and ELF core writing phase after the pause can take significantly longer.\n\n## Requirements\n\n- Linux x86-64 (aarch64 patches welcome)\n- Go 1.25\n\n## Usage\n\n```bash\nlivecore [flags] \u003cpid\u003e \u003coutput.core\u003e\n```\n\n### Flags\n\n- `-passes N`: Maximum pre-copy passes (default: 2)\n- `-dirty-thresh PCT`: Stop when dirty \u003c threshold (default: 5%)\n- `-concurrency N`: Concurrent read workers (default: runtime.GOMAXPROCS)\n- `-verbose`: Show progress and statistics\n\n## Installation\n\n```bash\ngo install github.com/bradfitz/livecore@main\n```\n\n## Building from Source\n\n```bash\ngit clone https://github.com/bradfitz/livecore.git\ncd livecore\ngo build -o livecore .\n```\n\n## Apologies\n\nThis was my first (and so far only) vibe coding project, to see what all the\nrage was about. It was ... interesting.\n\nSo be very suspicious of this tool.\n\nThe core dump it generates is incomplete and testing so far has only\ninvolved `goref` consuming it.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbradfitz%2Flivecore","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbradfitz%2Flivecore","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbradfitz%2Flivecore/lists"}