override fun run()

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)
    }