func testPhotoUploadPerformance() {
	let app = XCUIApplication()
	measure(metrics: [XCTClockMetric(),
					XCTMemoryMetric(application: app),
					XCTCPUMetric(application: app)]) {
					app.buttons["Apply Effect"].tap()
					app.dialogs["alert"].buttons["OK"].tap()
		}
}

func testApplicationLaunchTime() {
	measure(metrics: [XCTOSSignpostMetric.applicationLaunch]) {
		XCUIApplication().launch()
	}
}

import MetricKit

class MySubscriber: NSObject, MXMetricManagerSubscriber {
	
	var metricManager: MXMetricManager?

	override init() {
		super.init()
		
		metricManager = MXMetricManager.shared

		metricManager?.add(self)
	}

	deinit {
		metricManager?.remove(self)
	}

	func didReceive(_ payload: [MXMetricPayload]) {
		for metricPayload in payload {
			// Metric 데이터 처리
			// 여기서 데이터를 파일로 저장하거나 서버로 업로드 하거나 할 수 있다.
		}
	}
}

// logHandle 만들기
let photosLogHandle: OSLog = 
MXMetricManager.makeLogHandle(category: "Photos")

// 실제 코드 사이에 mxSignPost를 넣기
mxSignPost(.begin, log: photosLogHandle, name: "SavePhoto")

savePhoto()

mxSignPost(.end, logL photosLogHandle, name: "SavePhoto")