mirror of
https://github.com/Grasscutters/mitmproxy.git
synced 2024-11-27 02:24:18 +00:00
improve timing display
This commit is contained in:
parent
610842cda5
commit
050431fdd6
@ -5,7 +5,7 @@ from .. import utils
|
|||||||
|
|
||||||
|
|
||||||
def maybe_timestamp(base, attr):
|
def maybe_timestamp(base, attr):
|
||||||
if base and getattr(base, attr):
|
if base is not None and getattr(base, attr):
|
||||||
return utils.format_timestamp_with_milli(getattr(base, attr))
|
return utils.format_timestamp_with_milli(getattr(base, attr))
|
||||||
else:
|
else:
|
||||||
return "active"
|
return "active"
|
||||||
@ -89,65 +89,71 @@ def flowdetails(state, flow):
|
|||||||
|
|
||||||
parts = []
|
parts = []
|
||||||
|
|
||||||
parts.append(
|
if cc is not None and cc.timestamp_start:
|
||||||
[
|
|
||||||
"Client conn. established",
|
|
||||||
maybe_timestamp(cc, "timestamp_start")
|
|
||||||
]
|
|
||||||
)
|
|
||||||
parts.append(
|
|
||||||
[
|
|
||||||
"Server conn. initiated",
|
|
||||||
maybe_timestamp(sc, "timestamp_start")
|
|
||||||
]
|
|
||||||
)
|
|
||||||
parts.append(
|
|
||||||
[
|
|
||||||
"Server conn. TCP handshake",
|
|
||||||
maybe_timestamp(sc, "timestamp_tcp_setup")
|
|
||||||
]
|
|
||||||
)
|
|
||||||
if sc.ssl_established:
|
|
||||||
parts.append(
|
parts.append(
|
||||||
[
|
[
|
||||||
"Server conn. SSL handshake",
|
"Client conn. established",
|
||||||
maybe_timestamp(sc, "timestamp_ssl_setup")
|
maybe_timestamp(cc, "timestamp_start")
|
||||||
|
]
|
||||||
|
)
|
||||||
|
if cc.ssl_established:
|
||||||
|
parts.append(
|
||||||
|
[
|
||||||
|
"Client conn. TLS handshake",
|
||||||
|
maybe_timestamp(cc, "timestamp_ssl_setup")
|
||||||
|
]
|
||||||
|
)
|
||||||
|
if sc is not None and sc.timestamp_start:
|
||||||
|
parts.append(
|
||||||
|
[
|
||||||
|
"Server conn. initiated",
|
||||||
|
maybe_timestamp(sc, "timestamp_start")
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
parts.append(
|
parts.append(
|
||||||
[
|
[
|
||||||
"Client conn. SSL handshake",
|
"Server conn. TCP handshake",
|
||||||
maybe_timestamp(cc, "timestamp_ssl_setup")
|
maybe_timestamp(sc, "timestamp_tcp_setup")
|
||||||
|
]
|
||||||
|
)
|
||||||
|
if sc.ssl_established:
|
||||||
|
parts.append(
|
||||||
|
[
|
||||||
|
"Server conn. TLS handshake",
|
||||||
|
maybe_timestamp(sc, "timestamp_ssl_setup")
|
||||||
|
]
|
||||||
|
)
|
||||||
|
if req is not None and req.timestamp_start:
|
||||||
|
parts.append(
|
||||||
|
[
|
||||||
|
"First request byte",
|
||||||
|
maybe_timestamp(req, "timestamp_start")
|
||||||
|
]
|
||||||
|
)
|
||||||
|
parts.append(
|
||||||
|
[
|
||||||
|
"Request complete",
|
||||||
|
maybe_timestamp(req, "timestamp_end")
|
||||||
|
]
|
||||||
|
)
|
||||||
|
if resp is not None and resp.timestamp_start:
|
||||||
|
parts.append(
|
||||||
|
[
|
||||||
|
"First response byte",
|
||||||
|
maybe_timestamp(resp, "timestamp_start")
|
||||||
|
]
|
||||||
|
)
|
||||||
|
parts.append(
|
||||||
|
[
|
||||||
|
"Response complete",
|
||||||
|
maybe_timestamp(resp, "timestamp_end")
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
parts.append(
|
|
||||||
[
|
|
||||||
"First request byte",
|
|
||||||
maybe_timestamp(req, "timestamp_start")
|
|
||||||
]
|
|
||||||
)
|
|
||||||
parts.append(
|
|
||||||
[
|
|
||||||
"Request complete",
|
|
||||||
maybe_timestamp(req, "timestamp_end")
|
|
||||||
]
|
|
||||||
)
|
|
||||||
parts.append(
|
|
||||||
[
|
|
||||||
"First response byte",
|
|
||||||
maybe_timestamp(resp, "timestamp_start")
|
|
||||||
]
|
|
||||||
)
|
|
||||||
parts.append(
|
|
||||||
[
|
|
||||||
"Response complete",
|
|
||||||
maybe_timestamp(resp, "timestamp_end")
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
# sort operations by timestamp
|
if parts:
|
||||||
parts = sorted(parts, key=lambda p: p[1])
|
# sort operations by timestamp
|
||||||
|
parts = sorted(parts, key=lambda p: p[1])
|
||||||
|
|
||||||
text.append(urwid.Text([("head", "Timing:")]))
|
text.append(urwid.Text([("head", "Timing:")]))
|
||||||
text.extend(common.format_keyvals(parts, key="key", val="text", indent=4))
|
text.extend(common.format_keyvals(parts, key="key", val="text", indent=4))
|
||||||
return searchable.Searchable(state, text)
|
return searchable.Searchable(state, text)
|
||||||
|
@ -838,9 +838,9 @@ class FlowMaster(controller.Master):
|
|||||||
address=dict(address=(host, port), use_ipv6=False),
|
address=dict(address=(host, port), use_ipv6=False),
|
||||||
clientcert=None,
|
clientcert=None,
|
||||||
ssl_established=False,
|
ssl_established=False,
|
||||||
timestamp_start=time.time(),
|
timestamp_start=None,
|
||||||
timestamp_end=time.time(),
|
timestamp_end=None,
|
||||||
timestamp_ssl_setup=time.time()
|
timestamp_ssl_setup=None
|
||||||
))
|
))
|
||||||
|
|
||||||
s = ServerConnection.from_state(dict(
|
s = ServerConnection.from_state(dict(
|
||||||
@ -850,9 +850,9 @@ class FlowMaster(controller.Master):
|
|||||||
sni=host,
|
sni=host,
|
||||||
source_address=dict(address=('', 0), use_ipv6=False),
|
source_address=dict(address=('', 0), use_ipv6=False),
|
||||||
ssl_established=True,
|
ssl_established=True,
|
||||||
timestamp_start=time.time(),
|
timestamp_start=None,
|
||||||
timestamp_tcp_setup=time.time(),
|
timestamp_tcp_setup=None,
|
||||||
timestamp_ssl_setup=time.time(),
|
timestamp_ssl_setup=None,
|
||||||
timestamp_end=None,
|
timestamp_end=None,
|
||||||
via=None
|
via=None
|
||||||
))
|
))
|
||||||
|
Loading…
Reference in New Issue
Block a user