Browse Source

Add Signposts EventMonitor.

Jon Shier 7 years ago
parent
commit
34361a1773
1 changed files with 27 additions and 1 deletions
  1. 27 1
      Source/EventMonitor.swift

+ 27 - 1
Source/EventMonitor.swift

@@ -614,7 +614,7 @@ open class ClosureEventMonitor: EventMonitor {
     /// Closure called on the `request(_:didParseResponse:)` event, casting the generic serialized object to `Any`.
     open var requestDidParseAnyDownloadResponse: ((DownloadRequest, DownloadResponse<Any>) -> Void)?
 
-    open let queue: DispatchQueue
+    public let queue: DispatchQueue
 
     public init(queue: DispatchQueue = .main) {
         self.queue = queue
@@ -799,3 +799,29 @@ open class ClosureEventMonitor: EventMonitor {
         requestDidParseAnyDownloadResponse?(request, response as! DownloadResponse<Any>)
     }
 }
+
+import os.log
+import os.signpost
+
+@available(iOS 12.0, macOS 10.14, *)
+public final class AlamofireSignposts: EventMonitor {
+    let log = OSLog(subsystem: "org.alamofire", category: "Alamofire")
+    
+    public init() { }
+    
+    public func requestDidResume(_ request: Request) {
+        let id = OSSignpostID(log: log, object: request)
+        os_log("Resume", log: log, type: .default)
+        os_log("Other resume.")
+        os_signpost(type: .begin, log: log, name: "Alamofire", signpostID: id)
+//        os_signpost(.begin, log: log, name: "Alamofire Request", signpostID: id, "Request")
+    }
+    
+    public func requestDidFinish(_ request: Request) {
+        let id = OSSignpostID(log: log, object: request)
+        os_log("Finish", log: log, type: .default)
+        os_log("Other finish.")
+        os_signpost(type: .end, log: log, name: "Alamofire", signpostID: id)
+//        os_signpost(.end, log: log, name: "Alamofire Request", signpostID: id, "Request")
+    }
+}