mirror of
https://github.com/openzfs/zfs.git
synced 2025-08-24 20:23:57 +00:00

When reviewing test output after a failure, it's often quite difficult to work out the order and timing of events, and to correlate test suite output with kernel logs. This adds timestamps to ZTS output to help with this, in three places: - all of the standard log_XXX functions ultimately end up in _printline, which now prefixes output with a timestamp. An escape hatch environment variable is provided for user_cmd, which often calls the logging functions while also depending on the captured output. - the test runner logging function log() also now prefixes its output with a timestamp. - on failure, when capturing the kernel log in zfs_dmesg.ksh, the "iso" time format is requested. Sponsored-by: Klara, Inc. Sponsored-by: Wasabi Technology, Inc. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Tino Reichardt <milky-zfs@mcmilk.de> Signed-off-by: Rob Norris <rob.norris@klarasystems.com> Closes #17045
38 lines
1.2 KiB
Bash
Executable File
38 lines
1.2 KiB
Bash
Executable File
#!/bin/ksh -p
|
|
# SPDX-License-Identifier: CDDL-1.0
|
|
|
|
#
|
|
# This file and its contents are supplied under the terms of the
|
|
# Common Development and Distribution License ("CDDL"), version 1.0.
|
|
# You may only use this file in accordance with the terms of version
|
|
# 1.0 of the CDDL.
|
|
#
|
|
# A full copy of the text of the CDDL should have accompanied this
|
|
# source. A copy of the CDDL is also available via the Internet at
|
|
# http://www.illumos.org/license/CDDL.
|
|
#
|
|
|
|
#
|
|
# Copyright (c) 2016 by Delphix. All rights reserved.
|
|
# Copyright (c) 2017 Lawrence Livermore National Security, LLC.
|
|
# Copyright (c) 2025, Klara, Inc.
|
|
#
|
|
|
|
# $1: number of lines to output (default: 200)
|
|
typeset lines=${1:-200}
|
|
|
|
echo "================================================================="
|
|
echo " Tailing last $lines lines of dmesg log"
|
|
echo "================================================================="
|
|
|
|
# report and reset afterwards
|
|
dmesg_args="-c"
|
|
if [[ $(uname) = "Linux" ]] ; then
|
|
dmesg_args="$dmesg_args --time-format=iso"
|
|
fi
|
|
sudo dmesg $dmesg_args | tail -n $lines
|
|
|
|
echo "================================================================="
|
|
echo " End of dmesg log"
|
|
echo "================================================================="
|