// // ThreadExtension.swift // GuruAnalyticsLib // // Created by 袁仕崇 on 17/02/23. // import Foundation extension Thread { var threadName: String { if isMainThread { return "main" } else if let threadName = Thread.current.name, !threadName.isEmpty { return threadName } else { return description } } var queueName: String { if let queueName = String(validatingUTF8: __dispatch_queue_get_label(nil)) { return queueName } else if let operationQueueName = OperationQueue.current?.name, !operationQueueName.isEmpty { return operationQueueName } else if let dispatchQueueName = OperationQueue.current?.underlyingQueue?.label, !dispatchQueueName.isEmpty { return dispatchQueueName } else { return "n/a" } } }