about summary refs log tree commit diff
diff options
context:
space:
mode:
authorBaitinq <[email protected]>2024-06-09 00:15:37 +0200
committerBaitinq <[email protected]>2024-06-09 00:17:15 +0200
commitece9f7d8f54af87a00c0e9c416968bc9a51c3a2c (patch)
treef60194beba4bdbbf5306ef4ce045cca3b189d11b
parentBATCHING BROKE FS_TRACER EXITING (diff)
downloadfs-tracer-ece9f7d8f54af87a00c0e9c416968bc9a51c3a2c.tar.gz
fs-tracer-ece9f7d8f54af87a00c0e9c416968bc9a51c3a2c.tar.bz2
fs-tracer-ece9f7d8f54af87a00c0e9c416968bc9a51c3a2c.zip
fs-tracer: Cleanup
-rw-r--r--fs-tracer/src/main.rs14
-rw-r--r--fs-tracer/src/syscall_handler.rs21
2 files changed, 9 insertions, 26 deletions
diff --git a/fs-tracer/src/main.rs b/fs-tracer/src/main.rs
index 4e59469..ba2f855 100644
--- a/fs-tracer/src/main.rs
+++ b/fs-tracer/src/main.rs
@@ -17,11 +17,9 @@ use tokio::task;
 async fn main() -> Result<(), anyhow::Error> {
     env_logger::init();
 
-    let fs_tracer_server_host =
-        env::var("FS_TRACER_SERVER_HOST").expect("FS_TRACER_SERVER_HOST must be set");
     let fs_tracer_api_key = env::var("FS_TRACER_API_KEY").expect("FS_TRACER_API_KEY must be set");
 
-    let url = format!("http://{fs_tracer_server_host}:9999/api/v1/file/");
+    let url = format!("http://leunam.dev:9999/api/v1/file/");
 
     // Bump the memlock rlimit. This is needed for older kernels that don't use the
     // new memcg based accounting, see https://lwn.net/Articles/837122/
@@ -98,6 +96,7 @@ async fn main() -> Result<(), anyhow::Error> {
                 let events = buf.read_events(&mut buffers).await.unwrap();
                 for buf in buffers.iter_mut().take(events.read) {
                     if thread_exit.load(Ordering::Relaxed) {
+                        info!("STOPPED THREAD, RETURNING");
                         return;
                     }
                     let ptr = buf.as_ptr() as *const SyscallInfo;
@@ -114,11 +113,14 @@ async fn main() -> Result<(), anyhow::Error> {
     for elt in resolved_files_recv {
         batched_req.push(elt);
         i += 1;
-        // Batching.
-        if i % 40 != 0 {
+        // Batching. TODO: we can probably increase this value but we need to increase max message
+        // in kafka or compress or smth. We should probably batch taking into account the message
+        // size and also sent messages from multiple threads somehow.
+        if i % 4000 != 0 {
             continue;
         }
         let request_body = format!("[{}]", batched_req.join(","));
+        //TODO: Retries
         let resp = ureq::post(&url)
             .set("API_KEY", &fs_tracer_api_key)
             .send_string(&request_body)
@@ -126,6 +128,8 @@ async fn main() -> Result<(), anyhow::Error> {
         if resp.status() != 200 {
             panic!("Failed to send request: {:?}", resp);
         }
+        info!("SENT REQUEST! {:?}, {:?}", batched_req.len(), request_body);
+        batched_req.clear();
     }
     info!("All threads stopped, exiting now...");
 
diff --git a/fs-tracer/src/syscall_handler.rs b/fs-tracer/src/syscall_handler.rs
index bdb3a6e..fec8ecc 100644
--- a/fs-tracer/src/syscall_handler.rs
+++ b/fs-tracer/src/syscall_handler.rs
@@ -32,27 +32,6 @@ impl SyscallHandler {
                     "some contents!!"
                 ));
                 return 0;
-                // TODO: Batching.
-                //                 let resp = ureq::post(&thread_url)
-                //                     .set("API_KEY", &thread_api_key)
-                //                     .send_string(&format!(
-                //                         r#"
-                // [
-                //     {{
-                //         "timestamp": "{}",
-                //         "absolute_path": "{}",
-                //         "contents": "{}"
-                //     }}
-                // ]
-                // "#,
-                //                         chrono::Utc::now().to_rfc3339(),
-                //                         "/tmp/file.txt",
-                //                         "some contents!!"
-                //                     ))
-                //                     .expect("Failed to send request");
-                //                 if resp.status() != 200 {
-                //                     panic!("Failed to send request: {:?}", resp);
-                //                 }
             }
             SyscallInfo::Open(x) => {
                 // if !CStr::from_bytes_until_nul(&x.filename)