{"library":"pyformance","title":"Pyformance","description":"Pyformance is a Python library for performance metrics, inspired by Coda Hale's Yammer metrics (now Dropwizard Metrics). It provides various metric types like Counters, Timers, Gauges, and Histograms, along with different reporters (e.g., Console, Graphite). The current version is 0.4, released in 2016. The project is no longer actively maintained.","language":"python","status":"abandoned","last_verified":"Thu Apr 16","install":{"commands":["pip install pyformance"],"cli":null},"imports":["from pyformance.registry import MetricRegistry","from pyformance.meters import Counter","from pyformance.meters import Timer","from pyformance.meters import Gauge"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import time\nfrom pyformance import registry, meters, reporters\n\n# 1. Initialize a MetricRegistry\nmetrics = registry.MetricRegistry()\n\n# 2. Create and use a Counter\nrequest_counter = metrics.get_or_create_metric('app.requests.total', meters.Counter)\nrequest_counter.inc() # Increment by 1\nrequest_counter.inc(5) # Increment by 5\n\n# 3. Create and use a Timer\nprocessing_timer = metrics.get_or_create_metric('app.processing_time', meters.Timer)\nwith processing_timer.time():\n    time.sleep(0.05) # Simulate some work\n\n# 4. Create and use a Gauge (custom implementation for dynamic values)\nclass QueueSizeGauge(meters.Gauge):\n    def __init__(self, queue_list):\n        super().__init__()\n        self._queue_list = queue_list\n    def get_value(self):\n        return len(self._queue_list)\n\nmy_queue_data = [1, 2, 3, 4, 5]\nmetrics.add_metric('app.queue.size', QueueSizeGauge(my_queue_data))\n\n# 5. Report metrics (e.g., to console)\nconsole_reporter = reporters.ConsoleReporter()\nconsole_reporter.add_metric_registry(metrics)\nprint(\"\\n--- Pyformance Metrics Report ---\")\nconsole_reporter.report()\nprint(\"---------------------------------\")","lang":"python","description":"This quickstart demonstrates how to initialize a MetricRegistry, create and interact with common metric types (Counter, Timer, Gauge), and report their values using the ConsoleReporter.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}