Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mattyb149/c3120eeb2c249d91bad7 to your computer and use it in GitHub Desktop.
Save mattyb149/c3120eeb2c249d91bad7 to your computer and use it in GitHub Desktop.
Extension point script to dump runtime info
// Build up a usage map
stringList = _object_.transMeta.getStringList( true, true, false, true );
varMap = [:]
// Look around in the strings, see what we find...
stringList.each { result ->
def varList = []
parent = result.parentObject
org.pentaho.di.core.util.StringUtil.getUsedVariables( result.string, varList, false );
varList.each { var ->
if( !varMap[var] ) { varMap[var] = [] }
varMap[var] += [name: "$parent", type: "${parent.class.simpleName}"]
}
}
def builder = new groovy.json.JsonBuilder()
builder.execution {
time {
start _object_.endDate
end new Date()
}
arguments {
_object_.transMeta.arguments.each { var ->
"$var" "${_object_.getArgument(var)}"
}
}
variables {
_object_.transMeta.usedVariables.each { var ->
"$var" "${_object_.getVariable(var)}"
}
}
parameters {
_object_.listParameters().each { param ->
parameter (
name: "$param",
defaultValue: "${_object_.getParameterDefault(param)}",
description: "${_object_.getParameterDescription(param)}"
)
}
}
usages( varMap )
}
System.out.println builder.toPrettyString()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment