Skip to content

Commit 4e3e3b3

Browse files
committed
Instrument build script
1 parent bce62e1 commit 4e3e3b3

File tree

5 files changed

+70
-1
lines changed

5 files changed

+70
-1
lines changed

Buildfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
01build: gradle build
1+
01build: ./bin/build.sh

bin/build.sh

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
SEGMENT=$(python bin/xray_start.py)
2+
GRADLE_OUTPUT=$(gradle build); GRADLE_RETURN=$?
3+
if (( GRADLE_RETURN != 0 )); then
4+
echo "Grade failed with exit status $GRADLE_RETURN" >&2
5+
echo "and output: $GRADLE_OUTPUT" >&2
6+
python bin/xray_error.py "$SEGMENT" "$GRADLE_OUTPUT"
7+
exit 1
8+
fi
9+
python bin/xray_success.py "$SEGMENT"

bin/xray_error.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import time
2+
import json
3+
import socket
4+
import sys
5+
6+
SEGMENT_DOC = json.loads(sys.argv[1])
7+
ERROR = { "error": sys.argv[2] }
8+
del SEGMENT_DOC["in_progress"]
9+
END_TIME = time.time()
10+
SEGMENT_DOC["end_time"] = END_TIME
11+
SEGMENT_DOC["error"] = True
12+
SEGMENT_DOC["annotations"] = ERROR
13+
14+
HEADER=json.dumps({"format": "json", "version": 1})
15+
TRACE_DATA = HEADER + "\n" + json.dumps(SEGMENT_DOC)
16+
17+
UDP_IP= "127.0.0.1"
18+
UDP_PORT=2000
19+
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
20+
sock.sendto(TRACE_DATA, (UDP_IP, UDP_PORT))
21+
22+
print json.dumps(SEGMENT_DOC)

bin/xray_start.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import time
2+
import json
3+
import socket
4+
import os
5+
import binascii
6+
7+
START_TIME = time.time()
8+
HEX=hex(int(START_TIME))[2:]
9+
TRACE_ID="1-" + HEX + "-" + binascii.b2a_hex(os.urandom(12))
10+
SEGMENT_ID=binascii.b2a_hex(os.urandom(8))
11+
SEGMENT_DOC=json.dumps({"trace_id": TRACE_ID, "id": SEGMENT_ID, "start_time": START_TIME, "in_progress": True, "name": "Scorekeep-build"})
12+
HEADER=json.dumps({"format": "json", "version": 1})
13+
TRACE_DATA = HEADER + "\n" + SEGMENT_DOC
14+
15+
UDP_IP= "127.0.0.1"
16+
UDP_PORT=2000
17+
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
18+
sock.sendto(TRACE_DATA, (UDP_IP, UDP_PORT))
19+
20+
print SEGMENT_DOC

bin/xray_success.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import time
2+
import json
3+
import socket
4+
import sys
5+
6+
SEGMENT_DOC = json.loads(sys.argv[1])
7+
del SEGMENT_DOC["in_progress"]
8+
END_TIME = time.time()
9+
SEGMENT_DOC["end_time"] = END_TIME
10+
HEADER=json.dumps({"format": "json", "version": 1})
11+
TRACE_DATA = HEADER + "\n" + json.dumps(SEGMENT_DOC)
12+
13+
UDP_IP= "127.0.0.1"
14+
UDP_PORT=2000
15+
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
16+
sock.sendto(TRACE_DATA, (UDP_IP, UDP_PORT))
17+
18+
print json.dumps(SEGMENT_DOC)

0 commit comments

Comments
 (0)