此示例用户定义报告sessions
显示当前存在哪些会话。
def sessions(session, args, options):
sys = session.get_schema('sys')
session_view = sys.get_table('session')
query = session_view.select(
'thd_id', 'conn_id', 'user', 'db', 'current_statement',
'statement_latency AS latency', 'current_memory AS memory')
if (options.has_key('limit')):
limit = int(options['limit'])
query.limit(limit)
result = query.execute()
report = [result.get_column_names()]
for row in result.fetch_all():
report.append(list(row))
return {'report': report}
shell.register_report(
'sessions',
'list',
sessions,
{
'brief': 'Shows which sessions exist.',
'details': ['You need the SELECT privilege on sys.session view and the underlying tables and functions used by it.'],
'options': [
{
'name': 'limit',
'brief': 'The maximum number of rows to return.',
'shortcut': 'l',
'type': 'integer'
}
],
'argc': '0'
}
)