diff options
author | Tim Laszlo <tim.laszlo@gmail.com> | 2012-10-11 14:31:14 -0500 |
---|---|---|
committer | Tim Laszlo <tim.laszlo@gmail.com> | 2012-10-11 14:32:32 -0500 |
commit | 0b9a295dadcba6a79f5450db20fdf4b3cce27715 (patch) | |
tree | 38bcfa5568467d40b715da3446c6d56d7c949a5c /src/lib | |
parent | 6913192ccc90f3d4ff53cbb8a6146fb26f74c421 (diff) | |
download | bcfg2-0b9a295dadcba6a79f5450db20fdf4b3cce27715.tar.gz bcfg2-0b9a295dadcba6a79f5450db20fdf4b3cce27715.tar.bz2 bcfg2-0b9a295dadcba6a79f5450db20fdf4b3cce27715.zip |
Admin.Reports: Add database stats method
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/Bcfg2/Server/Admin/Reports.py | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/lib/Bcfg2/Server/Admin/Reports.py b/src/lib/Bcfg2/Server/Admin/Reports.py index dee56bed5..e4125c2f8 100644 --- a/src/lib/Bcfg2/Server/Admin/Reports.py +++ b/src/lib/Bcfg2/Server/Admin/Reports.py @@ -70,6 +70,7 @@ class Reports(Bcfg2.Server.Admin.Mode): " --days [n] Records older then n days\n" " --expired Expired clients only\n" " scrub Scrub the database for duplicate reasons and orphaned entries\n" + " stats print database statistics\n" " update Apply any updates to the reporting database\n" "\n" " Django commands:\n " \ @@ -94,6 +95,8 @@ class Reports(Bcfg2.Server.Admin.Mode): self.django_command_proxy(args[0]) elif args[0] == 'scrub': self.scrub() + elif args[0] == 'stats': + self.stats() elif args[0] in ['init', 'update', 'syncdb']: if self.setup['debug']: vrb = 2 @@ -258,5 +261,13 @@ class Reports(Bcfg2.Server.Admin.Mode): self.log.debug("Purging client %s" % client) Interaction.objects.filter(client=client).delete() client.delete() - self.log.debug("Pruning orphan Performance objects") - Performance.prune_orphans() + + def stats(self): + classes = (Client, Interaction, Performance, \ + FailureEntry, ActionEntry, PathEntry, PackageEntry, \ + ServiceEntry, Group, Bundle) + + for cls in classes: + print("%s has %s records" % (cls().__class__.__name__, + cls.objects.count())) + |