Sources/XCMetricsBackendLib/UploadMetrics/LogProcessing/MetricsProcessor.swift (20 lines of code) (raw):
import Foundation
import Vapor
struct MetricsProcessor {
static func process(metricsRequest: UploadMetricsRequest,
logFile: LogFile,
redactUserData: Bool) throws -> BuildMetrics {
let machineName = redactUserData ? metricsRequest.extraInfo.machineName.md5() : metricsRequest.extraInfo.machineName
let userId = redactUserData ? metricsRequest.extraInfo.user.md5() : metricsRequest.extraInfo.user
let userIdSHA256 = metricsRequest.extraInfo.user.sha256()
let isCI = metricsRequest.extraInfo.isCI
return try LogParser.parseFromURL(
logFile.localURL,
metricsRequest: metricsRequest,
machineName: machineName,
userId: userId,
userIdSHA256: userIdSHA256,
isCI: isCI
)
}
}