LabeledMetricType

public class LabeledMetricType<T>

This implements the developer facing API for labeled metrics.

Instances of this class type are automatically generated by the parsers at build time, allowing developers to record values that were previously registered in the metrics.yaml file.

Unlike most metric types, LabeledMetricType does not have its own corresponding storage engine, but records metrics for the underlying metric type T in the storage engine for that type. The only difference is that labeled metrics are stored with the special key $category.$name/$label.

  • The public constructor used by automatically generated metrics.

    Supports the following types as sub-metrics:

    Throws an exception when used with unsupported sub-metrics.

    Declaration

    Swift

    public init(
        category: String,
        name: String,
        sendInPings: [String],
        lifetime: Lifetime,
        disabled: Bool,
        subMetric: T,
        labels: [String]? = nil
    ) throws
  • Get the specific metric for a given label.

    If a set of acceptable labels was specified in the metrics.yaml file, and the given label is not in the set, it will be recorded under the special OTHER_LABEL.

    If a set of acceptable labels was not specified in the metrics.yaml file, only the first 16 unique labels will be used. After that, any additional labels will be recorded under the special OTHER_LABEL label.

    Labels must be snake_case and less than 30 characters. If an invalid label is used, the metric will be recorded in the special OTHER_LABEL label.

    Declaration

    Swift

    public subscript(label: String) -> T { get }

    Parameters

    label

    The label

    Return Value

    The specific metric for that label

  • Returns the number of errors recorded for the given metric.

    Declaration

    Swift

    public func testGetNumRecordedErrors(_ errorType: ErrorType) -> Int32

    Parameters

    errorType

    The type of the error recorded.

    Return Value

    the number of errors recorded for the metric.