コード例 #1
0
def oops_saved(report=None, context=None):
    """A service has OOPSed."""
    meter = get_meter(scope='service')
    meter.meter('oops_saved')
    if report and 'id' in report:
        return [report['id']]
    return []
コード例 #2
0
def oops_saved(report=None, context=None):
    """A service has OOPSed."""
    meter = get_meter(scope='service')
    meter.meter('oops_saved')
    if report and 'id' in report:
        return [report['id']]
    return []
コード例 #3
0
 def __init__(self, service, interval, servername=None):
     self.service = service
     if servername is None:
         self.servername = socket.gethostname()
     else:
         self.servername = servername
     self.interval = interval
     self.next_loop = None
     self._get_reactor_stats = report_reactor_stats()
     self.metrics = metrics.get_meter("stats")
コード例 #4
0
 def __init__(self, reactor_call, loop_time=3):
     self.running = False
     self.stopped = False
     self.queue = Queue.Queue()
     self.reactor_call = reactor_call
     self.loop_time = loop_time
     self.metrics = metrics.get_meter("reactor_inspector")
     self.last_responsive_ts = 0
     self.reactor_thread = None
     super(ReactorInspector, self).__init__()
     self.daemon = True
コード例 #5
0
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# For further info, check  http://launchpad.net/magicicada-server

"""Metric services."""

from __future__ import unicode_literals

from metrics import get_meter

try:
    from versioninfo import version_info
except ImportError:
    version_info = {"revno": "Undefined"}

meter = get_meter("service")


def revno():
    """Trigger a service revision number update."""
    meter.gauge("revno", version_info["revno"])
コード例 #6
0
 def test_meters_revno_with_gauge_meter(self):
     """The service is able to meter a revision by gauge meter."""
     service_meter = get_meter('service')
     with patch.object(service_meter, 'gauge') as gauge:
         revno()
         gauge.assert_called_with('revno', version_info['revno'])
コード例 #7
0
def revno():
    """Trigger a service revision number update."""
    meter = get_meter(scope='service')
    meter.gauge('revno', version_info['revno'])
コード例 #8
0
 def startFactory(self):
     """Start any other stuff we need."""
     logger.info("listening on %d -> %s:%d",
                 self.listen_port, self.host, self.port)
     self.metrics = metrics.get_meter("ssl-proxy")
     self.metrics.meter("server_start", 1)
コード例 #9
0
def revno():
    """Trigger a service revision number update."""
    meter = get_meter(scope='service')
    meter.gauge('revno', version_info['revno'])
コード例 #10
0
 def test_repeated_same_namespace(self):
     meter1 = metrics.get_meter("same_namespace")
     meter2 = metrics.get_meter("same_namespace")
     self.assertIs(meter1, meter2)
コード例 #11
0
 def test_simple(self):
     meter = metrics.get_meter("namespace")
     self.assertIsInstance(meter, metrics.FileBasedMeter)
コード例 #12
0
 def test_repeated_different_namespace(self):
     meter1 = metrics.get_meter("a_namespace")
     meter2 = metrics.get_meter("other_namespace")
     self.assertIsNot(meter1, meter2)