rpc: implement internal debug_ API namespace functions (#313)

* API Hello World

* Added all the debug functions + more data to try implementing the GC functions

* Getting transactions information

* Added cpu profile first approach functions

* new struct for cpuprofile and read filename from params

* cpuprofile, gcstats and memstats

* added comment

* All endpoints returns error instead of string

* Code cleanup

* Changed errors messages to match go-eth returns

* Removed activated flag and just using the file to check if it's running

* Added new endpoints to the json_rpc.md file

* GoTrace debug endpoints added

* Block profile endpoint added

* missing goeth calls

* added debug logs

* divide debug and internal api

* Using ExpandHome on server configuration

* Added rpc changes to changelog

* Logging go trace status

* Removed logger functions and moved logger errors to debug

* Added more logs to go trace

* Added more datailed changelog

* Removed trace debug api interface

* added comments

* cleanup

* Updated changelog

* disable lint on cpuprofile rename

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* return error in StopCpuProfile

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* return error in StopGoTrace

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* implement suggested changes

Co-authored-by: ramacarlucho <ramirocarlucho@gmail.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
This commit is contained in:
Guillermo Paoletti
2021-07-20 12:50:17 +00:00
committed by GitHub
co-authored by Federico Kunze Küllmer ramacarlucho
parent c67b4b1c37
commit 282eb13a6f
8 changed files with 403 additions and 15 deletions
+18 -13
View File
@@ -103,21 +103,25 @@ Check the JSON-RPC methods and namespaces supported on Ethermint. {synopsis}
| `clique_discard` | Clique | | |
| `clique_status` | Clique | | |
| `debug_backtraceAt` | Debug | | |
| `debug_blockProfile` | Debug | | |
| `debug_cpuProfile` | Debug | | |
| `debug_blockProfile` | Debug | | |
| `debug_cpuProfile` | Debug | | |
| `debug_dumpBlock` | Debug | | |
| `debug_gcStats` | Debug | | |
| `debug_gcStats` | Debug | | |
| `debug_getBlockRlp` | Debug | | |
| `debug_goTrace` | Debug | | |
| `debug_memStats` | Debug | | |
| `debug_goTrace` | Debug | | |
| `debug_freeOSMemory` | Debug | | |
| `debug_memStats` | Debug | ✔ | |
| `debug_mutexProfile` | Debug | ✔ | |
| `debug_seedHash` | Debug | | |
| `debug_setHead` | Debug | | |
| `debug_setBlockProfileRate` | Debug | | |
| `debug_stacks` | Debug | | |
| `debug_startCPUProfile` | Debug | | |
| `debug_startGoTrace` | Debug | | |
| `debug_stopCPUProfile` | Debug | | |
| `debug_stopGoTrace` | Debug | | |
| `debug_setBlockProfileRate` | Debug | | |
| `debug_setGCPercent` | Debug | | |
| `debug_setMutexProfileFraction` | Debug | | |
| `debug_stacks` | Debug | | |
| `debug_startCPUProfile` | Debug | | |
| `debug_startGoTrace` | Debug | | |
| `debug_stopCPUProfile` | Debug | ✔ | |
| `debug_stopGoTrace` | Debug | ✔ | |
| `debug_traceBlock` | Debug | | |
| `debug_traceBlockByNumber` | Debug | | |
| `debug_traceBlockByHash` | Debug | | |
@@ -127,8 +131,9 @@ Check the JSON-RPC methods and namespaces supported on Ethermint. {synopsis}
| `debug_traceTransaction` | Debug | | |
| `debug_verbosity` | Debug | | |
| `debug_vmodule` | Debug | | |
| `debug_writeBlockProfile` | Debug | | |
| `debug_writeMemProfile` | Debug | | |
| `debug_writeBlockProfile` | Debug | | |
| `debug_writeMemProfile` | Debug | | |
| `debug_writeMutexProfile` | Debug | ✔ | |
| `les_serverInfo` | Les | | |
| `les_clientInfo` | Les | | |
| `les_priorityClientInfo` | Les | | |