From 4d699c97fd25ea1d2711543c82483ecd5c874b30 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 16 Apr 2009 15:22:14 +0000 Subject: [PATCH] * Don't do pretty printing for large logs, because the XSLT processing is rather slow. --- src/lib/Hydra/Controller/Build.pm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/lib/Hydra/Controller/Build.pm b/src/lib/Hydra/Controller/Build.pm index 083d5f39..a9539387 100644 --- a/src/lib/Hydra/Controller/Build.pm +++ b/src/lib/Hydra/Controller/Build.pm @@ -5,6 +5,7 @@ use warnings; use base 'Hydra::Base::Controller::NixChannel'; use Hydra::Helper::Nix; use Hydra::Helper::CatalystUtils; +use File::stat; sub build : Chained('/') PathPart CaptureArgs(1) { @@ -65,6 +66,12 @@ sub showLog { notFound($c, "Log file $path no longer exists.") unless -f $path; + # Don't do pretty printing for large logs, because the XSLT + # processing is rather slow. + if (!$mode && stat($path)->size >= (256 * 1024)) { + $mode = "raw"; + } + if (!$mode) { # !!! quick hack my $pipeline = ($path =~ /.bz2$/ ? "cat $path | bzip2 -d" : "cat $path")