Add more information and an example to the README
This commit is contained in:
parent
7752f8f2d3
commit
cbc6e1b035
1 changed files with 45 additions and 0 deletions
45
README
45
README
|
|
@ -2,3 +2,48 @@
|
|||
|
||||
This Guile library provides instrumentation code intended to be used
|
||||
with the Prometheus time series service.
|
||||
|
||||
Counter, gauge and histogram metric types are supported.
|
||||
|
||||
This client library is still in early development, and there will be
|
||||
probably be breaking changes in the future, prior to the first stable
|
||||
release.
|
||||
|
||||
Some information on how to use this library can be found in the
|
||||
docstrings of exported procedures in the prometheus.scm file.
|
||||
|
||||
** Web service example
|
||||
|
||||
The following example demonstrates a Guile web server, with some
|
||||
instrumentation for the number of requests. Each time a request is
|
||||
handled, the metric is instrumented. For the /metrics path, the
|
||||
response is the metrics and their values. This is intended to be
|
||||
scraped by Prometheus so that it can retrieve and record the metric
|
||||
values.
|
||||
|
||||
#+BEGIN_SRC scheme
|
||||
(use-modules (web server)
|
||||
(web request)
|
||||
(web response)
|
||||
(web uri)
|
||||
(prometheus))
|
||||
|
||||
(define my-registry (make-metrics-registry #:namespace "exampleapp"))
|
||||
|
||||
(define request-counter (make-counter-metric my-registry
|
||||
"requests_count"))
|
||||
|
||||
(define (request-handler request body)
|
||||
(metric-increment request-counter)
|
||||
|
||||
(if (equal? (split-and-decode-uri-path (uri-path (request-uri request)))
|
||||
'("metrics"))
|
||||
(values '((content-type . (text/plain)))
|
||||
(lambda (port)
|
||||
(write-metrics my-registry port)))
|
||||
(values '((content-type . (text/plain)))
|
||||
(lambda (port)
|
||||
(display "Incrementing metric\n" port)))))
|
||||
|
||||
(run-server request-handler)
|
||||
#+END_SRC
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue