#pragma once #include #include #include #include #include #include #include #include namespace DB { /// /// -------- Column --------- Type ------ /// | event_date | DateTime | /// | event_time | UInt64 | /// | query_id | String | /// | remote_file_path | String | /// | segment_range | Tuple | /// | read_type | String | /// ------------------------------------- /// 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{}; 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; }; }