GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • client_python
  • GitHub
  • Instrumenting
  • Counter
  • Gauge
  • Summary
  • Histogram
  • Info
  • Enum
  • Labels
  • Exemplars
  • Collector
  • Custom Collectors
  • Exporting

This view

  • Original page
  • New address

GeezerVison is showing prometheus.github.io — client_python

  1. client_python
Edit page

client_python

This tutorial shows the quickest way to get started with the Prometheus Python library.

One: Install the client:

pip install prometheus-client

Two: Paste the following into a Python interpreter:

from prometheus_client import start_http_server, Summary
import random
import time

# Create a metric to track time spent and requests made.
REQUEST_TIME = Summary('request_processing_seconds', 'Time spent processing request')

# Decorate function with metric.
@REQUEST_TIME.time()
def process_request(t):
    """A dummy function that takes some time."""
    time.sleep(t)

if __name__ == '__main__':
    # Start up the server to expose the metrics.
    start_http_server(8000)
    # Generate some requests.
    while True:
        process_request(random.random())

Three: Visit http://localhost:8000/ to view the metrics.

From one easy to use decorator you get:

  • request_processing_seconds_count: Number of times this function was called.
  • request_processing_seconds_sum: Total amount of time spent in this function.

Prometheus’s rate function allows calculation of both requests per second, and latency over time from this data.

In addition if you’re on Linux the process metrics expose CPU, memory and other information about the process for free!

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.