Skip to content
This repository was archived by the owner on Jul 11, 2021. It is now read-only.

Commit 1534b44

Browse files
committed
Merge branch 'statistics'
2 parents c666093 + ae8e966 commit 1534b44

5 files changed

Lines changed: 528 additions & 41 deletions

File tree

redisql_lib/src/lib.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,5 @@ pub mod redis;
88
pub mod redis_type;
99
pub mod redisql_error;
1010
pub mod sqlite;
11+
pub mod statistics;
1112
pub mod virtual_tables;

redisql_lib/src/redis.rs

Lines changed: 50 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ use community_statement::MultiStatement;
2929

3030
use sqlite as sql;
3131

32+
use statistics::STATISTICS;
33+
3234
#[derive(Clone)]
3335
pub struct ReplicationBook {
3436
data: Arc<RwLock<FnvHashMap<String, (MultiStatement, bool)>>>,
@@ -817,6 +819,10 @@ pub fn listen_and_execute<'a, L: 'a + LoopData>(
817819
|_| {
818820
let result =
819821
do_execute(&loopdata.get_db(), query);
822+
match result {
823+
Ok(_) => STATISTICS.exec_ok(),
824+
Err(_) => STATISTICS.exec_err(),
825+
}
820826
return_value(&client, result);
821827
},
822828
);
@@ -833,6 +839,20 @@ pub fn listen_and_execute<'a, L: 'a + LoopData>(
833839
|_| {
834840
let result =
835841
do_query(&loopdata.get_db(), query);
842+
match (&return_method, &result) {
843+
(ReturnMethod::Reply, Ok(_)) => {
844+
STATISTICS.query_ok()
845+
}
846+
(ReturnMethod::Reply, Err(_)) => {
847+
STATISTICS.query_err()
848+
}
849+
(ReturnMethod::Stream { .. }, Ok(_)) => {
850+
STATISTICS.query_into_ok()
851+
}
852+
(ReturnMethod::Stream { .. }, Err(_)) => {
853+
STATISTICS.query_into_err()
854+
}
855+
};
836856
return_value_v2(
837857
&client,
838858
&return_method,
@@ -853,6 +873,10 @@ pub fn listen_and_execute<'a, L: 'a + LoopData>(
853873
let result = loopdata
854874
.get_replication_book()
855875
.update_statement(identifier, statement);
876+
match result {
877+
Ok(_) => STATISTICS.update_statement_ok(),
878+
Err(_) => STATISTICS.update_statement_err(),
879+
};
856880
return_value(&client, result)
857881
}
858882
Ok(Command::DeleteStatement { identifier, client }) => {
@@ -863,7 +887,10 @@ pub fn listen_and_execute<'a, L: 'a + LoopData>(
863887
let result = loopdata
864888
.get_replication_book()
865889
.delete_statement(identifier);
866-
890+
match result {
891+
Ok(_) => STATISTICS.delete_statement_ok(),
892+
Err(_) => STATISTICS.delete_statement_err(),
893+
}
867894
return_value(&client, result);
868895
}
869896
Ok(Command::CompileStatement {
@@ -878,6 +905,10 @@ pub fn listen_and_execute<'a, L: 'a + LoopData>(
878905
let result = loopdata
879906
.get_replication_book()
880907
.insert_new_statement(identifier, statement);
908+
match result {
909+
Ok(_) => STATISTICS.create_statement_ok(),
910+
Err(_) => STATISTICS.create_statement_err(),
911+
}
881912
return_value(&client, result);
882913
}
883914

@@ -896,6 +927,10 @@ pub fn listen_and_execute<'a, L: 'a + LoopData>(
896927
let result = loopdata
897928
.get_replication_book()
898929
.exec_statement(identifier, &arguments);
930+
match result {
931+
Ok(_) => STATISTICS.exec_statement_ok(),
932+
Err(_) => STATISTICS.exec_statement_err(),
933+
}
899934
return_value(&client, result);
900935
},
901936
);
@@ -915,6 +950,20 @@ pub fn listen_and_execute<'a, L: 'a + LoopData>(
915950
identifier,
916951
arguments.as_slice(),
917952
);
953+
match (&return_method, &result) {
954+
(ReturnMethod::Reply, Ok(_)) => {
955+
STATISTICS.query_statement_ok()
956+
}
957+
(ReturnMethod::Reply, Err(_)) => {
958+
STATISTICS.query_statement_err()
959+
}
960+
(ReturnMethod::Stream { .. }, Ok(_)) => {
961+
STATISTICS.query_statement_into_ok()
962+
}
963+
(ReturnMethod::Stream { .. }, Err(_)) => {
964+
STATISTICS.query_statement_into_err()
965+
}
966+
};
918967
return_value_v2(
919968
&client,
920969
&return_method,

0 commit comments

Comments
 (0)