forked from LBRYCommunity/lbry-sdk
start/stop tracemalloc over api
This commit is contained in:
parent
6814f2e38c
commit
56c8ad1221
2 changed files with 30 additions and 0 deletions
|
@ -8,6 +8,7 @@ import inspect
|
||||||
import typing
|
import typing
|
||||||
import random
|
import random
|
||||||
import hashlib
|
import hashlib
|
||||||
|
import tracemalloc
|
||||||
from urllib.parse import urlencode, quote
|
from urllib.parse import urlencode, quote
|
||||||
from typing import Callable, Optional, List
|
from typing import Callable, Optional, List
|
||||||
from binascii import hexlify, unhexlify
|
from binascii import hexlify, unhexlify
|
||||||
|
@ -4531,6 +4532,29 @@ class Daemon(metaclass=JSONRPCServerType):
|
||||||
result['node_id'] = hexlify(self.dht_node.protocol.node_id).decode()
|
result['node_id'] = hexlify(self.dht_node.protocol.node_id).decode()
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
TRACEMALLOC_DOC = """
|
||||||
|
Controls and queries tracemalloc memory tracing tools for troubleshooting.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def jsonrpc_tracemalloc_set(self, enable: bool):
|
||||||
|
"""
|
||||||
|
Enable/disable tracemalloc memory tracing
|
||||||
|
|
||||||
|
Usage:
|
||||||
|
jsonrpc_tracemalloc_set (<enable>)
|
||||||
|
|
||||||
|
Options:
|
||||||
|
--enable : (bool) True enables, False disables
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
(bool) is it tracing?
|
||||||
|
"""
|
||||||
|
if enable:
|
||||||
|
tracemalloc.start()
|
||||||
|
else:
|
||||||
|
tracemalloc.stop()
|
||||||
|
return tracemalloc.is_tracing()
|
||||||
|
|
||||||
COMMENT_DOC = """
|
COMMENT_DOC = """
|
||||||
View, create and abandon comments.
|
View, create and abandon comments.
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -38,3 +38,9 @@ class SettingsManagement(CommandTestCase):
|
||||||
self.assertTrue(self.daemon.analytics_manager.enabled)
|
self.assertTrue(self.daemon.analytics_manager.enabled)
|
||||||
self.assertTrue(loggly.enabled)
|
self.assertTrue(loggly.enabled)
|
||||||
self.daemon.jsonrpc_settings_set('share_usage_data', False)
|
self.daemon.jsonrpc_settings_set('share_usage_data', False)
|
||||||
|
|
||||||
|
|
||||||
|
class TroubleshootingCommands(CommandTestCase):
|
||||||
|
async def test_tracemalloc_commands(self):
|
||||||
|
self.assertFalse(self.daemon.jsonrpc_tracemalloc_set(False))
|
||||||
|
self.assertTrue(self.daemon.jsonrpc_tracemalloc_set(True))
|
||||||
|
|
Loading…
Reference in a new issue