DatetimeMetricType

public class DatetimeMetricType

This implements the developer facing API for recording datetime 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.

The datetime API only exposes the DatetimeMetricType.set(_:) method, which takes care of validating the input data and making sure that limits are enforced.

  • The public constructor used by automatically generated metrics.

    Declaration

    Swift

    public init(
        category: String,
        name: String,
        sendInPings: [String],
        lifetime: Lifetime,
        disabled: Bool,
        timeUnit: TimeUnit = .minute
    )
  • Set a datetime value, truncating it to the metric’s resolution.

    Declaration

    Swift

    public func set(_ value: Date = Date())

    Parameters

    value

    The [Date] value to set. If not provided, will record the current time.

  • Tests whether a value is stored for the metric for testing purposes only. This function will attempt to await the last task (if any) writing to the the metric’s storage engine before returning a value.

    Declaration

    Swift

    public func testHasValue(_ pingName: String? = nil) -> Bool

    Parameters

    pingName

    represents the name of the ping to retrieve the metric for. Defaults to the first value in sendInPings.

    Return Value

    true if metric value exists, otherwise false

  • Returns the string representation of the stored value for testing purposes only. This function will attempt to await the last task (if any) writing to the the metric’s storage engine before returning a value.

    Throws a Missing value exception if no value is stored

    Declaration

    Swift

    public func testGetValueAsString(_ pingName: String? = nil) throws -> String

    Parameters

    pingName

    represents the name of the ping to retrieve the metric for. Defaults to the first value in sendInPings.

    Return Value

    value of the stored metric

  • Returns the stored value for testing purposes only. This function will attempt to await the last task (if any) writing to the the metric’s storage engine before returning a value.

    Throws a Missing value exception if no value is stored

    Declaration

    Swift

    public func testGetValue(_ pingName: String? = nil) throws -> Date

    Parameters

    pingName

    represents the name of the ping to retrieve the metric for. Defaults to the first value in sendInPings.

    Return Value

    value of the stored metric

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

    Declaration

    Swift

    public func testGetNumRecordedErrors(_ errorType: ErrorType, pingName: String? = nil) -> Int32

    Parameters

    errorType

    The type of error recorded.

    pingName

    represents the name of the ping to retrieve the metric for. Defaults to the first value in sendInPings.

    Return Value

    The number of errors recorded for the metric for the given error type.