Commit Graph

9 Commits

Author SHA1 Message Date
Gus Eggert
010e22b508 feat: add heap allocs to 'ipfs diag profile' 2023-03-20 10:05:43 +01:00
Marcin Rataj
82467bc936 refactor: rename to kubo 2022-07-06 18:40:37 +02:00
Gus Eggert
bb68a68525
feat: port collect-profiles.sh to 'ipfs diag profile' (#8786)
* feat: add block profiling to collect-profiles.sh

* feat: add more profiles to 'ipfs diag profile'

This adds mutex and block profiles, and brings the command up-to-par
with 'collect-profiles.sh', so that we can remove it.

Profiles are also now collected concurrently, which improves the
runtime from (profile_time * num_profiles) to just (profile_time).

Note that this has a backwards-incompatible change, removing
--cpu-profile-time in favor of the more general --profile-time, which
covers all sampling profiles.

* docs(cli): ipfs diag profile

* add CLI flag to select specific diag collectors

Co-authored-by: Marcin Rataj <lidel@lidel.org>
2022-04-12 11:58:03 -04:00
Gus Eggert
5e1b2248c5
feat: add full goroutine stack dump (#8790) 2022-03-16 09:42:22 -04:00
Steven Allen
3745047ccf doc(profile): improve profiling docs 2021-07-21 18:04:11 -07:00
Steven Allen
e1cf99cfab
fix(ipfs diag profile): fix wording
Co-authored-by: Adin Schmahmann <adin.schmahmann@gmail.com>
2021-07-21 16:22:59 -07:00
Steven Allen
77f3fed5a1 feat(ipfs diag profile): help text 2021-07-21 15:50:29 -07:00
Steven Allen
722fc4fa4c feat(ipfs diag profile): output version info only
sys diag includes private information (like the interface addresses)
2021-07-21 15:50:21 -07:00
Steven Allen
d52d183020 feat: add an "ipfs diag profile" command
This should replace the "collect-profiles.sh" script and allow users to
easily collect profiles.

At the moment, it just dumps all profiles into a single zip file. It
does this server-side so it's easy fetch them with curl.

In the future, it would be nice to add:

1. Progress indicators (cpu profiles take 30 seconds).
2. An option to specify which profiles to collect.

But we can handle that later.

Unfortunately, this command doesn't produce symbolized svgs as I didn't
want to depend on having a local go compiler.
2021-07-21 14:51:47 -07:00