Automattic\WooCommerce\Internal\CLI\Migrator\Core
ProductsController::log_session_time_metrics
Log session time metrics using session-specific data.
Method of the class: ProductsController{}
No Hooks.
Returns
null. Nothing (null).
Usage
// private - for code of main (parent) class only $result = $this->log_session_time_metrics( $final_stats ): void;
- $final_stats(array) (required)
- Final migration statistics.
ProductsController::log_session_time_metrics() ProductsController::log session time metrics code WC 10.7.0
private function log_session_time_metrics( array $final_stats ): void {
$session_products = $final_stats['total_imported'] ?? 0;
if ( empty( $session_products ) ) {
return;
}
if ( empty( $this->session_start_time ) ) {
return;
}
$session_duration_seconds = time() - $this->session_start_time;
$platform = $this->parsed_args['platform'];
$avg_time_per_product = $session_duration_seconds / $session_products;
$session_time_formatted = human_time_diff( 0, $session_duration_seconds );
$avg_time_formatted = number_format( $avg_time_per_product, 2 );
$platform_display_name = $this->platform_registry->get_platform_display_name( $platform );
$metrics_message = sprintf(
'Session completed for %s: %d products in %s (avg: %s seconds per product)',
$platform_display_name,
$session_products,
$session_time_formatted,
$avg_time_formatted
);
wc_get_logger()->info( $metrics_message, array( 'source' => 'wc-migrator' ) );
}