{"id":15653723,"url":"https://github.com/fjl/memsize","last_synced_at":"2025-04-09T18:19:44.057Z","repository":{"id":57479680,"uuid":"110250451","full_name":"fjl/memsize","owner":"fjl","description":"memsize computes the size of your object graph","archived":false,"fork":false,"pushed_at":"2024-08-14T18:24:11.000Z","size":51,"stargazers_count":33,"open_issues_count":2,"forks_count":7,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-09T18:19:28.046Z","etag":null,"topics":["debugging-tools","golang"],"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/fjl.png","metadata":{"files":{"readme":"README","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}},"created_at":"2017-11-10T13:33:40.000Z","updated_at":"2024-12-09T05:15:48.000Z","dependencies_parsed_at":"2024-10-23T03:36:58.483Z","dependency_job_id":null,"html_url":"https://github.com/fjl/memsize","commit_stats":{"total_commits":52,"total_committers":3,"mean_commits":"17.333333333333332","dds":"0.038461538461538436","last_synced_commit":"3e2518796625ef28b28b220c59a4707464e63093"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fjl%2Fmemsize","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fjl%2Fmemsize/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fjl%2Fmemsize/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fjl%2Fmemsize/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fjl","download_url":"https://codeload.github.com/fjl/memsize/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248085325,"owners_count":21045139,"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":["debugging-tools","golang"],"created_at":"2024-10-03T12:46:45.002Z","updated_at":"2025-04-09T18:19:44.034Z","avatar_url":"https://github.com/fjl.png","language":"Go","readme":"NOTE: As of Go 1.23, memsize no longer works because of a restriction added by the\nGo toolchain. The Go 1.23 compiler no longer allows access to runtime symbols via\ngo:linkname, which prevents memsize from accessing the Stop-the-World\nfunctionality of the Go runtime.\n\nIf your program depends on memsize, you can disable the restriction when building\nyour program:\n\n    go build -ldflags=-checklinkname=0\n\n---\n\nFor Go API documentation, go to https://pkg.go.dev/github.com/fjl/memsize\n\n---\n\nPackage memsize computes the size of your object graph.\n\nFor any Go object, it can compute the amount of memory referenced by the object.\nAlmost all Go types are supported, except for function pointers.\n\nTo scan a value and print the amount of memory it uses, run\n\n    sizes := memsize.Scan(myValue)\n    fmt.Println(sizes.Total)\n\nIf your program provides an HTTP server for debugging (e.g. using net/http/pprof),\nyou can also add an interactive memsize tool there and use it from a\nweb browser. To do this, add\n\n    import \"github.com/fjl/memsize/memsizeui\"\n\n    var memsizeH memsizeui.Handler\n\nand then hook the handler up to your debugging HTTP server. The web\ninterface will display buttons for added 'roots', which you must register\non the handler:\n\n    memsizeH.Add(\"myObject\", \u0026myObject)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffjl%2Fmemsize","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffjl%2Fmemsize","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffjl%2Fmemsize/lists"}