MySQL Shell 9.0  /  ...  /  Example MySQL Shell Report

10.1.4 Example MySQL Shell Report

This example user-defined report sessions shows which sessions currently exist.

Press CTRL+C to copy
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' } )