5 #ifndef CVMFS_SWISSKNIFE_FILESTATS_H_
6 #define CVMFS_SWISSKNIFE_FILESTATS_H_
19 namespace swissknife {
25 bool CreateEmptyDatabase();
29 int64_t StoreCatalog(int64_t num_entries, int64_t file_size);
30 int64_t StoreFile(int64_t catalog_id, int64_t object_id);
31 int64_t StoreObject(
const void *hash,
int hash_size, int64_t
size);
32 int64_t StoreChunkedFile(int64_t catalog_id);
33 int64_t StoreChunk(
const void *hash,
int hash_size, int64_t size,
35 int64_t StoreSymlink(int64_t length);
36 void InitStatements();
37 void DestroyStatements();
58 virtual std::string
GetName()
const {
return "filestats"; }
60 return "CernVM File System repository statistics exporter.";
74 template<
class ObjectFetcherT>
75 bool Run(ObjectFetcherT *object_fetcher);
79 static void *MainProcessing(
void *data);
81 void ProcessCatalog(
string db_path);
86 #endif // CVMFS_SWISSKNIFE_FILESTATS_H_
static float kLatestSchema
const std::string & filename() const
std::vector< Parameter > ParameterList
sqlite::Sql * query_insert_file
Database(const std::string &filename, const OpenMode open_mode)
atomic_int32 num_downloaded_
virtual std::string GetDescription() const
pthread_t thread_processing_
virtual std::string GetName() const
FileStatsDatabase(const std::string &filename, const OpenMode open_mode)
static unsigned kLatestSchemaRevision
sqlite::Sql * query_lookup_object
sqlite::Sql * query_insert_catalog
std::map< char, SharedPtr< std::string > > ArgumentList
sqlite::Sql * query_insert_symlink
sqlite::Sql * query_insert_file_object
sqlite::Sql * query_insert_object