Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
integration
Manage
Activity
Members
Labels
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Package registry
Model registry
Operate
Terraform modules
Analyze
Contributor analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
elixxir
integration
Commits
95e81f46
Commit
95e81f46
authored
3 years ago
by
Jake Taylor
Browse files
Options
Downloads
Patches
Plain Diff
better e2ereporting
parent
404e92f6
No related branches found
No related tags found
1 merge request
!4
Release
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
basice2e/e2eReport.py
+26
-10
26 additions, 10 deletions
basice2e/e2eReport.py
with
26 additions
and
10 deletions
basice2e/e2eReport.py
+
26
−
10
View file @
95e81f46
#!/usr/bin/env python3
#!/usr/bin/env python3
# This script is used for building reports on dropped E2E integration tests
# This script is used for building reports on dropped E2E integration tests
import
logging
import
re
import
re
import
glob
import
glob
import
os
import
os
import
logging
as
log
import
logging
as
log
import
datetime
resultsDir
=
"
./results/clients
"
resultsDir
=
"
./results/clients
"
...
@@ -65,6 +64,12 @@ def main():
...
@@ -65,6 +64,12 @@ def main():
log
.
debug
(
"
Located sent message: {}
"
.
format
(
sent_message
))
log
.
debug
(
"
Located sent message: {}
"
.
format
(
sent_message
))
messages_sent
[
sent_message
]
=
{
"
sender
"
:
os
.
path
.
basename
(
path
)}
messages_sent
[
sent_message
]
=
{
"
sender
"
:
os
.
path
.
basename
(
path
)}
# Capture message timestamp
sent_timestamp_str
=
re
.
findall
(
'
INFO (.{19})
'
,
line
)[
0
]
sent_timestamp
=
datetime
.
datetime
.
strptime
(
sent_timestamp_str
,
'
%Y/%m/%d %H:%M:%S
'
)
log
.
debug
(
"
Located sent timestamp: {}
"
.
format
(
sent_timestamp
))
messages_sent
[
sent_message
][
"
sent
"
]
=
sent_timestamp
# Capture rounds messages were sent in
# Capture rounds messages were sent in
sent_round
=
re
.
findall
(
'
\) in round ([0-9]+)
'
,
line
)[
0
]
sent_round
=
re
.
findall
(
'
\) in round ([0-9]+)
'
,
line
)[
0
]
log
.
debug
(
"
Located sent round: {}
"
.
format
(
sent_round
))
log
.
debug
(
"
Located sent round: {}
"
.
format
(
sent_round
))
...
@@ -74,10 +79,15 @@ def main():
...
@@ -74,10 +79,15 @@ def main():
elif
"
Received message of type
"
in
line
:
elif
"
Received message of type
"
in
line
:
# Capture message receiving
# Capture message receiving
received_messages
=
re
.
findall
(
'
msgDigest: (.{20})
'
,
line
)
received_message
=
re
.
findall
(
'
msgDigest: (.{20})
'
,
line
)[
0
]
for
received_message
in
received_messages
:
log
.
debug
(
"
Located received message: {}
"
.
format
(
received_message
))
log
.
debug
(
"
Located received message: {}
"
.
format
(
received_message
))
messages_received
[
received_message
]
=
{
"
receiver
"
:
os
.
path
.
basename
(
path
)}
messages_received
[
received_message
]
=
os
.
path
.
basename
(
path
)
# Capture message timestamp
received_timestamp_str
=
re
.
findall
(
'
INFO (.{19})
'
,
line
)[
0
]
received_timestamp
=
datetime
.
datetime
.
strptime
(
received_timestamp_str
,
'
%Y/%m/%d %H:%M:%S
'
)
log
.
debug
(
"
Located received timestamp: {}
"
.
format
(
received_timestamp
))
messages_received
[
received_message
][
"
received
"
]
=
received_timestamp
elif
"
Round(s)
"
in
line
:
elif
"
Round(s)
"
in
line
:
# Capture round success
# Capture round success
...
@@ -88,12 +98,16 @@ def main():
...
@@ -88,12 +98,16 @@ def main():
# Print results
# Print results
num_successful
=
0
num_successful
=
0
total_latency
=
datetime
.
timedelta
()
for
msgDigest
,
senderDict
in
messages_sent
.
items
():
for
msgDigest
,
senderDict
in
messages_sent
.
items
():
if
msgDigest
in
messages_received
:
if
msgDigest
in
messages_received
:
log
.
debug
(
"
Message {} sent by {} on round {} was received
"
.
format
(
msgDigest
,
senderDict
[
"
sender
"
],
senderDict
[
"
round
"
]))
num_successful
+=
1
num_successful
+=
1
message_latency
=
messages_received
[
msgDigest
][
"
received
"
]
-
messages_sent
[
msgDigest
][
"
sent
"
]
total_latency
+=
message_latency
log
.
info
(
"
Message {} sent by {} on round {} was received after {}
"
.
format
(
msgDigest
,
senderDict
[
"
sender
"
],
senderDict
[
"
round
"
],
message_latency
))
else
:
else
:
log
.
error
(
"
Message {} sent by {} on round {} was NOT received
"
.
format
(
msgDigest
,
log
.
error
(
"
Message {} sent by {} on round {} was NOT received
"
.
format
(
msgDigest
,
senderDict
[
"
sender
"
],
senderDict
[
"
sender
"
],
...
@@ -104,7 +118,9 @@ def main():
...
@@ -104,7 +118,9 @@ def main():
else
:
else
:
log
.
warning
(
"
Round {} was NOT confirmed successful, messages may have been dropped
"
.
format
(
round_id
))
log
.
warning
(
"
Round {} was NOT confirmed successful, messages may have been dropped
"
.
format
(
round_id
))
log
.
info
(
"
{}/{} messages received successfully!
"
.
format
(
num_successful
,
len
(
messages_sent
)))
log
.
info
(
"
{}/{} messages received successfully after an average of {}!
"
.
format
(
num_successful
,
len
(
messages_sent
),
total_latency
/
num_successful
))
if
__name__
==
"
__main__
"
:
if
__name__
==
"
__main__
"
:
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment