///|
fn main raise {
  let registry = @prometheus.Registry::new()
  let requests = @prometheus.Counter::new(
    "http_requests_total",
    help="Total HTTP requests",
  )
  let in_flight = @prometheus.Gauge::new(
    "in_flight_requests",
    help="Requests currently being served",
  )
  let latency = @prometheus.Histogram::new(
    "http_request_duration_seconds",
    [0.01, 0.05, 0.1, 0.5, 1.0],
    help="HTTP request latency",
    unit="seconds",
  )
  let build = @prometheus.BuildInfoCollector::new("0.1.0")

  registry.register_counter(requests)
  registry.register_gauge(in_flight)
  registry.register_histogram(latency)
  ignore(registry.register_collector(build.collector()))

  in_flight.inc()
  requests.inc()
  latency.observe(0.042)
  in_flight.dec()

  println(@prometheus.encode(registry))
}