Documentation Home
MySQL Shell 8.0
Related Documentation Download this Manual
PDF (US Ltr) - 463.0Kb
PDF (A4) - 459.6Kb
HTML Download (TGZ) - 92.4Kb
HTML Download (Zip) - 103.9Kb

MySQL Shell 8.0  /  ...  /  Example MySQL Shell Report

6.1.4 Example MySQL Shell Report

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

    def sessions(session, args, options):
        sys = session.get_schema('sys')
        session_view = sys.get_table('session')
        query =
            'thd_id', 'conn_id', 'user', 'db', 'current_statement',
            'statement_latency AS latency', 'current_memory AS memory')
            limit = int(options['limit'])
        except SystemError:
            limit = 0
        if limit > 0:

        result = query.execute()
        report = [result.get_column_names()]
        for row in result.fetch_all():

        return {'report': report}

            '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'