You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
forgejo/cmd
zeripath c88547ce71
Add Goroutine stack inspector to admin/monitor (#19207)
Continues on from #19202.

Following the addition of pprof labels we can now more easily understand the relationship between a goroutine and the requests that spawn them. 

This PR takes advantage of the labels and adds a few others, then provides a mechanism for the monitoring page to query the pprof goroutine profile.

The binary profile that results from this profile is immediately piped in to the google library for parsing this and then stack traces are formed for the goroutines.

If the goroutine is within a context or has been created from a goroutine within a process context it will acquire the process description labels for that process. 

The goroutines are mapped with there associate pids and any that do not have an associated pid are placed in a group at the bottom as unbound.

In this way we should be able to more easily examine goroutines that have been stuck.

A manager command `gitea manager processes` is also provided that can export the processes (with or without stacktraces) to the command line.

Signed-off-by: Andrew Thornton <art27@cantab.net>
2 years ago
..
admin.go Make git.OpenRepository accept Context (#19260) 2 years ago
admin_auth_ldap.go Add LDAP group sync to Teams, fixes #1395 (#16299) 2 years ago
admin_auth_ldap_test.go format with gofumpt (#18184) 2 years ago
cert.go format with gofumpt (#18184) 2 years ago
cmd.go Fix flag validation (#19046) 2 years ago
convert.go Improve install code to avoid low-level mistakes. (#17779) 3 years ago
docs.go Fix offBy1 errors (#17606) 3 years ago
doctor.go format with gofumpt (#18184) 2 years ago
dump.go format with gofumpt (#18184) 2 years ago
dump_repo.go format with gofumpt (#18184) 2 years ago
embedded.go format with gofumpt (#18184) 2 years ago
embedded_stub.go Add bundle download for repository (#14538) 3 years ago
generate.go Add asymmetric JWT signing (#16010) 3 years ago
hook.go Fix the bug: deploy key with write access can not push (#19010) 2 years ago
hook_test.go Add agit flow support in gitea (#14295) 3 years ago
keys.go Second attempt at preventing zombies (#16326) 3 years ago
mailer.go Improve install code to avoid low-level mistakes. (#17779) 3 years ago
manager.go Add Goroutine stack inspector to admin/monitor (#19207) 2 years ago
manager_logging.go Add Goroutine stack inspector to admin/monitor (#19207) 2 years ago
migrate.go Improve install code to avoid low-level mistakes. (#17779) 3 years ago
migrate_storage.go Some repository refactors (#17950) 3 years ago
restore_repo.go Validate migration files (#18203) 2 years ago
serv.go Fix the bug: deploy key with write access can not push (#19010) 2 years ago
web.go Add Goroutine stack inspector to admin/monitor (#19207) 2 years ago
web_acme.go Add Goroutine stack inspector to admin/monitor (#19207) 2 years ago
web_graceful.go Make SSL cipher suite configurable (#17440) 3 years ago
web_https.go Add user settings key/value DB table (#16834) 3 years ago