diff --git a/config/galaxy.ini.sample b/config/galaxy.ini.sample
index c7fa2f299cb..d912bbbc126 100644
--- a/config/galaxy.ini.sample
+++ b/config/galaxy.ini.sample
@@ -629,10 +629,6 @@ use_interactive = True
# lot of CPU.
#use_heartbeat = False
-# Enable the memory debugging interface (careful, negatively impacts server
-# performance).
-#use_memdump = False
-
# -- Data Libraries
# These library upload options are described in much more detail in the wiki:
diff --git a/eggs.ini b/eggs.ini
index 37e31f1eef5..ea881adbff9 100644
--- a/eggs.ini
+++ b/eggs.ini
@@ -26,7 +26,6 @@ pysam = 0.4.2
pysqlite = 2.5.6
python_lzo = 1.08_2.03_static
PyYAML = 3.10
-guppy = 0.1.10
SQLAlchemy = 0.7.9
; msgpack_python = 0.2.4
diff --git a/lib/galaxy/app.py b/lib/galaxy/app.py
index 8bb8f119178..f9a4bbf8b38 100644
--- a/lib/galaxy/app.py
+++ b/lib/galaxy/app.py
@@ -107,10 +107,8 @@ class UniverseApplication( object, config.ConfiguresGalaxyMixin ):
self.quota_agent = galaxy.quota.QuotaAgent( self.model )
else:
self.quota_agent = galaxy.quota.NoQuotaAgent( self.model )
- # Heartbeat and memdump for thread / heap profiling
+ # Heartbeat for thread profiling
self.heartbeat = None
- self.memdump = None
- self.memory_usage = None
# Container for OpenID authentication routines
if self.config.enable_openid:
from galaxy.web.framework import openid_manager
@@ -125,11 +123,6 @@ class UniverseApplication( object, config.ConfiguresGalaxyMixin ):
self.heartbeat = heartbeat.Heartbeat( fname=self.config.heartbeat_log )
self.heartbeat.daemon = True
self.heartbeat.start()
- # Enable the memdump signal catcher if configured and available
- if self.config.use_memdump:
- from galaxy.util import memdump
- if memdump.Memdump:
- self.memdump = memdump.Memdump()
# Transfer manager client
if self.config.get_bool( 'enable_beta_job_managers', False ):
from galaxy.jobs import transfer_manager
diff --git a/lib/galaxy/config.py b/lib/galaxy/config.py
index 94a40dc8e48..420a02b0a10 100644
--- a/lib/galaxy/config.py
+++ b/lib/galaxy/config.py
@@ -227,7 +227,6 @@ class Configuration( object ):
self.external_chown_script = kwargs.get('external_chown_script', None)
self.environment_setup_file = kwargs.get( 'environment_setup_file', None )
self.use_heartbeat = string_as_bool( kwargs.get( 'use_heartbeat', 'False' ) )
- self.use_memdump = string_as_bool( kwargs.get( 'use_memdump', 'False' ) )
self.log_actions = string_as_bool( kwargs.get( 'log_actions', 'False' ) )
self.log_events = string_as_bool( kwargs.get( 'log_events', 'False' ) )
self.sanitize_all_html = string_as_bool( kwargs.get( 'sanitize_all_html', True ) )
diff --git a/lib/galaxy/eggs/__init__.py b/lib/galaxy/eggs/__init__.py
index 1938009bf99..3b8842697cb 100644
--- a/lib/galaxy/eggs/__init__.py
+++ b/lib/galaxy/eggs/__init__.py
@@ -385,8 +385,6 @@ class GalaxyConfig( object ):
"DRMAA_python": lambda: "sge" in self.config.get( "app:main", "start_job_runners" ).split(","),
"drmaa": lambda: "drmaa" in self.config.get( "app:main", "start_job_runners" ).split(","),
"pbs_python": lambda: "pbs" in self.config.get( "app:main", "start_job_runners" ).split(","),
- "threadframe": lambda: self.config.get( "app:main", "use_heartbeat" ),
- "guppy": lambda: self.config.get( "app:main", "use_memdump" ),
"python_openid": lambda: self.config.get( "app:main", "enable_openid" ),
"python_daemon": lambda: sys.version_info[:2] >= ( 2, 5 ),
"pysam": lambda: check_pysam(),
diff --git a/lib/galaxy/util/memdump.py b/lib/galaxy/util/memdump.py
deleted file mode 100644
index 25558ca4d47..00000000000
--- a/lib/galaxy/util/memdump.py
+++ /dev/null
@@ -1,50 +0,0 @@
-
-# Attempt to load guppy module, and only define Memdump class
-# if available
-
-try:
-
- import pkg_resources
- pkg_resources.require( "guppy" )
-
-except:
-
- import sys
- print >> sys.stderr, "No guppy module, Memdump not available"
- Memdump = None
-
-else:
-
- import os, sys, signal, time, guppy
-
- class Memdump( object ):
- def __init__( self, signum=signal.SIGUSR1, fname="memdump.log" ):
- self.fname = fname
- signal.signal( signum, self.dump )
- self.heapy = guppy.hpy()
- self.heap = None
- def dump( self, signum, stack ):
- file = open( self.fname, "a" )
- print >> file, "Memdump for pid %d at %s" % ( os.getpid(), time.asctime() )
- print >> file
- try:
- self.heap = self.heapy.heap()
- print >> file, "heap():"
- print >> file, self.heap
- print >> file, "\nbyrcs:"
- print >> file, self.heap.byrcs
- print >> file, "\nbyrcs[0].byid:"
- print >> file, self.heap.byrcs[0].byid
- print >> file, "\nget_rp():"
- print >> file, self.heap.get_rp()
- self.heapy.setref()
- except AssertionError:
- pass
- print >> file, "\nEnd dump\n"
- file.close()
- def setref( self ):
- self.heapy.setref()
- def get( self, update=False ):
- if update:
- self.heap = self.heapy.heap()
- return self.heap
diff --git a/lib/galaxy/web/base/controllers/admin.py b/lib/galaxy/web/base/controllers/admin.py
index 9673da67474..e4ca72649dc 100644
--- a/lib/galaxy/web/base/controllers/admin.py
+++ b/lib/galaxy/web/base/controllers/admin.py
@@ -1024,48 +1024,6 @@ class Admin( object ):
message=message,
status=status )
- @web.expose
- @web.require_admin
- def memdump( self, trans, ids = 'None', sorts = 'None', pages = 'None', new_id = None, new_sort = None, **kwd ):
- if self.app.memdump is None:
- return trans.show_error_message( "Memdump is not enabled (set use_memdump = True in galaxy.ini)" )
- heap = self.app.memdump.get()
- p = util.Params( kwd )
- msg = None
- if p.dump:
- heap = self.app.memdump.get( update = True )
- msg = "Heap dump complete"
- elif p.setref:
- self.app.memdump.setref()
- msg = "Reference point set (dump to see delta from this point)"
- ids = ids.split( ',' )
- sorts = sorts.split( ',' )
- if new_id is not None:
- ids.append( new_id )
- sorts.append( 'None' )
- elif new_sort is not None:
- sorts[-1] = new_sort
- breadcrumb = "heap" % web.url_for(controller='admin', action='memdump')
- # new lists so we can assemble breadcrumb links
- new_ids = []
- new_sorts = []
- for id, sort in zip( ids, sorts ):
- new_ids.append( id )
- if id != 'None':
- breadcrumb += "[%s]" % ( web.url_for(controller='admin', action='memdump', ids=','.join( new_ids ), sorts=','.join( new_sorts ) ), id )
- heap = heap[int(id)]
- new_sorts.append( sort )
- if sort != 'None':
- breadcrumb += ".by('%s')" % ( web.url_for(controller='admin', action='memdump', ids=','.join( new_ids ), sorts=','.join( new_sorts ) ), sort )
- heap = heap.by( sort )
- ids = ','.join( new_ids )
- sorts = ','.join( new_sorts )
- if p.theone:
- breadcrumb += ".theone"
- heap = heap.theone
- return trans.fill_template( '/admin/memdump.mako', heap = heap, ids = ids, sorts = sorts, breadcrumb = breadcrumb, msg = msg )
-
-
@web.expose
@web.require_admin
def jobs( self, trans, stop = [], stop_msg = None, cutoff = 180, job_lock = None, ajl_submit = None, **kwd ):
diff --git a/templates/admin/memdump.mako b/templates/admin/memdump.mako
deleted file mode 100644
index 63a6da35ecf..00000000000
--- a/templates/admin/memdump.mako
+++ /dev/null
@@ -1,76 +0,0 @@
-<%inherit file="/base.mako"/>
-<%namespace file="/message.mako" import="render_msg" />
-
-<%def name="title()">Memory Profiling%def>
-<%
- import re
- from xml.sax.saxutils import escape, unescape
-%>
-
-
-
-
--%endif diff --git a/templates/webapps/galaxy/admin/index.mako b/templates/webapps/galaxy/admin/index.mako index 85c755db18d..7997bdf4588 100644 --- a/templates/webapps/galaxy/admin/index.mako +++ b/templates/webapps/galaxy/admin/index.mako @@ -78,7 +78,6 @@ - %if installing_repository_ids:
-You are here: ${breadcrumb}
- %if breadcrumb.endswith( 'theone' ): - ${heap|h} - %else: --Sort: - Class | - Clodo | - Id | - Idset | - Module | - Unity | - Rcs | - Size | - Type | - Via - - ${htmlize( heap )} - %endif -