File tree 1 file changed +86
-56
lines changed
1 file changed +86
-56
lines changed Original file line number Diff line number Diff line change 2
2
3
3
Serves recorded response sets for benchmarking.
4
4
5
+ The goal is to serve recorded responses with low variance in memory and CPU cost.
6
+
7
+ ## Building
8
+
9
+ Follow the instructions at https://rustup.rs .
10
+
11
+ As of this writing, tracerbench-serve requires the latest Rust beta.
12
+
13
+ ``` sh
14
+ rustup toolchain install beta
15
+ ```
16
+
17
+ ``` sh
18
+ cargo build --release
19
+ ```
20
+
5
21
## recorded response set
6
22
7
23
Serde deserialize format:
8
24
9
- Recorded response sets
10
- Seq (len 6)
11
- Body table
12
- Header name table
13
- Header value table
14
- Headers table
15
- Response table
16
- Recorded response set table
17
-
18
- Body table:
19
- Seq of
20
- Bytes
21
-
22
- Header name table:
23
- Seq of
24
- String
25
-
26
- Header value table:
27
- Seq of
28
- String
29
-
30
- Headers table
31
- Seq of
32
- Seq of
33
- (
34
- usize, // name table index
35
- usize, // value table index
36
- )
37
-
38
- Response table
39
- Seq of
40
- (
41
- u16, // status
42
- usize, // headers table index
43
- Option<usize >, // body table index
44
- )
45
-
46
- Response set table
47
- Seq of
48
- Map
49
- socksPort: u16,
50
- name: String,
51
- entryKey: String,
52
- requestKeyProgram: Request key,
53
- requestKeyMap:
54
- Map String: usize // key to response_index
55
-
56
- Request key
57
- Seq
58
- literals
59
- Bytes
60
-
61
- literals
62
- Map
63
- type: String,
64
- content: Value
25
+ ### Recorded response sets:
26
+
27
+ - Seq length 6
28
+ - Body table
29
+ - Header name table
30
+ - Header value table
31
+ - Headers table
32
+ - Response table
33
+ - Recorded response set table
34
+
35
+ ### Body table:
36
+
37
+ - Seq of
38
+ - Bytes
39
+
40
+ ### Header name table:
41
+
42
+ - Seq of
43
+ - String
44
+
45
+ ### Header value table:
46
+
47
+ - Seq of
48
+ - String
49
+
50
+ ### Headers table
51
+
52
+ - Seq of
53
+ - Seq of
54
+ - Seq length 2
55
+ - usize ( name table index )
56
+ - usize ( value table index )
57
+
58
+ ### Response table
59
+
60
+ - Seq of
61
+ - Seq length 3
62
+ - u16 ( status )
63
+ - usize ( headers table index )
64
+ - Option<usize > ( body table index )
65
+
66
+ ### Response set table
67
+
68
+ - Seq of
69
+ - Map
70
+ - socksPort:
71
+ - u16
72
+ - name:
73
+ - String
74
+ - entryKey:
75
+ - String
76
+ - requestKeyProgram:
77
+ - Request key
78
+ - requestKeyMap:
79
+ - Map
80
+ - String: ( request key )
81
+ - usize ( response_index )
82
+
83
+ ### Request key
84
+
85
+ - Seq length 2
86
+ program literals
87
+ Bytes (program bytecode)
88
+
89
+ #### program literals
65
90
91
+ - Map
92
+ - type:
93
+ - String
94
+ - content:
95
+ - Value
You can’t perform that action at this time.
0 commit comments