$inlin(), $inline(), $inputline()

(NOTE:  Some of the techniques shown or described on this page--marked in purple--require new features in the latest official PIKT 1.19.0 release (pikt-current.tar.gz) that are unavailable in any previous version.)

DESCRIPTION
    returns the current input line (without the trailing line-feed;
    also available as the data values $inlin, $inline, and $inputline)
SYNOPSIS
    $inlin()
    $inline()
    $inputline()
ARGUMENTS
    none
EXAMPLES
notlogmsg       (    #inputlength()
                  && ($left($inline(),3) !~ "=months")
                )
#ifdef debug
        rule
                output $inputline()
                output "\#cpuid is $text(100*#cpuid,1)%"
                quit
#endifdef
        rule    // report unusually high cpu usage
                if #cpuid <= #cpuidlim
#if missioncritical
                        =hourly(output mail $inline() set #dotopps = #true(), )
#else
                        =every_four_hours(output mail $inline() set #dotopps = #true(), )
#endif
                endif
        rule
                if $level() =~~ "emerg"
                        if $proc =~~ "(PROCS)"
                                =psheader
                                output mail =newline
                                output mail $inlin()
                                output mail "\%CPU $text(#cpu,1) >= (LIMEMERG),
                                             PROPOSED ACTION: =kill -9 $PID"
                        else
                                =periodically(=psheader output mail =newline
                                              output mail $inlin(), , #period)
                        fi
                        next
                fi
piktlog_scan(A, B1, B2)

        init
                status =piktstatus
                level =piktlevel
                task "Scan the PIKT (A).log for noteworthy entries"
                input logfile "=logdir/(A).log"

        begin
                =checkpoint(=lalim)

                // assume no crisis (yet)
                set #crisis = #false()
#if server
                // on production servers, only process non-emergency pikt
                // log files in the evening, during production downtime
                if $alert() !~~ "red|emergency"
                        if #hour() < 18
                                quit
                        fi
                fi
#endif

        rule    // automatic bypasses
                if $inlin() =~~ "==> =logdir/.+ <=="
                        next
                endif

        rule    // special alarm-specific bypasses, first bypass
                if $inlin() =~~ "(B1)"
                        next
                endif

        rule    // bypass empty lines
                if ! #length($inlin())
                        next
                endif

        rule
                =set_hr($inlin())

        rule    // report ERROR entries
                if $inlin() =~ "ERROR]"
                        output mail $inlin()
                        // if ...
                        //      =page()
                        //
                        next
                endif

        rule    // report inactive alarms
                if    $inlin() =~ "INFO].+suspended status"
                // && =monday
                        output mail $inlin()
                        next
                endif

        ...
SEE ALSO
    String Functions
    Numerical Functions
 
Home | FAQ | News | Intro | Samples | Tutorial | Reference | Software
Developer's Notes | Licensing | Authors | Pikt-Users | Pikt-Workers | Related Projects | Site Index | Privacy Policy | Contact Us
Page best viewed at 1024x768 or greater.   Page last updated 2008-03-27.   This site is PIKT® powered.
PIKT® is a registered trademark of the University of Chicago.   Copyright © 1998-2008 Robert Osterlund. All rights reserved.
Home FAQ News Intro Samples Tutorial Reference Software
PIKT Logo
PIKT Page Title
View sample
kill idle
user sessions
Pikt script