@@ -83,7 +83,6 @@ def __init__(self, output_dir: str, upload_manager: ObjectStorageManager, automa
8383 self .output_process_file = f"{ self .output_dir } /process/process_{ self .current_datetime .strftime ('%Y%m%d_%H%M%S_%f' )[:- 3 ]} .csv"
8484 self .output_fs_snapshot_file = f"{ self .output_dir } /filesystem_snapshot/filesystem_snapshot_{ self .current_datetime .strftime ('%Y%m%d_%H%M%S_%f' )[:- 3 ]} .csv"
8585 self .output_pagefault_file = f"{ self .output_dir } /pagefault/pagefault_{ self .current_datetime .strftime ('%Y%m%d_%H%M%S_%f' )[:- 3 ]} .csv"
86- self .output_io_uring_file = f"{ self .output_dir } /io_uring/io_uring_{ self .current_datetime .strftime ('%Y%m%d_%H%M%S_%f' )[:- 3 ]} .csv"
8786
8887 # Create output directories
8988 os .makedirs (f"{ self .output_dir } /system_spec" , exist_ok = True )
@@ -93,7 +92,6 @@ def __init__(self, output_dir: str, upload_manager: ObjectStorageManager, automa
9392 os .makedirs (f"{ self .output_dir } /process" , exist_ok = True )
9493 os .makedirs (f"{ self .output_dir } /filesystem_snapshot" , exist_ok = True )
9594 os .makedirs (f"{ self .output_dir } /pagefault" , exist_ok = True )
96- os .makedirs (f"{ self .output_dir } /io_uring" , exist_ok = True )
9795
9896 self .upload_manager = upload_manager
9997 self .automatic_upload = automatic_upload
@@ -105,7 +103,6 @@ def __init__(self, output_dir: str, upload_manager: ObjectStorageManager, automa
105103 self .process_buffer = deque ()
106104 self .fs_snap_buffer = deque ()
107105 self .pagefault_buffer = deque ()
108- self .io_uring_buffer = deque ()
109106
110107 # Event rate tracking
111108 self .event_timestamps = {
@@ -115,7 +112,6 @@ def __init__(self, output_dir: str, upload_manager: ObjectStorageManager, automa
115112 'fs_state' : deque (maxlen = 1000 ),
116113 'proc_state' : deque (maxlen = 1000 ),
117114 'pagefault' : deque (maxlen = 1000 ),
118- 'io_uring' : deque (maxlen = 1000 ),
119115 }
120116
121117 # Dynamic thresholds (min, max). Raised roughly 10x from the original
@@ -130,7 +126,6 @@ def __init__(self, output_dir: str, upload_manager: ObjectStorageManager, automa
130126 'fs_state' : (80000 , 200000 ),
131127 'proc_state' : (80000 , 100000 ),
132128 'pagefault' : (80000 , 400000 ),
133- 'io_uring' : (80000 , 400000 ),
134129 }
135130
136131 # Start adaptive sizing thread
@@ -152,7 +147,6 @@ def __init__(self, output_dir: str, upload_manager: ObjectStorageManager, automa
152147 self .process_max_events = 80000 # Large enough to fit entire hourly snapshot
153148 self .fs_snap_max_events = 80000
154149 self .pagefault_max_events = 80000
155- self .io_uring_max_events = 80000
156150
157151 # Per-stream locks. Buffer flushes are triggered both from the
158152 # perf-callback (polling) thread via append_*_log -> flush_*_only and
@@ -166,7 +160,6 @@ def __init__(self, output_dir: str, upload_manager: ObjectStorageManager, automa
166160 'process' : threading .Lock (),
167161 'fs_snap' : threading .Lock (),
168162 'pagefault' : threading .Lock (),
169- 'io_uring' : threading .Lock (),
170163 }
171164
172165 # File handles for each output
@@ -176,7 +169,6 @@ def __init__(self, output_dir: str, upload_manager: ObjectStorageManager, automa
176169 self ._process_handle = None
177170 self ._pagefault_handle = None
178171 self ._fs_snap_handle = None
179- self ._io_uring_handle = None
180172
181173 # Registry of the continuous event streams that support generic
182174 # rotation. Snapshots (process, fs_snap) are intentionally excluded:
@@ -188,7 +180,6 @@ def __init__(self, output_dir: str, upload_manager: ObjectStorageManager, automa
188180 'block' : {'subdir' : 'ds' , 'prefix' : 'ds' , 'buf' : 'block_buffer' , 'handle' : '_block_handle' , 'file' : 'output_block_file' , 'log' : 'Block' },
189181 'cache' : {'subdir' : 'cache' , 'prefix' : 'cache' , 'buf' : 'cache_buffer' , 'handle' : '_cache_handle' , 'file' : 'output_cache_file' , 'log' : 'Cache' },
190182 'pagefault' : {'subdir' : 'pagefault' , 'prefix' : 'pagefault' , 'buf' : 'pagefault_buffer' , 'handle' : '_pagefault_handle' , 'file' : 'output_pagefault_file' , 'log' : 'PageFault' },
191- 'io_uring' : {'subdir' : 'io_uring' , 'prefix' : 'io_uring' , 'buf' : 'io_uring_buffer' , 'handle' : '_io_uring_handle' , 'file' : 'output_io_uring_file' , 'log' : 'IO_Uring' },
192183 }
193184
194185 # Time/size based rotation so a slow stream's log doesn't wait until
@@ -247,7 +238,7 @@ def _adaptive_sizing(self):
247238 while True :
248239 time .sleep (10 )
249240
250- for event_type in ['vfs' , 'block' , 'cache' , 'fs_state' ,'proc_state' , 'pagefault' , 'io_uring' ]:
241+ for event_type in ['vfs' , 'block' , 'cache' , 'fs_state' ,'proc_state' , 'pagefault' ]:
251242 rate = self ._calculate_event_rate (event_type )
252243 min_limit , max_limit = self .dynamic_limits [event_type ]
253244
@@ -272,8 +263,6 @@ def _adaptive_sizing(self):
272263 self .process_max_events = new_limit
273264 elif event_type == 'pagefault' :
274265 self .pagefault_max_events = new_limit
275- elif event_type == 'io_uring' :
276- self .io_uring_max_events = new_limit
277266
278267 def _periodic_flush (self ):
279268 """
@@ -330,9 +319,6 @@ def _log_status(self):
330319 buffer_info .append (f"Cache:{ len (self .cache_buffer )} " )
331320 if len (self .pagefault_buffer ) > 0 :
332321 buffer_info .append (f"PgFault:{ len (self .pagefault_buffer )} " )
333- if len (self .io_uring_buffer ) > 0 :
334- buffer_info .append (f"IO_Uring:{ len (self .io_uring_buffer )} " )
335-
336322 if buffer_info :
337323 status_parts .append (f"Buffers: { ', ' .join (buffer_info )} " )
338324
@@ -391,10 +377,6 @@ def should_flush_pagefault(self) -> bool:
391377 """Check if pagefault buffer should be flushed."""
392378 return (len (self .pagefault_buffer ) >= self .pagefault_max_events )
393379
394- def should_flush_io_uring (self ) -> bool :
395- """Check if io_uring buffer should be flushed."""
396- return (len (self .io_uring_buffer ) >= self .io_uring_max_events )
397-
398380 def append_fs_snap_log (self , log_output : str ):
399381 """
400382 Add a filesystem snapshot log entry.
@@ -497,16 +479,6 @@ def append_pagefault_log(self, log_output: str):
497479 else :
498480 logger ("error" , "Invalid pagefault log output format. Expected a string." )
499481
500- def append_io_uring_log (self , log_output : str ):
501- """Add an io_uring event log entry."""
502- if isinstance (log_output , str ):
503- self .io_uring_buffer .append (log_output )
504- self .event_timestamps ['io_uring' ].append (time .time ())
505- if self .should_flush_io_uring ():
506- self .flush_io_uring_only ()
507- else :
508- logger ("error" , "Invalid io_uring log output format. Expected a string." )
509-
510482 def direct_write (self , output_path : str , spec_str : str ):
511483 """
512484 Write a system specification file directly.
@@ -708,10 +680,6 @@ def flush_pagefault_only(self):
708680 """Flush pagefault buffer to file (rotate + compress + upload)."""
709681 self ._rotate_stream ('pagefault' )
710682
711- def flush_io_uring_only (self ):
712- """Flush io_uring buffer to file (rotate + compress + upload)."""
713- self ._rotate_stream ('io_uring' )
714-
715683 def _rotate_stream (self , key : str ):
716684 """Rotate one continuous stream's current log and queue it for upload.
717685
@@ -827,7 +795,6 @@ def force_flush(self):
827795 self .fs_snap_buffer .clear ()
828796
829797 self .compress_log (self .output_pagefault_file )
830- self .compress_log (self .output_io_uring_file )
831798 self .compress_dir (self .output_dir )
832799
833800
@@ -840,7 +807,6 @@ def clear_events(self):
840807 self .process_buffer .clear ()
841808 self .fs_snap_buffer .clear ()
842809 self .pagefault_buffer .clear ()
843- self .io_uring_buffer .clear ()
844810
845811 def _write_buffer_to_file (self , buffer , file_handle , buffer_name : str ):
846812 """
@@ -915,13 +881,6 @@ def write_pagefault():
915881 self ._pagefault_handle = open (self .output_pagefault_file , 'a' , buffering = 8192 )
916882 self ._write_buffer_to_file (self .pagefault_buffer , self ._pagefault_handle , "PageFault" )
917883
918- def write_io_uring ():
919- with self ._stream_locks ['io_uring' ]:
920- if self .io_uring_buffer :
921- if self ._io_uring_handle is None :
922- self ._io_uring_handle = open (self .output_io_uring_file , 'a' , buffering = 8192 )
923- self ._write_buffer_to_file (self .io_uring_buffer , self ._io_uring_handle , "IO_Uring" )
924-
925884 threads = []
926885
927886 # Start parallel write threads for each buffer
@@ -955,11 +914,6 @@ def write_io_uring():
955914 threads .append (t7 )
956915 t7 .start ()
957916
958- if self .io_uring_buffer :
959- t13 = threading .Thread (target = write_io_uring )
960- threads .append (t13 )
961- t13 .start ()
962-
963917 # Wait for all threads to complete
964918 for thread in threads :
965919 thread .join ()
@@ -1032,7 +986,6 @@ def close_handles(self):
1032986 (self ._process_handle , "Process State" ),
1033987 (self ._fs_snap_handle , "Filesystem Snapshot" ),
1034988 (self ._pagefault_handle , "PageFault" ),
1035- (self ._io_uring_handle , "IO_Uring" ),
1036989 ]
1037990
1038991 for handle , name in handles :
@@ -1050,4 +1003,3 @@ def close_handles(self):
10501003 self ._process_handle = None
10511004 self ._fs_snap_handle = None
10521005 self ._pagefault_handle = None
1053- self ._io_uring_handle = None
0 commit comments