glean_parser/schemas/metrics.1-0-0.schema.yaml [259:329]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      version:
        title: Metric version
        description: |
          The version of the metric. A monotonically increasing value. If not
          provided, defaults to 0.

      time_unit:
        title: Time unit
        description: |
          For timespans and datetimes, specifies the unit that the metric will
          be stored and displayed in. If not provided, it defaults to
          "millisecond". Time values are sent to the backend as integers, so
          `time_unit`_ determines the maximum resolution at which timespans are
          recorded. Times are always truncated, not rounded, to the nearest time
          unit. For example, a measurement of 25 ns will be returned as 0 ms if
          `time_unit` is `"millisecond"`.

          For timing distributions, times are always recorded and sent in
          nanoseconds, but `time_unit` controls the minimum and maximum values.
          If not provided, it defaults to "nanosecond".

          - nanosecond: 1ns <= x <= 10 minutes
          - microsecond: 1μs <= x <= ~6.94 days
          - millisecond: 1ms <= x <= ~19 years

          Valid when `type`_ is `timespan`, `timing_distribution` or `datetime`.
        enum:
          - nanosecond
          - microsecond
          - millisecond
          - second
          - minute
          - hour
          - day

      memory_unit:
        title: Memory unit
        description: |
          The unit that the incoming memory size values are recorded in.

          The units are the power-of-2 units, so "kilobyte" is correctly a
          "kibibyte".

          - kilobyte == 2^10 ==         1,024 bytes
          - megabyte == 2^20 ==     1,048,576 bytes
          - gigabyte == 2^30 == 1,073,741,824 bytes

          Values are automatically converted to and transmitted as bytes.

          Valid when `type`_ is `memory_distribution`.
        enum:
          - byte
          - kilobyte
          - megabyte
          - gigabyte

      labels:
        title: Labels
        description: |
          A list of labels for a labeled metric.  If provided, the labels are
          enforced at run time, and recording to an unknown label is recorded
          to the special label `__other__`.  If not provided, the labels
          may be anything, but using too many unique labels will put some
          labels in the special label `__other__`.

          Valid with any of the labeled metric types.
        anyOf:
          - type: array
            uniqueItems: true
            items:
              $ref: "#/definitions/labeled_metric_id"
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



glean_parser/schemas/metrics.2-0-0.schema.yaml [307:377]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      version:
        title: Metric version
        description: |
          The version of the metric. A monotonically increasing value. If not
          provided, defaults to 0.

      time_unit:
        title: Time unit
        description: |
          For timespans and datetimes, specifies the unit that the metric will
          be stored and displayed in. If not provided, it defaults to
          "millisecond". Time values are sent to the backend as integers, so
          `time_unit`_ determines the maximum resolution at which timespans are
          recorded. Times are always truncated, not rounded, to the nearest time
          unit. For example, a measurement of 25 ns will be returned as 0 ms if
          `time_unit` is `"millisecond"`.

          For timing distributions, times are always recorded and sent in
          nanoseconds, but `time_unit` controls the minimum and maximum values.
          If not provided, it defaults to "nanosecond".

          - nanosecond: 1ns <= x <= 10 minutes
          - microsecond: 1μs <= x <= ~6.94 days
          - millisecond: 1ms <= x <= ~19 years

          Valid when `type`_ is `timespan`, `timing_distribution` or `datetime`.
        enum:
          - nanosecond
          - microsecond
          - millisecond
          - second
          - minute
          - hour
          - day

      memory_unit:
        title: Memory unit
        description: |
          The unit that the incoming memory size values are recorded in.

          The units are the power-of-2 units, so "kilobyte" is correctly a
          "kibibyte".

          - kilobyte == 2^10 ==         1,024 bytes
          - megabyte == 2^20 ==     1,048,576 bytes
          - gigabyte == 2^30 == 1,073,741,824 bytes

          Values are automatically converted to and transmitted as bytes.

          Valid when `type`_ is `memory_distribution`.
        enum:
          - byte
          - kilobyte
          - megabyte
          - gigabyte

      labels:
        title: Labels
        description: |
          A list of labels for a labeled metric.  If provided, the labels are
          enforced at run time, and recording to an unknown label is recorded
          to the special label `__other__`.  If not provided, the labels
          may be anything, but using too many unique labels will put some
          labels in the special label `__other__`.

          Valid with any of the labeled metric types.
        anyOf:
          - type: array
            uniqueItems: true
            items:
              $ref: "#/definitions/labeled_metric_id"
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



