caffeine_lang/types/ast

Types

A BasicType represents a fundamental data type with a name and type.

pub type BasicType {
  BasicType(
    attribute_name: String,
    attribute_type: accepted_types.AcceptedTypes,
  )
}

Constructors

An organization represents the union of instantiations and specifications.

pub type Organization {
  Organization(
    teams: List(Team),
    service_definitions: List(Service),
  )
}

Constructors

  • Organization(
      teams: List(Team),
      service_definitions: List(Service),
    )
pub type QueryTemplateType {
  QueryTemplateType(
    specification_of_query_templates: List(BasicType),
    name: String,
  )
}

Constructors

  • QueryTemplateType(
      specification_of_query_templates: List(BasicType),
      name: String,
    )

A service is a named entity that supports a set of SLO types.

pub type Service {
  Service(name: String, supported_sli_types: List(SliType))
}

Constructors

  • Service(name: String, supported_sli_types: List(SliType))

A SliType is a named entity that represents the generic (as possible) definition of an SLI that references a query template.

pub type SliType {
  SliType(
    name: String,
    query_template_type: QueryTemplateType,
    typed_instatiation_of_query_templates: generic_dictionary.GenericDictionary,
    specification_of_query_templatized_variables: List(BasicType),
  )
}

Constructors

An SLO is an expectation set by stakeholders upon a metric emulating the user experience as best as possible.

pub type Slo {
  Slo(
    typed_instatiation_of_query_templatized_variables: generic_dictionary.GenericDictionary,
    threshold: Float,
    sli_type: String,
    service_name: String,
    window_in_days: Int,
  )
}

Constructors

A SpecificationOfMetrics is a list of expected metric filters by name and type.

pub type SpecificationOfMetrics =
  List(BasicType)

A SpecificationOfQueryTemplates is a list of expected basic types by name and type.

pub type SpecificationOfQueryTemplates =
  List(BasicType)

A team is a named entity that owns a set of SLOs.

pub type Team {
  Team(name: String, slos: List(Slo))
}

Constructors

  • Team(name: String, slos: List(Slo))

A TypedInstantiationOfMetrics is a dictionary of metric names to their typed instantiations.

pub type TypedInstantiationOfMetrics =
  generic_dictionary.GenericDictionary

A TypedInstantiationOfQueryTemplates is a dictionary of query template names to their typed instantiations.

pub type TypedInstantiationOfQueryTemplates =
  generic_dictionary.GenericDictionary
Search Document