about summary refs log tree commit diff
diff options
context:
space:
mode:
authorBaitinq <[email protected]>2024-07-21 13:33:54 +0200
committerBaitinq <[email protected]>2024-07-21 13:33:54 +0200
commit6de2921c87bd09ce73909bb47d910d4f7a932b4e (patch)
treee015f764b7354b4e2fdfad00dffdbd2c5b5be887
parentMisc: Add TODO (diff)
downloadfs-tracer-6de2921c87bd09ce73909bb47d910d4f7a932b4e.tar.gz
fs-tracer-6de2921c87bd09ce73909bb47d910d4f7a932b4e.tar.bz2
fs-tracer-6de2921c87bd09ce73909bb47d910d4f7a932b4e.zip
fs-tracer: properly serialize file contents and path to json
-rw-r--r--fs-tracer/Cargo.toml2
-rw-r--r--fs-tracer/src/syscall_handler.rs10
2 files changed, 8 insertions, 4 deletions
diff --git a/fs-tracer/Cargo.toml b/fs-tracer/Cargo.toml
index 8b104d5..c6ff8d2 100644
--- a/fs-tracer/Cargo.toml
+++ b/fs-tracer/Cargo.toml
@@ -20,6 +20,8 @@ futures = "0.3.30"
 chrono = "0.4.38"
 crossbeam-channel = "0.5.13"
 delay_map = "0.3.0"
+serde = { version = "1.0", features = ["derive"] }
+serde_json = "1.0"
 
 [[bin]]
 name = "fs-tracer"
diff --git a/fs-tracer/src/syscall_handler.rs b/fs-tracer/src/syscall_handler.rs
index ef1d42f..3fa77b4 100644
--- a/fs-tracer/src/syscall_handler.rs
+++ b/fs-tracer/src/syscall_handler.rs
@@ -42,17 +42,19 @@ impl SyscallHandler {
             .to_str()
             .unwrap_or_default();
         println!("WRITE KERNEL: DATA {:?}", write_syscall);
+        let serialized_filename = serde_json::to_string(&filename).unwrap();
+        let serialized_contents = serde_json::to_string(&contents).unwrap();
         let _ = self.resolved_files.send(format!(
             r#"
                 {{
                     "timestamp": "{}",
-                    "absolute_path": "{}",
-                    "contents": "{}"
+                    "absolute_path": {},
+                    "contents": {}
                 }}
                 "#,
             chrono::Utc::now().to_rfc3339(),
-            filename,
-            contents,
+            serialized_filename,
+            serialized_contents,
         ));
         Ok(())
     }