#pragma once #include #include #include #include #include #include #include #include #include namespace DB { struct FilesystemCacheLogElement { enum class CacheType { READ_FROM_CACHE, READ_FROM_FS_AND_DOWNLOADED_TO_CACHE, READ_FROM_FS_BYPASSING_CACHE, WRITE_THROUGH_CACHE, }; time_t event_time{}; String query_id; String source_file_path; std::pair file_segment_range{}; std::pair requested_range{}; CacheType cache_type{}; std::string file_segment_key{}; size_t file_segment_offset = 0; size_t file_segment_size = 0; bool read_from_cache_attempted; String read_buffer_id{}; std::shared_ptr profile_counters = nullptr; static std::string name() { return "FilesystemCacheLog"; } static ColumnsDescription getColumnsDescription(); static NamesAndAliases getNamesAndAliases() { return {}; } void appendToBlock(MutableColumns & columns) const; }; class FilesystemCacheLog : public SystemLog { using SystemLog::SystemLog; }; }