protected synchronized void writeMetricsInformation() throws KettleException { Preconditions.checkNotNull( log ); List<MetricsDuration> metricsList = MetricsUtil.getDuration( log.getLogChannelId(), Metrics.METRIC_PLUGIN_REGISTRY_REGISTER_EXTENSIONS_START ); if ( ( log.isDebug() ) && !metricsList.isEmpty() ) { log.logDebug( metricsList.get( 0 ).toString() ); MetricsUtil.getDuration( log.getLogChannelId(), Metrics.METRIC_PLUGIN_REGISTRY_PLUGIN_REGISTRATION_START ); if ( ( log != null ) && ( log.isDebug() ) && !metricsList.isEmpty() ) { log.logDebug( metricsList.get( 0 ).toString() ); MetricsUtil.getDuration( log.getLogChannelId(), Metrics.METRIC_PLUGIN_REGISTRY_PLUGIN_TYPE_REGISTRATION_START ); if ( ( log != null ) && ( log.isDebug() ) && metricsList != null && !metricsList.isEmpty() ) { for ( MetricsDuration duration : metricsList ) {