Disk ARchive  2.7.14
Full featured and portable backup and archiving tool
Public Member Functions | Private Member Functions | Private Attributes | List of all members
libdar::statistics Class Reference

class used by libdar::archive class to give a summary of treated file during and after an operation More...

#include <statistics.hpp>

+ Collaboration diagram for libdar::statistics:

Public Member Functions

 statistics (bool lock=true)
 constructor More...
 
 statistics (const statistics &ref)
 copy constructor
 
 statistics (statistics &&ref)
 move constructor
 
statisticsoperator= (const statistics &ref)
 copy assignement
 
statisticsoperator= (statistics &&ref) noexcept
 move assignement
 
 ~statistics ()
 destructor
 
void clear ()
 reset counters to zero
 
infinint total () const
 total number of file treated
 
void incr_treated ()
 increment by one the treated counter
 
void incr_hard_links ()
 increment by one the hard_links counter
 
void incr_skipped ()
 increment by one the skipped counter
 
void incr_inode_only ()
 increment by one the inode_only counter
 
void incr_ignored ()
 increment by one the ignored counter
 
void incr_tooold ()
 increment by one the tooold counter
 
void incr_errored ()
 increment by one the errored counter
 
void incr_deleted ()
 increment by one the deleted counter
 
void incr_ea_treated ()
 increment by one the ea_treated counter
 
void incr_fsa_treated ()
 increment by one the fsa treated counter
 
void add_to_ignored (const infinint &val)
 increment the ignored counter by a given value
 
void add_to_errored (const infinint &val)
 increment the errored counter by a given value
 
void add_to_deleted (const infinint &val)
 increment the deleted counter by a given value
 
void add_to_byte_amount (const infinint &val)
 increment the byte amount counter by a given value
 
void sub_from_treated (const infinint &val)
 substract value from the treated counter
 
void sub_from_ea_treated (const infinint &val)
 substract value to the ea_treated counter
 
void sub_from_hard_links (const infinint &val)
 substract value to the hard_links counter
 
void sub_from_fsa_treated (const infinint &val)
 substract value to the fsa_treated counter
 
infinint get_treated () const
 returns the current value of the treated counter
 
infinint get_hard_links () const
 returns the current value of the hard_links counter
 
infinint get_skipped () const
 returns the current value of the skipped counter
 
infinint get_inode_only () const
 returns the current value of the inode_only counter
 
infinint get_ignored () const
 returns the current value of the ignored counter
 
infinint get_tooold () const
 returns the current value of the tooold counter
 
infinint get_errored () const
 returns the current value of the errored counter
 
infinint get_deleted () const
 returns the current value of the deleted counter
 
infinint get_ea_treated () const
 returns the current value of the ea_treated counter
 
infinint get_byte_amount () const
 returns the current value of the byte_amount counter
 
infinint get_fsa_treated () const
 returns the current value of the fsa_treated counter
 
std::string get_treated_str () const
 returns the current value of the treated counter as a std::string
 
std::string get_hard_links_str () const
 returns the current value of the hard_links counter as a std::string;
 
std::string get_skipped_str () const
 returns the current value of the skipped counter as a std::string
 
std::string get_inode_only_str () const
 returns the current value of the inode_only counter as a std::string
 
std::string get_ignored_str () const
 returns the current value of the ignored counter as a std::string
 
std::string get_tooold_str () const
 returns the current value of the tooold counter as a std::string
 
std::string get_errored_str () const
 returns the current value of the errored counter as a std::string
 
std::string get_deleted_str () const
 returns the current value of the deleted counter as a std::string
 
std::string get_ea_treated_str () const
 returns the current value of the ea_treated counter as a std::string
 
std::string get_byte_amount_str () const
 returns the current value of the byte_amount counter as a std::string
 
std::string get_fsa_treated_str () const
 returns the current value of the fsa_treated counter as a std::string
 
void decr_treated ()
 decrement by one the treated counter
 
void decr_hard_links ()
 decrement by one the hard_links counter
 
void decr_skipped ()
 decrement by one the skipped counter
 
void decr_inode_only ()
 decrement by one the inode_only counter
 
void decr_ignored ()
 decrement by one the ignored counter
 
void decr_tooold ()
 decrement by one the toold counter
 
void decr_errored ()
 decrement by one the errored counter
 
void decr_deleted ()
 decrement by one the deleted counter
 
void decr_ea_treated ()
 decrement by one the ea_treated counter
 
void decr_fsa_treated ()
 decrement by one the fsa_treated counter
 
void set_byte_amount (const infinint &val)
 set to the given value the byte_amount counter
 
void dump (user_interaction &dialog) const
 debuging method
 

Private Member Functions

void increment_locked (infinint *var)
 
void increment_unlocked (infinint *var)
 
void add_to_locked (infinint *var, const infinint &val)
 
void add_to_unlocked (infinint *var, const infinint &val)
 
infinint returned_locked (const infinint *var) const
 
infinint returned_unlocked (const infinint *var) const
 
void decrement_locked (infinint *var)
 
void decrement_unlocked (infinint *var)
 
void set_to_locked (infinint *var, const infinint &val)
 
void set_to_unlocked (infinint *var, const infinint &val)
 
void sub_from_unlocked (infinint *var, const infinint &val)
 
void sub_from_locked (infinint *var, const infinint &val)
 
void init (bool lock)
 set locking & mutex
 
void detruit ()
 release and free the mutex
 
void copy_from (const statistics &ref)
 reset mutex and copy data from the object of reference
 
void move_from (statistics &&ref) noexcept
 used by to implement move related operations
 

Private Attributes

bool locking
 whether we use locking or not
 
infinint treated
 number of inode treated (saved, restored, etc.) [all operations]
 
infinint hard_links
 number of hard linked inodes treated (including those ignored by filters)
 
infinint skipped
 files not changed since last backup / file not restored because not saved in backup
 
infinint inode_only
 files which operation only affected inode metadata not its data
 
infinint ignored
 ignored files due to filters
 
infinint tooold
 ignored files because less recent than the filesystem entry [restoration] / modfied during backup
 
infinint errored
 files that could not be saved / files that could not be restored (filesystem access right)
 
infinint deleted
 deleted file seen / number of files deleted during the operation [restoration]
 
infinint ea_treated
 number of EA saved / number of EA restored
 
infinint byte_amount
 auxilliary counter, holds the wasted bytes due to repeat on change feature for example.
 
infinint fsa_treated
 number of FSA saved / number of FSA restored
 
void(statistics::* increment )(infinint *var)
 generic method for incrementing a variable
 
void(statistics::* add_to )(infinint *var, const infinint &val)
 generic method for add a value to a variable
 
infinint(statistics::* returned )(const infinint *var) const
 generic method for obtaining the value of a variable
 
void(statistics::* decrement )(infinint *var)
 generic method for decrementing a variable
 
void(statistics::* set_to )(infinint *var, const infinint &val)
 generic method for setting a variable to a given value
 
void(statistics::* sub_from )(infinint *var, const infinint &val)
 generic method for substracting to a variable
 

Detailed Description

class used by libdar::archive class to give a summary of treated file during and after an operation

the different fields are used for backup, restoration and other operation their meaning changes a bit depending on the operation. Some operation may not use all fields. To have a detailed view of what fields get used and what are their meaning see the archive class constructor and methods documentation

Definition at line 69 of file statistics.hpp.

Constructor & Destructor Documentation

◆ statistics()

libdar::statistics::statistics ( bool  lock = true)
inline

constructor

Parameters
[in]lockwhether to use mutex to manipulate (read or write) variables of that object
Note
using a statistics object built without lock (false given as argument to the constructor) may lead to application crash if several threads are accessing at the same object at the same time when at least one thread is modifying this object, unless you really know what you are doing, it is better to always use the default value for this constructor or to explicitely give "true" as argument.

Definition at line 79 of file statistics.hpp.

References clear(), and init().


The documentation for this class was generated from the following file: