Code Duplication    Length = 25-32 lines in 2 locations

plumd/plugins/readers/redis.py 1 location

@@ 144-175 (lines=32) @@
141
        self.calc = Differential()
142
143
144
    def poll(self):
145
        """Query Redis for metrics.
146
147
        :rtype: ResultSet
148
        """
149
        result = plumd.Result("redis")
150
151
        stats = self.get_metrics()
152
        ts = time.time()
153
        name = self.name
154
155
        # record gauges
156
        for stat in self.gauges:
157
            if stat in stats:
158
                mname = "{0}.{1}".format(name, stat)
159
                result.add(plumd.Float(mname, stats[stat]))
160
161
        # record rates
162
        for stat in self.rates:
163
            if stat in stats:
164
                mname = "{0}.{1}".format(name, stat)
165
                mval = self.calc.per_second(mname, float(stats[stat]), ts)
166
                result.add(plumd.Float(mname, mval))
167
168
        # replication
169
        if "slave0" in stats:
170
            self.record_slave(stats, result)
171
172
        # record db metrics
173
        self.record_keys(stats, result)
174
175
        return plumd.ResultSet([result])
176
177
178
    def record_keys(self, stats, result):

plumd/plugins/readers/memcache.py 1 location

@@ 121-145 (lines=25) @@
118
        self.calc = Differential()
119
120
121
    def poll(self):
122
        """Query memcache for stats.
123
124
        :rtype: ResultSet
125
        """
126
        result = plumd.Result("memcache")
127
128
        name = self.name
129
        stats = self.get_stats()
130
        ts = time.time()
131
132
        # record gauges
133
        for stat in self.gauges:
134
            if stat in stats:
135
                mname = "{0}.{1}".format(name, stat)
136
                result.add(plumd.Float(mname, stats[stat]))
137
138
        # record rates
139
        for stat in self.rates:
140
            if stat in stats:
141
                mname = "{0}.{1}".format(name, stat)
142
                mval = self.calc.per_second(mname, float(stats[stat]), ts)
143
                result.add(plumd.Float(mname, mval))
144
145
        return plumd.ResultSet([result])
146
147
148
    def get_stats(self):