Gentoo Archives: gentoo-commits

From: "André Erdmann" <dywi@×××××××.de>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/R_overlay:master commit in: roverlay/stats/, roverlay/overlay/
Date: Tue, 30 Jul 2013 18:40:33
Message-Id: 1375200567.34630b84c18176e658c5a7c8f60df27616191ea2.dywi@gentoo
1 commit: 34630b84c18176e658c5a7c8f60df27616191ea2
2 Author: André Erdmann <dywi <AT> mailerd <DOT> de>
3 AuthorDate: Tue Jul 30 16:09:27 2013 +0000
4 Commit: André Erdmann <dywi <AT> mailerd <DOT> de>
5 CommitDate: Tue Jul 30 16:09:27 2013 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=34630b84
7
8 stats collection: count dropped packages
9
10 * count dropped packages (package info rejected by overlay.add)
11 * use heartbeat/step from config
12 * don't create daily stats
13
14 ---
15 roverlay/overlay/creator.py | 2 ++
16 roverlay/stats/base.py | 3 ++-
17 roverlay/stats/collector.py | 8 +++++---
18 roverlay/stats/rrd.py | 24 ++++++++++--------------
19 4 files changed, 19 insertions(+), 18 deletions(-)
20
21 diff --git a/roverlay/overlay/creator.py b/roverlay/overlay/creator.py
22 index 0666335..c21617e 100644
23 --- a/roverlay/overlay/creator.py
24 +++ b/roverlay/overlay/creator.py
25 @@ -134,6 +134,8 @@ class OverlayCreator ( object ):
26 )
27 self._pkg_queue.put ( ejob )
28 self.stats.pkg_queued.inc()
29 + else:
30 + self.stats.pkg_dropped.inc()
31 else:
32 # else filtered out
33 self.stats.pkg_filtered.inc()
34
35 diff --git a/roverlay/stats/base.py b/roverlay/stats/base.py
36 index b93b6b8..b51226e 100644
37 --- a/roverlay/stats/base.py
38 +++ b/roverlay/stats/base.py
39 @@ -66,13 +66,14 @@ class OverlayCreationStats ( OverlayCreationWorkerStats ):
40 DESCRIPTION = "overlay creation"
41
42 _MEMBERS = (
43 - ( 'creation_time', 'pkg_queued', 'pkg_filtered', )
44 + ( 'creation_time', 'pkg_queued', 'pkg_filtered', 'pkg_dropped', )
45 + OverlayCreationWorkerStats._MEMBERS
46 )
47
48 def __init__ ( self ):
49 super ( OverlayCreationStats, self ).__init__()
50 self.pkg_queued = abstract.Counter ( "queued" )
51 + self.pkg_dropped = abstract.Counter ( "dropped" )
52 self.pkg_filtered = abstract.Counter ( "filtered" )
53 self.creation_time = abstract.TimeStats ( "ebuild creation" )
54 # --- end of __init__ (...) ---
55
56 diff --git a/roverlay/stats/collector.py b/roverlay/stats/collector.py
57 index 30b0e76..85eb358 100644
58 --- a/roverlay/stats/collector.py
59 +++ b/roverlay/stats/collector.py
60 @@ -80,7 +80,9 @@ class StatsCollector ( abstract.RoverlayStatsBase ):
61
62 self.db_collector = dbcollector.StatsDBCollector ( self )
63 self._database = rrd.StatsDB (
64 - conf.get_or_fail ( "RRD_DB.file" ), self.db_collector
65 + filepath = conf.get_or_fail ( 'RRD_DB.file' ),
66 + collector = self.db_collector,
67 + step = conf.get_or_fail ( 'RRD_DB.step' ),
68 )
69 self._database.create_if_missing()
70 # --- end of setup_database (...) ---
71 @@ -101,11 +103,11 @@ class StatsCollector ( abstract.RoverlayStatsBase ):
72 return str ( visualize.CreationStatsVisualizer ( self ) )
73 # --- end of to_creation_str (...) ---
74
75 - def write_db ( self ):
76 + def write_database ( self ):
77 self.db_collector.update()
78 self._database.update()
79 self._database.commit()
80 - # --- end of write_db (...) ---
81 + # --- end of write_database (...) ---
82
83 # --- end of StatsCollector ---
84
85
86 diff --git a/roverlay/stats/rrd.py b/roverlay/stats/rrd.py
87 index 66da434..2f9cce3 100644
88 --- a/roverlay/stats/rrd.py
89 +++ b/roverlay/stats/rrd.py
90 @@ -13,18 +13,15 @@ from roverlay.db.rrdtool import RRDVariable, RRDArchive
91
92 class StatsDB ( roverlay.db.rrdtool.RRD ):
93
94 - # default step
95 - STEP = 300
96 -
97 - def __init__ ( self, filepath, collector, step=None ):
98 + def __init__ ( self, filepath, collector, step ):
99 + super ( StatsDB, self ).__init__ ( filepath )
100 # COULDFIX:
101 # vars / RRA creation is only necessary when creating a new database
102 #
103 self.collector = collector
104 + self.step = int ( step )
105 self.rrd_vars = self.make_vars()
106 self.rrd_archives = self.make_rra()
107 - self.step = step if step is not None else self.__class__.STEP
108 - super ( StatsDB, self ).__init__ ( filepath )
109 # --- end of __init__ (...) ---
110
111 def _do_create ( self, filepath ):
112 @@ -33,11 +30,9 @@ class StatsDB ( roverlay.db.rrdtool.RRD ):
113 'create', filepath,
114 '--start', str ( self.INIT_TIME ),
115 '--step', str ( self.step ),
116 - ) + tuple (
117 - v.get_key() for v in self.rrd_vars
118 - ) + tuple (
119 - v.get_key() for v in self.rrd_archives
120 )
121 + + tuple ( v.get_key() for v in self.rrd_vars )
122 + + tuple ( v.get_key() for v in self.rrd_archives )
123 )
124 # --- end of _do_create (...) ---
125
126 @@ -46,17 +41,18 @@ class StatsDB ( roverlay.db.rrdtool.RRD ):
127 # --- end of update (...) ---
128
129 def make_vars ( self ):
130 + heartbeat = 2 * self.step
131 return tuple (
132 - RRDVariable ( k, 'DERIVE', val_max=0 )
133 + RRDVariable ( k, 'DERIVE', val_max=0, heartbeat=heartbeat )
134 for k in self.collector.NUMSTATS_KEYS
135 )
136 # --- end of make_vars (...) ---
137
138 def make_rra ( self ):
139 return (
140 - RRDArchive.new_day ( 'LAST', 0.7 ),
141 - RRDArchive.new_week ( 'AVERAGE', 0.7 ),
142 - RRDArchive.new_month ( 'AVERAGE', 0.7 ),
143 + #RRDArchive.new_day ( 'LAST', 0.7, step=self.step ),
144 + RRDArchive.new_week ( 'AVERAGE', 0.7, step=self.step ),
145 + RRDArchive.new_month ( 'AVERAGE', 0.7, step=self.step ),
146 )
147 # --- end of make_rra (...) ---