NumberDataPoint.fromJson constructor

NumberDataPoint.fromJson(
  1. Map<String, dynamic> j
)

Implementation

factory NumberDataPoint.fromJson(Map<String, dynamic> j) {
  // OTLP/JSON may use asDouble, asInt, asUint.
  num _parseValue(Map<String, dynamic> m) {
    if (m.containsKey('asDouble')) return m['asDouble'] as num;
    if (m.containsKey('asInt')) return int.parse(m['asInt'].toString());
    if (m.containsKey('asUint')) return int.parse(m['asUint'].toString());
    return 0;
  }

  return NumberDataPoint(
    startTimeUnixNano: int.parse(j['startTimeUnixNano'].toString()),
    timeUnixNano: int.parse(j['timeUnixNano'].toString()),
    value: _parseValue(j),
    attributes: (j['attributes'] as List<dynamic>? ?? [])
        .cast<Map<String, dynamic>>()
        .map(Attribute.fromJson)
        .toList(),
  );
}