AdvancedCpuUsage.fromJson constructor

AdvancedCpuUsage.fromJson(
  1. Map<String, dynamic> json
)

Implementation

factory AdvancedCpuUsage.fromJson(Map<String, dynamic> json) {
  final timestamp = (json['timestamp'] as num?)?.toDouble() ??
      DateTime.now().millisecondsSinceEpoch / 1000.0;

  final timestampDate = DateTime.fromMillisecondsSinceEpoch(
    (timestamp * 1000).toInt(),
  );

  return AdvancedCpuUsage(
    usage: (json['usage'] as num?)?.toDouble() ?? 0.0,
    userTime: (json['userTime'] as num?)?.toDouble() ?? 0.0,
    systemTime: (json['systemTime'] as num?)?.toDouble() ?? 0.0,
    threadDetails: json['threadDetails'] != null
        ? (json['threadDetails'] as List)
            .map((thread) =>
                ThreadDetail.fromJson(thread as Map<String, dynamic>))
            .toList()
        : [],
    detailedCoreUsages: json['detailedCoreUsages'] != null
        ? (json['detailedCoreUsages'] as List)
            .map((core) => CoreUsage.fromJson(core as Map<String, dynamic>))
            .toList()
        : [],
    totalThreadCount: (json['totalThreadCount'] as num?)?.toInt() ?? 0,
    timestamp: timestamp,
    timestampDate: timestampDate,
  );
}