#pragma once #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; size_t file_segment_size; bool read_from_cache_attempted; String read_buffer_id; std::shared_ptr profile_counters; static std::string name() { return "FilesystemCacheLog"; } static NamesAndTypesList getNamesAndTypes(); static NamesAndAliases getNamesAndAliases() { return {}; } void appendToBlock(MutableColumns & columns) const; static const char * getCustomColumnList() { return nullptr; } }; class FilesystemCacheLog : public SystemLog { using SystemLog::SystemLog; }; }