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>
2022-03-31 19:01:43 +02:00
..
admin.go Make git.OpenRepository accept Context (#19260) 2022-03-30 03:13:41 +08:00
admin_auth_ldap.go Add LDAP group sync to Teams, fixes #1395 (#16299) 2022-02-11 22:24:58 +08:00
admin_auth_ldap_test.go format with gofumpt (#18184) 2022-01-20 18:46:10 +01:00
cert.go format with gofumpt (#18184) 2022-01-20 18:46:10 +01:00
cmd.go Fix flag validation (#19046) 2022-03-10 10:11:26 +00:00
convert.go Improve install code to avoid low-level mistakes. (#17779) 2021-12-01 15:50:01 +08:00
docs.go Fix offBy1 errors (#17606) 2021-11-14 10:11:49 +02:00
doctor.go format with gofumpt (#18184) 2022-01-20 18:46:10 +01:00
dump.go format with gofumpt (#18184) 2022-01-20 18:46:10 +01:00
dump_repo.go format with gofumpt (#18184) 2022-01-20 18:46:10 +01:00
embedded.go format with gofumpt (#18184) 2022-01-20 18:46:10 +01:00
embedded_stub.go Add bundle download for repository (#14538) 2021-08-24 11:47:09 -05:00
generate.go Add asymmetric JWT signing (#16010) 2021-06-17 23:56:46 +02:00
hook.go Fix the bug: deploy key with write access can not push (#19010) 2022-03-22 17:29:07 +08:00
hook_test.go Add agit flow support in gitea (#14295) 2021-07-28 17:42:56 +08:00
keys.go Second attempt at preventing zombies (#16326) 2021-07-14 10:43:13 -04:00
mailer.go Improve install code to avoid low-level mistakes. (#17779) 2021-12-01 15:50:01 +08:00
manager.go Add Goroutine stack inspector to admin/monitor (#19207) 2022-03-31 19:01:43 +02:00
manager_logging.go Add Goroutine stack inspector to admin/monitor (#19207) 2022-03-31 19:01:43 +02:00
migrate.go Improve install code to avoid low-level mistakes. (#17779) 2021-12-01 15:50:01 +08:00
migrate_storage.go Some repository refactors (#17950) 2021-12-12 23:48:20 +08:00
restore_repo.go Validate migration files (#18203) 2022-01-26 10:45:51 +01:00
serv.go Fix the bug: deploy key with write access can not push (#19010) 2022-03-22 17:29:07 +08:00
web.go Add Goroutine stack inspector to admin/monitor (#19207) 2022-03-31 19:01:43 +02:00
web_acme.go Add Goroutine stack inspector to admin/monitor (#19207) 2022-03-31 19:01:43 +02:00
web_graceful.go Make SSL cipher suite configurable (#17440) 2021-11-20 01:12:43 -05:00
web_https.go Add user settings key/value DB table (#16834) 2021-11-22 04:47:23 -05:00