caffeine_query_language/generator

Types

Represents a single named query for TimeSlice formulas.

pub type NamedQuery {
  NamedQuery(name: String, query: String)
}

Constructors

  • NamedQuery(name: String, query: String)

Resolved SLO with HCL blocks ready for terraform generation.

pub type ResolvedSloHcl {
  ResolvedSloHcl(slo_type: SloType, blocks: List(hcl.Block))
}

Constructors

Represents a resolved SLO query, either GoodOverTotal or TimeSlice.

pub type ResolvedSloQuery {
  ResolvedGoodOverTotal(numerator: String, denominator: String)
  ResolvedTimeSlice(
    comparator: String,
    interval_seconds: Int,
    threshold: Float,
    formula_expression: String,
    queries: List(NamedQuery),
  )
}

Constructors

  • ResolvedGoodOverTotal(numerator: String, denominator: String)
  • ResolvedTimeSlice(
      comparator: String,
      interval_seconds: Int,
      threshold: Float,
      formula_expression: String,
      queries: List(NamedQuery),
    )

    Arguments

    formula_expression

    The formula expression (e.g., “build_time + deploy_time”)

    queries

    List of named queries referenced by the formula

Represents the SLO type for Datadog terraform generation.

pub type SloType {
  MetricSlo
  TimeSliceSlo
}

Constructors

  • MetricSlo
  • TimeSliceSlo

Values

pub fn exp_to_string(exp: parser.Exp) -> String

Converts an expression AST node to its string representation.

pub fn resolve_slo_query(
  value_expr: String,
  substitutions: dict.Dict(String, String),
) -> #(String, String)

Parse a value expression, resolve to GoodOverTotal primitive, substitute words, and return the numerator and denominator as strings. Panics if parsing or resolution fails.

pub fn resolve_slo_query_typed(
  value_expr: String,
  substitutions: dict.Dict(String, String),
) -> Result(ResolvedSloQuery, String)

Parse a value expression, resolve to primitive, substitute words, and return the resolved SLO query type.

pub fn resolve_slo_to_hcl(
  value_expr: String,
  substitutions: dict.Dict(String, String),
) -> Result(ResolvedSloHcl, String)

Parse a value expression, resolve to primitive, substitute words, and return HCL blocks ready for Datadog terraform generation.

Search Document