def process_csv()

in read_stall_retry/metrics_collector.py [0:0]


def process_csv(file: str, fs) -> Tuple[Optional[str], Optional[str], pd.DataFrame]:
    """Processes a single CSV file and extracts timestamps and data."""
    try:
        with fs.open(file, 'r') as f:
            df = pd.read_csv(f)
            if not df.empty:
                return df['Timestamp'].iloc[0], df['Timestamp'].iloc[-1], df
            else:
                return None, None, pd.DataFrame()
    except KeyError:
        logger.error(f"Error processing file {file}: Required columns 'Timestamp' not found.")
        return None, None, pd.DataFrame()
    except pd.errors.EmptyDataError:
        logger.warning(f"Empty data in file {file}.")
        return None, None, pd.DataFrame()
    except Exception as e:
        logger.error(f"Error processing file {file}: {e}")
        return None, None, pd.DataFrame()