Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F2905875
D4631.id14932.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
2 KB
Referenced Files
None
Subscribers
None
D4631.id14932.diff
View Options
diff --git a/services/commtest/tests/backup/backup_utils.rs b/services/commtest/tests/backup/backup_utils.rs
--- a/services/commtest/tests/backup/backup_utils.rs
+++ b/services/commtest/tests/backup/backup_utils.rs
@@ -6,6 +6,7 @@
// stands for both, backup and log items
#[allow(dead_code)]
+#[derive(Clone)]
pub struct Item {
pub id: String,
pub chunks_sizes: Vec<usize>,
@@ -28,6 +29,7 @@
}
#[allow(dead_code)]
+#[derive(Clone)]
pub struct BackupData {
pub user_id: String,
pub device_id: String,
diff --git a/services/commtest/tests/backup_performance_test.rs b/services/commtest/tests/backup_performance_test.rs
--- a/services/commtest/tests/backup_performance_test.rs
+++ b/services/commtest/tests/backup_performance_test.rs
@@ -1,7 +1,64 @@
+#[path = "./backup/backup_utils.rs"]
+mod backup_utils;
#[path = "./lib/tools.rs"]
mod tools;
+use bytesize::ByteSize;
+use std::env;
+
+use tools::Error;
+
+use backup_utils::{BackupData, Item};
+
#[tokio::test]
-async fn backup_performance_test() {
- assert!(false, "not implemented");
+async fn backup_performance_test() -> Result<(), Error> {
+ let number_of_threads_str: String =
+ env::var("COMM_NUMBER_OF_THREADS").unwrap();
+
+ let number_of_threads_str: String =
+ env::var("COMM_NUMBER_OF_THREADS").unwrap();
+ let number_of_threads = if number_of_threads_str.is_empty() {
+ num_cpus::get()
+ } else {
+ number_of_threads_str.parse::<usize>().unwrap()
+ };
+
+ println!(
+ "Running performance tests for backup, number of threads: {}",
+ number_of_threads
+ );
+
+ let mut backup_data = vec![];
+
+ for i in 0..number_of_threads {
+ backup_data.push(BackupData {
+ user_id: format!("user{}", i),
+ device_id: format!("device{}", i),
+ backup_item: Item::new(
+ String::new(),
+ vec![ByteSize::mib(1).as_u64() as usize; 3 + (i % 5)],
+ (0..(i % 5)).map(|x| format!("holder{}", x)).collect(),
+ ),
+ log_items: (0..(i % 4))
+ .map(|x| {
+ Item::new(
+ String::new(),
+ vec![ByteSize::mib(1).as_u64() as usize; 2 + (x % 2)],
+ (0..(i % 5)).map(|x| format!("holder{}-{}", i, x)).collect(),
+ )
+ })
+ .collect(),
+ });
+ }
+
+ tokio::task::spawn_blocking(move || {
+ // CREATE NEW BACKUP
+ // SEND LOG
+ // ADD ATTACHMENTS
+ // PULL BACKUP
+ })
+ .await
+ .expect("Task panicked");
+
+ Ok(())
}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Mon, Oct 7, 8:39 AM (22 h, 9 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2252902
Default Alt Text
D4631.id14932.diff (2 KB)
Attached To
Mode
D4631: [services] Tests - Backup - Initialize performance tests
Attached
Detach File
Event Timeline
Log In to Comment