def _parse_general_status(self, status):
        # parse general statistics
        # Format is similar to:
        #   Free memory: 6.38 MB Total memory: 16.87 MB Max memory: 123.75 M
        #   Max threads: 200 Current thread count: 1 Current thread busy: 1
        #   Max processing time: 749 ms Processing time: 0.952 s Request count: 42 Error count: 5 Bytes received: 0.00 MB Bytes sent: 0.18 M
        result = {}
        start = status.find("<h1>JVM</h1>")
        if start > -1:
          m = re.match(r"[\w\W]*Free memory: ([\w\W]*) Total memory: ([\w\W]*) Max memory: ([\w\W]*)<\/p>[\w\W]*"
                        "Max threads: ([\d]*) Current thread count: ([\d]*) Current thread busy: ([\d]*)[\w\W]*"
                        "Max processing time: ([\w\W]*) Processing time: ([\w\W]*)[\w\W]*"
                        "Request count: ([\d]*) Error count: ([\d]*) Bytes received: ([\w\W]*) Bytes sent: ([\w\W]*)<\/p><table[\w\W]*", status[start + 12:])
          if m != None:
              result["memory_free"] = [ 'memory_bytes', _convert_to_megabytes(m.group(1)), 'type', 'free' ]
              result["memory_total"] = [ 'memory_bytes', _convert_to_megabytes(m.group(2)), 'type', 'total' ]
              result["memory_max"] = [ 'memory_bytes', _convert_to_megabytes(m.group(3)), 'type', 'max' ]
              result["threads_max"] = [ 'threads', int(m.group(4)), 'type', 'max' ]
              result["threads_current_count"] = [ 'threads', int(m.group(5)), 'type', 'max' ]
              result["threads_current_busy"] = [ 'threads', int(m.group(6)), 'type', 'max' ]   
              result["processing_time_max"] = [ 'processing_time_max', _convert_to_milliseconds(m.group(7)) ]
              result["processing_time"] = [ 'processing_time', _convert_to_milliseconds(m.group(8)) ]
              result["request_count"] = [ 'request_count', int(m.group(9)) ]
              result["error_count"] = [ 'error_count', int(m.group(10)) ]
              result["bytes_received"] = [ 'network_bytes', _convert_to_megabytes(m.group(11)), 'type', 'received' ]
              result["bytes_sent"] = [ 'network_bytes', _convert_to_megabytes(m.group(12)), 'type', 'sent' ]
        return result
dataset/ETHPy150Open scalyr/scalyr-agent-2/scalyr_agent/builtin_monitors/tomcat_monitor.py/TomcatMonitor._parse_general_status/original