///|
fn main {
  let series = [
    @model.Series::new(
      "http_requests_total",
      @model.LabelSet::new([("job", "api"), ("instance", "api-1")]),
      [
        { timestamp: 0.0, value: 10.0, },
        { timestamp: 60000.0, value: 20.0, },
        { timestamp: 120000.0, value: 35.0, },
      ],
    ),
  ]
  let context = @eval.EvalContext::new(series, 120000.0)
  let result = @eval.query("rate(http_requests_total[2m])", context) catch {
    error => {
      println("query failed: \{error}")
      return
    }
  }
  println(result.to_string())
}