Skip to content

Commit f00f109

Browse files
committed
#410: Optimize string arguments sent into graph::record_requests_per_second() and graph::record_errors_per_second().
1 parent d0f9d48 commit f00f109

File tree

2 files changed

+52
-52
lines changed

2 files changed

+52
-52
lines changed

src/graph.rs

+50-50
Original file line numberDiff line numberDiff line change
@@ -72,12 +72,12 @@ impl GraphData {
7272
}
7373

7474
/// Record requests per second metric.
75-
pub(crate) fn record_requests_per_second(&mut self, key: String, second: usize) {
76-
if !self.requests_per_second.contains_key(&key) {
75+
pub(crate) fn record_requests_per_second(&mut self, key: &str, second: usize) {
76+
if !self.requests_per_second.contains_key(key) {
7777
self.requests_per_second
78-
.insert(key.clone(), TimeSeries::new());
78+
.insert(key.to_string(), TimeSeries::new());
7979
}
80-
let data = self.requests_per_second.get_mut(&key).unwrap();
80+
let data = self.requests_per_second.get_mut(key).unwrap();
8181
data.increase(second, 1);
8282

8383
debug!(
@@ -88,12 +88,12 @@ impl GraphData {
8888
}
8989

9090
/// Record errors per second metric.
91-
pub(crate) fn record_errors_per_second(&mut self, key: String, second: usize) {
92-
if !self.errors_per_second.contains_key(&key) {
91+
pub(crate) fn record_errors_per_second(&mut self, key: &str, second: usize) {
92+
if !self.errors_per_second.contains_key(key) {
9393
self.errors_per_second
94-
.insert(key.clone(), TimeSeries::new());
94+
.insert(key.to_string(), TimeSeries::new());
9595
}
96-
let data = self.errors_per_second.get_mut(&key).unwrap();
96+
let data = self.errors_per_second.get_mut(key).unwrap();
9797
data.increase(second, 1);
9898

9999
debug!(
@@ -959,15 +959,15 @@ mod test {
959959
let mut graph = GraphData::new();
960960
assert_eq!(graph.requests_per_second.len(), 0);
961961

962-
graph.record_requests_per_second("GET /".to_string(), 0);
963-
graph.record_requests_per_second("GET /".to_string(), 0);
964-
graph.record_requests_per_second("GET /".to_string(), 0);
965-
graph.record_requests_per_second("GET /".to_string(), 1);
966-
graph.record_requests_per_second("GET /".to_string(), 2);
967-
graph.record_requests_per_second("GET /".to_string(), 2);
968-
graph.record_requests_per_second("GET /".to_string(), 2);
969-
graph.record_requests_per_second("GET /".to_string(), 2);
970-
graph.record_requests_per_second("GET /".to_string(), 2);
962+
graph.record_requests_per_second("GET /", 0);
963+
graph.record_requests_per_second("GET /", 0);
964+
graph.record_requests_per_second("GET /", 0);
965+
graph.record_requests_per_second("GET /", 1);
966+
graph.record_requests_per_second("GET /", 2);
967+
graph.record_requests_per_second("GET /", 2);
968+
graph.record_requests_per_second("GET /", 2);
969+
graph.record_requests_per_second("GET /", 2);
970+
graph.record_requests_per_second("GET /", 2);
971971
assert_eq!(
972972
graph.requests_per_second.get("GET /").unwrap().data.len(),
973973
3
@@ -976,13 +976,13 @@ mod test {
976976
assert_eq!(graph.requests_per_second.get("GET /").unwrap().data[1], 1);
977977
assert_eq!(graph.requests_per_second.get("GET /").unwrap().data[2], 5);
978978

979-
graph.record_requests_per_second("GET /".to_string(), 100);
980-
graph.record_requests_per_second("GET /".to_string(), 100);
981-
graph.record_requests_per_second("GET /".to_string(), 100);
982-
graph.record_requests_per_second("GET /".to_string(), 0);
983-
graph.record_requests_per_second("GET /".to_string(), 1);
984-
graph.record_requests_per_second("GET /".to_string(), 2);
985-
graph.record_requests_per_second("GET /".to_string(), 5);
979+
graph.record_requests_per_second("GET /", 100);
980+
graph.record_requests_per_second("GET /", 100);
981+
graph.record_requests_per_second("GET /", 100);
982+
graph.record_requests_per_second("GET /", 0);
983+
graph.record_requests_per_second("GET /", 1);
984+
graph.record_requests_per_second("GET /", 2);
985+
graph.record_requests_per_second("GET /", 5);
986986
assert_eq!(
987987
graph.requests_per_second.get("GET /").unwrap().data.len(),
988988
101
@@ -1001,11 +1001,11 @@ mod test {
10011001
);
10021002
}
10031003

1004-
graph.record_requests_per_second("GET /user".to_string(), 0);
1005-
graph.record_requests_per_second("GET /user".to_string(), 1);
1006-
graph.record_requests_per_second("GET /user".to_string(), 1);
1007-
graph.record_requests_per_second("GET /".to_string(), 2);
1008-
graph.record_requests_per_second("GET /".to_string(), 5);
1004+
graph.record_requests_per_second("GET /user", 0);
1005+
graph.record_requests_per_second("GET /user", 1);
1006+
graph.record_requests_per_second("GET /user", 1);
1007+
graph.record_requests_per_second("GET /", 2);
1008+
graph.record_requests_per_second("GET /", 5);
10091009
assert_eq!(
10101010
graph
10111011
.requests_per_second
@@ -1042,11 +1042,11 @@ mod test {
10421042
);
10431043
}
10441044

1045-
graph.record_requests_per_second("GET /user".to_string(), 100);
1046-
graph.record_requests_per_second("GET /user".to_string(), 0);
1047-
graph.record_requests_per_second("GET /user".to_string(), 1);
1048-
graph.record_requests_per_second("GET /".to_string(), 0);
1049-
graph.record_requests_per_second("GET /".to_string(), 1);
1045+
graph.record_requests_per_second("GET /user", 100);
1046+
graph.record_requests_per_second("GET /user", 0);
1047+
graph.record_requests_per_second("GET /user", 1);
1048+
graph.record_requests_per_second("GET /", 0);
1049+
graph.record_requests_per_second("GET /", 1);
10501050
assert_eq!(
10511051
graph
10521052
.requests_per_second
@@ -1100,27 +1100,27 @@ mod test {
11001100
let mut graph = GraphData::new();
11011101
assert_eq!(graph.errors_per_second.len(), 0);
11021102

1103-
graph.record_errors_per_second("GET /".to_string(), 0);
1104-
graph.record_errors_per_second("GET /".to_string(), 0);
1105-
graph.record_errors_per_second("GET /".to_string(), 0);
1106-
graph.record_errors_per_second("GET /".to_string(), 1);
1107-
graph.record_errors_per_second("GET /".to_string(), 2);
1108-
graph.record_errors_per_second("GET /".to_string(), 2);
1109-
graph.record_errors_per_second("GET /".to_string(), 2);
1110-
graph.record_errors_per_second("GET /".to_string(), 2);
1111-
graph.record_errors_per_second("GET /".to_string(), 2);
1103+
graph.record_errors_per_second("GET /", 0);
1104+
graph.record_errors_per_second("GET /", 0);
1105+
graph.record_errors_per_second("GET /", 0);
1106+
graph.record_errors_per_second("GET /", 1);
1107+
graph.record_errors_per_second("GET /", 2);
1108+
graph.record_errors_per_second("GET /", 2);
1109+
graph.record_errors_per_second("GET /", 2);
1110+
graph.record_errors_per_second("GET /", 2);
1111+
graph.record_errors_per_second("GET /", 2);
11121112
assert_eq!(graph.errors_per_second.get("GET /").unwrap().data.len(), 3);
11131113
assert_eq!(graph.errors_per_second.get("GET /").unwrap().data[0], 3);
11141114
assert_eq!(graph.errors_per_second.get("GET /").unwrap().data[1], 1);
11151115
assert_eq!(graph.errors_per_second.get("GET /").unwrap().data[2], 5);
11161116

1117-
graph.record_errors_per_second("GET /".to_string(), 100);
1118-
graph.record_errors_per_second("GET /".to_string(), 100);
1119-
graph.record_errors_per_second("GET /".to_string(), 100);
1120-
graph.record_errors_per_second("GET /".to_string(), 0);
1121-
graph.record_errors_per_second("GET /".to_string(), 1);
1122-
graph.record_errors_per_second("GET /".to_string(), 2);
1123-
graph.record_errors_per_second("GET /".to_string(), 5);
1117+
graph.record_errors_per_second("GET /", 100);
1118+
graph.record_errors_per_second("GET /", 100);
1119+
graph.record_errors_per_second("GET /", 100);
1120+
graph.record_errors_per_second("GET /", 0);
1121+
graph.record_errors_per_second("GET /", 1);
1122+
graph.record_errors_per_second("GET /", 2);
1123+
graph.record_errors_per_second("GET /", 5);
11241124
assert_eq!(
11251125
graph.errors_per_second.get("GET /").unwrap().data.len(),
11261126
101

src/metrics.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -2462,7 +2462,7 @@ impl GooseAttack {
24622462
let key =
24632463
format!("{} {}", request_metric.raw.method, request_metric.name);
24642464
self.graph_data
2465-
.record_requests_per_second(key.clone(), seconds_since_start);
2465+
.record_requests_per_second(&key, seconds_since_start);
24662466
self.graph_data.record_average_response_time_per_second(
24672467
key.clone(),
24682468
seconds_since_start,
@@ -2471,7 +2471,7 @@ impl GooseAttack {
24712471

24722472
if !request_metric.success {
24732473
self.graph_data
2474-
.record_errors_per_second(key, seconds_since_start);
2474+
.record_errors_per_second(&key, seconds_since_start);
24752475
}
24762476
}
24772477
}

0 commit comments

Comments
 (0)