0
0
Fork 0
mirror of https://github.com/go-gitea/gitea synced 2024-12-27 01:14:35 +01:00
gitea/modules
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
..
activitypub format with gofumpt (#18184) 2022-01-20 18:46:10 +01:00
analyze
appstate format with gofumpt (#18184) 2022-01-20 18:46:10 +01:00
auth RSS/Atom support for Repos (#19055) 2022-03-13 17:40:47 +01:00
avatar format with gofumpt (#18184) 2022-01-20 18:46:10 +01:00
base format with gofumpt (#18184) 2022-01-20 18:46:10 +01:00
cache format with gofumpt (#18184) 2022-01-20 18:46:10 +01:00
charset Don't treat BOM escape sequence as hidden character. (#18909) 2022-02-26 16:48:23 +00:00
container Move reaction to models/issues/ (#19264) 2022-03-31 17:20:39 +08:00
context Add Goroutine stack inspector to admin/monitor (#19207) 2022-03-31 19:01:43 +02:00
convert Add Package Registry (#16510) 2022-03-30 16:42:47 +08:00
csv format with gofumpt (#18184) 2022-01-20 18:46:10 +01:00
doctor Make git.OpenRepository accept Context (#19260) 2022-03-30 03:13:41 +08:00
emoji format with gofumpt (#18184) 2022-01-20 18:46:10 +01:00
eventsource Add Goroutine stack inspector to admin/monitor (#19207) 2022-03-31 19:01:43 +02:00
generate Use base32 for 2FA scratch token (#18384) 2022-01-26 12:10:10 +08:00
git Improve sync performance for pull-mirrors (#19125) 2022-03-31 14:30:40 +02:00
gitgraph Make git.OpenRepository accept Context (#19260) 2022-03-30 03:13:41 +08:00
graceful Add Goroutine stack inspector to admin/monitor (#19207) 2022-03-31 19:01:43 +02:00
hcaptcha
highlight format with gofumpt (#18184) 2022-01-20 18:46:10 +01:00
hostmatcher remove not needed (#19128) 2022-03-18 20:17:57 +01:00
httpcache format with gofumpt (#18184) 2022-01-20 18:46:10 +01:00
httplib refactor httplib (#18338) 2022-01-19 19:31:39 -05:00
indexer Add Goroutine stack inspector to admin/monitor (#19207) 2022-03-31 19:01:43 +02:00
json Make gitea, gitea-vet future-proof (#18361) 2022-01-22 21:59:34 +00:00
lfs Update HTTP status codes to modern codes (#18063) 2022-03-23 12:54:07 +08:00
log Add Goroutine stack inspector to admin/monitor (#19207) 2022-03-31 19:01:43 +02:00
markup Make git.OpenRepository accept Context (#19260) 2022-03-30 03:13:41 +08:00
metrics format with gofumpt (#18184) 2022-01-20 18:46:10 +01:00
migration Store the foreign ID of issues during migration (#18446) 2022-03-17 18:08:35 +01:00
nosql Add Goroutine stack inspector to admin/monitor (#19207) 2022-03-31 19:01:43 +02:00
notification Add Package Registry (#16510) 2022-03-30 16:42:47 +08:00
options format with gofumpt (#18184) 2022-01-20 18:46:10 +01:00
packages Add Package Registry (#16510) 2022-03-30 16:42:47 +08:00
password
pprof
private Add Goroutine stack inspector to admin/monitor (#19207) 2022-03-31 19:01:43 +02:00
process Add Goroutine stack inspector to admin/monitor (#19207) 2022-03-31 19:01:43 +02:00
proxy
public Fix mime-type detection for HTTP server (#18370) 2022-01-23 20:19:49 +08:00
queue Add Goroutine stack inspector to admin/monitor (#19207) 2022-03-31 19:01:43 +02:00
recaptcha
references format with gofumpt (#18184) 2022-01-20 18:46:10 +01:00
repository Improve sync performance for pull-mirrors (#19125) 2022-03-31 14:30:40 +02:00
secret Use CryptoRandomBytes instead of CryptoRandomString (#18439) 2022-02-04 18:03:15 +01:00
session format with gofumpt (#18184) 2022-01-20 18:46:10 +01:00
setting Add Package Registry (#16510) 2022-03-30 16:42:47 +08:00
ssh Add Goroutine stack inspector to admin/monitor (#19207) 2022-03-31 19:01:43 +02:00
storage Add Package Registry (#16510) 2022-03-30 16:42:47 +08:00
structs Add Package Registry (#16510) 2022-03-30 16:42:47 +08:00
svg
sync
templates Add Package Registry (#16510) 2022-03-30 16:42:47 +08:00
test Make git.OpenRepository accept Context (#19260) 2022-03-30 03:13:41 +08:00
timeutil format with gofumpt (#18184) 2022-01-20 18:46:10 +01:00
translation Refactor i18n, use Locale to provide i18n/translation related functions (#18648) 2022-02-08 11:02:30 +08:00
typesniffer format with gofumpt (#18184) 2022-01-20 18:46:10 +01:00
updatechecker format with gofumpt (#18184) 2022-01-20 18:46:10 +01:00
upload Simplify parameter types (#18006) 2021-12-20 04:41:31 +00:00
uri Prevent NPE if gitea uploader fails to open url (#18080) 2021-12-23 16:27:33 +00:00
user
util Use a more general (and faster) method to sanitize URLs with credentials (#19239) 2022-03-31 10:25:40 +08:00
validation format with gofumpt (#18184) 2022-01-20 18:46:10 +01:00
web Add Goroutine stack inspector to admin/monitor (#19207) 2022-03-31 19:01:43 +02:00