Skip to main content
Example scripts
arrow icon
To homepage
Jira
Data centre icon
Data Center

A console script viewing filesystem performance of your local and shared home directories.

Created 1 year ago, Updated 5 month(s) ago
App in script
ScriptRunner For Jira
ScriptRunner For Jira
by Adaptavist
Compatibility
compatibility bullet
Jira (8.0 - 8.19)
compatibility bullet
ScriptRunner For Jira (7.10.0)
Language |
groovy
import com.onresolve.scriptrunner.canned.util.OutputFormatter
import com.onresolve.scriptrunner.runner.ScriptRunnerImpl
import com.onresolve.scriptrunner.runner.diag.ClusterHomeLocatorService

import java.util.concurrent.TimeUnit

def file = new File(System.getProperty("java.io.tmpdir"), 'support-tools.jar')

if (!file.exists()) {
    def toolsUrl = 'https://confluence.atlassian.com/jirakb/files/54362304/54591494/3/1444177154112/support-tools.jar'
    new URL(toolsUrl).openConnection().with { conn ->
        file.withOutputStream { out ->
            conn.inputStream.with { inp ->
                out << inp
                inp.close()
            }
        }
    }
}

def clusterHomeLocatorService = ScriptRunnerImpl.scriptRunner.getBean(ClusterHomeLocatorService)

def javaHome = System.getProperty('java.home')

def runBenchmarkInDir = { File workdir ->
    def sout = new StringBuilder()
    def serr = new StringBuilder()
    def proc = "${javaHome}/bin/java -jar ${file.absolutePath}".execute([], workdir)
    proc.consumeProcessOutput(sout, serr)
    proc.waitForOrKill(TimeUnit.SECONDS.toMillis(20))
    sout
}

OutputFormatter.markupBuilder {
    div {
        h2("Disk speed in local home directory: ${clusterHomeLocatorService.homeDir}")
        pre(runBenchmarkInDir(clusterHomeLocatorService.homeDir))
        if (clusterHomeLocatorService.homeDir != clusterHomeLocatorService.sharedHomeDir) {
            h2("Disk speed in shared home directory: ${clusterHomeLocatorService.sharedHomeDir}")
            pre(runBenchmarkInDir(clusterHomeLocatorService.sharedHomeDir))
        } else {
            p('Your shared home directory is the same as your local home directory.')
        }
    }
}
Having an issue with this script?
Report it here