


rrdtool                                               RRDFETCH(1)



NNNNAAAAMMMMEEEE
     rrdtool fetch - fetch data from an rrd.

SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
     rrrrrrrrddddttttoooooooollll ffffeeeettttcccchhhh _f_i_l_e_n_a_m_e _C_F [--------rrrreeeessssoooolllluuuuttttiiiioooonnnn|----rrrr _r_e_s_o_l_u_t_i_o_n]
     [--------ssssttttaaaarrrrtttt|----ssss _s_t_a_r_t] [--------eeeennnndddd|----eeee _e_n_d]

DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
     The ffffeeeettttcccchhhh function is normally used internally by the graph
     function, to get data from RRRRRRRRDDDDs. ffffeeeettttcccchhhh will analyze the RRRRRRRRDDDD
     and will try to retrieve the data in the resolution
     requested.  The data fetched is printed to stdout. _*_U_N_K_N_O_W_N_*
     data is often represented by the string "NaN" depending on
     your OSs printf function.

     _f_i_l_e_n_a_m_e
             the name of the RRRRRRRRDDDD you want to fetch the data from.

     _C_F      which consolidation function should have been
             applied to the data you want to fetch?
             (AVERAGE,MIN,MAX,LAST)

     --------rrrreeeessssoooolllluuuuttttiiiioooonnnn|----rrrr _r_e_s_o_l_u_t_i_o_n (default is the highest
             resolution)
             what interval should the values have (seconds per
             value). rrrrrrrrddddffffeeeettttcccchhhh will try to match your request, but
             it will return data even if no absolute match is
             possible.

     --------ssssttttaaaarrrrtttt|----ssss _s_t_a_r_t (default end-1day)
             when should the data begin. A time in seconds since
             epoch (1970-01-01) is required. Negative numbers are
             relative to the current time. By default one day
             worth of data will be fetched. See also AT-STYLE
             TIME SPECIFICATION section for a detailed
             explanation on  ways to specify start time.

     --------eeeennnndddd|----eeee _e_n_d (default now)
             when should the data end. Time in seconds since
             epoch. See also AT-STYLE TIME SPECIFICATION section
             for a detailed explanation of how to specify end
             time.

     AAAATTTT----SSSSTTTTYYYYLLLLEEEE TTTTIIIIMMMMEEEE SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNN

     Apart from the traditional _S_e_c_o_n_d_s _s_i_n_c_e _e_p_o_c_h, rrdtool does
     also understand at-style time specification.  The
     specification is called "at-style" after Unix command _a_t(1)
     that has moderately complex ways to specify time to run your
     job at.  The at-style specification consists of two parts:
     TTTTIIIIMMMMEEEE RRRREEEEFFFFEEEERRRREEEENNNNCCCCEEEE specification and TTTTIIIIMMMMEEEE OOOOFFFFFFFFSSSSEEEETTTT specification.




2001-02-20             Last change: 1.0.33                      1






rrdtool                                               RRDFETCH(1)



     TTTTIIIIMMMMEEEE RRRREEEEFFFFEEEERRRREEEENNNNCCCCEEEE SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNN

     Time reference specification is used, well,... to establish
     a reference moment in time (for time offset to be applied
     to). When present, it should come first, when omitted, it
     defaults to nnnnoooowwww. On its own part, time reference consists of
     _t_i_m_e_-_o_f_-_d_a_y reference (which should come first, if present)
     and _d_a_y reference.

     _T_i_m_e_-_o_f_-_d_a_y can be specified as HHHHHHHH::::MMMMMMMM, HHHHHHHH....MMMMMMMM, or just HHHHHHHH,
     you can suffix it with aaaammmm or ppppmmmm or use 24-hours clock. The
     few special times of day are understood as well, these
     include mmmmiiiiddddnnnniiiigggghhhhtttt (00:00), nnnnoooooooonnnn (12:00) and British tttteeeeaaaattttiiiimmmmeeee
     (16:00).

     The _d_a_y can be specified as _m_o_n_t_h_-_n_a_m_e _d_a_y_-_o_f_-_t_h_e_-_m_o_n_t_h and
     optional 2- or 4-digit _y_e_a_r number (e.g. March 8 1999).
     Alternatively, you can use _d_a_y_-_o_f_-_w_e_e_k_-_n_a_m_e (e.g. Monday),
     or one of the words: yyyyeeeesssstttteeeerrrrddddaaaayyyy, ttttooooddddaaaayyyy, ttttoooommmmoooorrrrrrrroooowwww.  You can
     also specify _d_a_y as a full date in several numerical
     formats; these include: MMMMMMMM////DDDDDDDD////[[[[YYYYYYYY]]]]YYYYYYYY, DDDDDDDD....MMMMMMMM....[[[[YYYYYYYY]]]]YYYYYYYY,
     YYYYYYYYYYYYYYYYMMMMMMMMDDDDDDDD.

     _N_O_T_E_1: this is different from the original _a_t(1) behavior,
     which interprets a single-number date as MMDD[YY]YY.

     _N_O_T_E_2: if you specify _d_a_y this way, the _t_i_m_e_-_o_f_-_d_a_y is
     REQUIRED to be present.

     Finally, you can use words nnnnoooowwww, ssssttttaaaarrrrtttt, or eeeennnndddd as your time
     reference. NNNNoooowwww refers to the current moment (and is also a
     default time reference). SSSSttttaaaarrrrtttt (eeeennnndddd) can be used to specify
     time relative to the start (end) time for those tools that
     use these categories (rrdfetch, rrdgraph).

     Month and weekday names can be used in their naturally
     abbreviated form (e.g., Dec for December, Sun for Sunday,
     etc.). The words nnnnoooowwww, ssssttttaaaarrrrtttt, eeeennnndddd can be abbreviated to nnnn, ssss,
     eeee.

     TTTTIIIIMMMMEEEE OOOOFFFFFFFFSSSSEEEETTTT SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNN

     Time offset specification is used to add (or subtract)
     certain time interval to (from) the time reference moment.
     It consists of _s_i_g_n (++++ or ----) and _a_m_o_u_n_t. The following time
     units can be used to specify the _a_m_o_u_n_t: yyyyeeeeaaaarrrrssss, mmmmoooonnnntttthhhhssss,
     wwwweeeeeeeekkkkssss, ddddaaaayyyyssss, hhhhoooouuuurrrrssss, mmmmiiiinnnnuuuutttteeeessss, sssseeeeccccoooonnnnddddssss, these can be used in
     singular or plural form, and abbreviated naturally or to a
     single letter (e.g. +3days, -1wk, -3y). Several time units
     can be combined together (e.g., -5mon1w2d), as well as
     several time offsets can be concatenated (e.g., -5h45min =
     -5h-45min = -6h+15min = -7h+1h30m-15min, etc.)



2001-02-20             Last change: 1.0.33                      2






rrdtool                                               RRDFETCH(1)



     _N_O_T_E_3: If you specify time offset in days, weeks, months, or
     years, you will end with the time offset that may vary
     depending on you time reference, because all those time
     units have no single well defined time interval value
     (1 year contains either 365 or 366 days, 1 month is 28 to 31
     days long, and even 1 day may be not equal to 24 hours twice
     a year, when DST-related clock adjustments take place).  To
     cope with this, when you use days, weeks, months, or years
     as your time offset units your time reference date is
     adjusted accordingly without taking too much further effort
     to ensure anything about it (in the hope that _m_k_t_i_m_e(3) will
     take care of this later).  This may lead to some surprising
     (or even invalid!) results, e.g. 'May 31 -1month' = 'Apr 31'
     (meaningless) = 'May 1' (after _m_k_t_i_m_e(3) normalization); in
     the EET timezone '3:30am Mar 29 1999 -1 day' yields '3:30am
     Mar 28 1999' (Sunday) which is invalid time/date combination
     (because of 3am -> 4am DST forward clock adjustment, see the
     below example).  On the other hand, hours, minutes, and
     seconds are well defined time intervals, and these are
     guaranteed to always produce time offsets exactly as
     specified (e.g. for EET timezone, '8:00 Mar 27 1999 +2 days'
     = '8:00 Mar 29 1999', but since there is 1-hour DST forward
     clock adjustment takes place around 3:00 Mar 28 1999, the
     actual time interval between 8:00 Mar 27 1999 and
     8:00 Mar 29 1999 equals 47 hours; on the other hand,
     '8:00 Mar 27 1999 +48 hours' = '9:00 Mar 29 1999', as
     expected)

     _N_O_T_E_4: The single-letter abbreviation for both mmmmoooonnnntttthhhhssss and
     mmmmiiiinnnnuuuutttteeeessss is mmmm. To disambiguate, the parser tries to read your
     mind :) by applying the following two heuristics:

     1  If mmmm is used in context of (i.e. right after the) years,
        months, weeks, or days it is assumed to mean mmmmoooonnnntttthhhhssss,
        while in the context of hours, minutes, and seconds it
        means minutes.  (e.g., in -1y6m or +3w1m mmmm means mmmmoooonnnntttthhhhssss,
        while in -3h20m or +5s2m mmmm means mmmmiiiinnnnuuuutttteeeessss)

     2  Out of context (i.e. right after the ++++ or ---- sign) the
        meaning of mmmm is guessed from the number it directly
        follows.  Currently, if the number absolute value is
        below 25 it is assumed that mmmm means mmmmoooonnnntttthhhhssss, otherwise it
        is treated as mmmmiiiinnnnuuuutttteeeessss.  (e.g., -25m == -25 minutes, while
        +24m == +24 months)

     _F_i_n_a_l _N_O_T_E_S: Time specification is case-insensitive.
     Whitespace can be inserted freely or omitted altogether,
     there are, however, cases when whitespace is required (e.g.,
     'midnight Thu'). In this case you should either quote the
     whole phrase to prevent it from being taken apart by your
     shell or use '_' (underscore) or ',' (comma) which also
     count as whitespace (e.g., midnight_Thu or midnight,Thu)



2001-02-20             Last change: 1.0.33                      3






rrdtool                                               RRDFETCH(1)



     TTTTIIIIMMMMEEEE SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNN EEEEXXXXAAAAMMMMPPPPLLLLEEEESSSS

     _O_c_t _1_2 -- October 12 this year

     _-_1_m_o_n_t_h or _-_1_m -- current time of day, only a month before
     (may yield surprises, see the NOTE3 above)

     _n_o_o_n _y_e_s_t_e_r_d_a_y _-_3_h_o_u_r_s -- yesterday morning; can be put also
     as _9_a_m_-_1_d_a_y

     _2_3_:_5_9 _3_1_._1_2_._1_9_9_9 -- 1 minute to the year 2000

     _1_2_/_3_1_/_9_9 _1_1_:_5_9_p_m -- 1 minute to the year 2000 for
     imperialists

     _1_2_a_m _0_1_/_0_1_/_0_1 -- start of the new millennium

     _e_n_d_-_3_w_e_e_k_s or _e_-_3_w -- 3 weeks before end time (may be used
     as start time specification)

     _s_t_a_r_t_+_6_h_o_u_r_s or _s_+_6_h -- 6 hours after start time (may be
     used as end time specification)

     _9_3_1_2_2_5_5_3_7 -- 18:45  July 5th, 1999 (yes, seconds since 1970
     are valid as well)

     _1_9_9_7_0_7_0_3 _1_2_:_4_5 -- 12:45  July 3th, 1997 (not quote standard,
     but I love this ...)

AAAAUUUUTTTTHHHHOOOORRRR
     Tobias Oetiker <oetiker@ee.ethz.ch>
























2001-02-20             Last change: 1.0.33                      4



