in src/main/kotlin/com/uber/nanoscope/Main.kt [245:288]
override fun run() {
val usage = "usage: nanoscope open <tracefile> [--sample-data=example.txt] [--state-data=example2.txt]"
if (args.isEmpty()) {
println(usage);
exitProcess(1)
}
val inFile = File(args[0])
if (!inFile.exists()) {
println("File does not exist: $inFile")
exitProcess(1)
}
var sampleFile = File(args[0] + ".timer")
var stateFile = File(args[0] + ".state")
for ((index, arg) in args.withIndex()){
if(index != 0){
val parts = arg.split('=')
if (parts.size != 2) {
println(usage)
exitProcess(1)
}
if (parts[0] == "--sample-data") {
sampleFile = File(parts[1]);
if (!sampleFile.exists()) {
println("File does not exist: $sampleFile")
exitProcess(1)
}
} else if (parts[0] == "--state-data"){
stateFile = File(parts[1]);
if (!stateFile.exists()) {
println("File does not exist: $stateFile")
exitProcess(1)
}
} else {
println(usage)
exitProcess(1)
}
}
}
Nanoscope.openTrace(inFile, sampleFile, stateFile)
}