API
---
-* New Exported funtions: rrd_lcd, rrd_reduce_data, rrd_cf_conf and rrd_list
+* New Exported functions: rrd_lcd, rrd_reduce_data, rrd_cf_conf and rrd_list
* rrd_list support for perl and python binding
* all new and much more complete python bindings working on both python 2.6+ and 3.3+
* extended documentation in rrdlib.pod
--------
* segfault on CDEF:x=
* Disable nagle algorithm as it is causing massive slowdown
-* make vname nameing rules more liberal and more in line with 1.4
+* make vname naming rules more liberal and more in line with 1.4
* Fix recursive directory creation in rrdcached on FREEBSD
* Fixed compilation when there's no sigwaitinfo
* the optional argument :skipscale allows for a LINE or AREA instruction to be
excluded from having an effect on the scaling of the graph
-* TRENDNAN is now working properly and als not crashing anymore
+* TRENDNAN is now working properly and also not crashing anymore
* Added a no-op string positioning combo "\." this allows to write
COMMENT:OS\2\. which would otherwise not be possible.
[](https://gitter.im/oetiker/rrdtool-1.x?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
-RRDTool 1.x master build status: [](https://travis-ci.org/oetiker/rrdtool-1.x)
+RRDtool 1.x master build status: [](https://travis-ci.org/oetiker/rrdtool-1.x)
test coverage [](https://coveralls.io/r/oetiker/rrdtool-1.x?branch=master)
RRDtool 1.7.x build status: [](https://travis-ci.org/oetiker/rrdtool-1.x)
In order to build the static freetype lib enter the freetype base directory
and type 'make'. If everything is fine a message appears that gcc is detected,
and that you should again type 'make'. Follow that in order to build freetype.
- All other libs are build from the sources with the RRDTool Makefile.Win32.
+ All other libs are build from the sources with the RRDtool Makefile.Win32.
Switch to the RRDTOOL .\src directory. Then:
/*
- * Lua bindings for RRDTool
+ * Lua bindings for RRDtool
*
* This software is licensed to the public under the Free Software
* Foundation's GNU GPL, version 2 or later. You may obtain a copy
lua_pushliteral (L, "Copyright (C) 2008 Fidelis Assis");
lua_settable (L, -3);
lua_pushliteral (L, "_DESCRIPTION");
- lua_pushliteral (L, "RRD-lua is a Lua binding for RRDTool.");
+ lua_pushliteral (L, "RRD-lua is a Lua binding for RRDtool.");
lua_settable (L, -3);
lua_pushliteral (L, "_NAME");
lua_pushliteral (L, "RRD-Lua");
*ds_namv = (char **)calloc(*ds_cnt, sizeof(char *));
if (*ds_namv == NULL) {
- rrd_set_error("an error occured while allocating memory for "
+ rrd_set_error("an error occurred while allocating memory for "
"ds_namv when allocating memory for python callback");
goto gil_release_err;
}
=head1 DESCRIPTION
-B<librrd> contains most of the functionality in B<RRDTool>. The command
+B<librrd> contains most of the functionality in B<RRDtool>. The command
line utilities and language bindings are often just wrappers around the
code contained in B<librrd>.
=head1 NAME
-RRDLua - Lua binding for RRDTool
+RRDLua - Lua binding for RRDtool
=head1 SYNOPSIS
=head2 Error Handling
-The Lua RRDTool module functions will abort your program with a stack
+The Lua RRDtool module functions will abort your program with a stack
traceback when they can not make sense out of the arguments you fed them.
However, you can capture and handle the errors yourself, instead of just
letting the program abort, by calling the module functions through Lua
-- original_LUA_PATH = nil
--- end of code to require compat-5.1 ---------------------------
- -- If the Lua RRDTool module was installed together with RRDTool,
+ -- If the Lua RRDtool module was installed together with RRDtool,
-- in /usr/local/rrdtool-1.3.2/lib/lua/5.0, package.cpath must be
-- set accordingly so that 'require' can find the module:
<?xml version="1.0" encoding="UTF-8"?>
<!--
- XML schema definition for the RRDTool dump output.
+ XML schema definition for the RRDtool dump output.
Author:
Tobias Lindenmann <tobias.lindenmann at 1und1.de>
function (unlike most other) uses the capital letter 'D' for the one-letter
option to name the cache daemon.
-If given, B<RRDTool> will try to connect to the caching daemon
+If given, B<RRDtool> will try to connect to the caching daemon
L<rrdcached> at I<address> and will fail if the connection cannot be
established. If the connection is successfully established the data
for the I<filename> will be flushed before performing the
=item B<--daemon>|B<-d> I<address>
-If given, B<RRDTool> will try to connect to the caching daemon L<rrdcached>
+If given, B<RRDtool> will try to connect to the caching daemon L<rrdcached>
at I<address>. If the connection is successfully established the values will
be sent to the daemon instead of accessing the files directly. If the
connection cannot be established it will fall back to direct file-access.
/**
* An extended quick sort algorithm compared to stdlib qsort. Takes an extra
- * parameter passed through to the comparation function (of type compar_ex_t).
+ * parameter passed through to the comparison function (of type compar_ex_t).
*
* @param array The array to sort
* @param size The size of array elements
* @param nitems The number of array elements to sort
- * @param cmp The comparation function.
- * @param extra Extra data passed to the comparation function
+ * @param cmp The comparison function.
+ * @param extra Extra data passed to the comparison function
*/
void quick_sort(void *array, size_t size, size_t nitems, compar_ex_t *cmp, void *extra);
* library is identical to librrd, but it contains support code for per-thread
* global variables currently used for error information only. This is similar
* to how errno per-thread variables are implemented. librrd_th must be linked
- * alongside of libpthred
+ * alongside of libpthread
*
* There is also a new file "THREADS", holding some documentation.
*
/*
* The following functions are _internal_ functions needed to read the raw RRD
* files. Since they are _internal_ they may change with the file format and
- * will be replaced with a more general interface in RRDTool 1.4. Don't use
+ * will be replaced with a more general interface in RRDtool 1.4. Don't use
* these functions unless you have good reasons to do so. If you do use these
- * functions you will have to adapt your code for RRDTool 1.4!
+ * functions you will have to adapt your code for RRDtool 1.4!
*
* To enable the deprecated functions define `RRD_EXPORT_DEPRECATED' before
* including <rrd_test.h>. You have been warned! If you come back to the
- * RRDTool mailing list and whine about your broken application, you will get
+ * RRDtool mailing list and whine about your broken application, you will get
* hit with something smelly!
*/
#if defined(RRD_TOOL_H_3853987DDF7E4709A5B5849E5A6204F4) || defined(RRD_EXPORT_DEPRECATED)
#endif
- /* expand rrd directives in buffer recursivley */
+ /* expand rrd directives in buffer recursively */
for (i = 0; buffer[i]; i++) {
if (buffer[i] != '<')
continue;
d = buf2;
while (*p) {
- /* prevent mallicious paths from entering the system */
+ /* prevent malicious paths from entering the system */
if (p[0] == '.' && p[1] == '.') {
p += 2;
*d++ = '_';
/**
- * RRDTool - src/rrd_client.c
+ * RRDtool - src/rrd_client.c
* Copyright (C) 2008-2013 Florian octo Forster
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
/**
- * RRDTool - src/rrd_client.h
+ * RRDtool - src/rrd_client.h
* Copyright (C) 2008-2010 Florian octo Forster
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
/**
- * RRDTool - src/rrd_daemon.c
+ * RRDtool - src/rrd_daemon.c
* Copyright (C) 2008-2010 Florian octo Forster
* Copyright (C) 2008,2009 Kevin Brintnall
*
* from a typed language
*
* Data returns from functions is not standardized at all, which is
- * efficient in the sense that the data return interface can be tailord to
+ * efficient in the sense that the data return interface can be tailored to
* the specific needs of the function at hand, but it also leads to
* increased probability for implementation errors as things have to be
* reinvented for each function. Also adding new functions into all the
* library is identical to librrd, but it contains support code for per-thread
* global variables currently used for error information only. This is similar
* to how errno per-thread variables are implemented. librrd_th must be linked
- * alongside of libpthred
+ * alongside of libpthread
*
* There is also a new file "THREADS", holding some documentation.
*
* library is identical to librrd, but it contains support code for per-thread
* global variables currently used for error information only. This is similar
* to how errno per-thread variables are implemented. librrd_th must be linked
- * alongside of libpthred
+ * alongside of libpthread
*
* There is also a new file "THREADS", holding some documentation.
*
/* and return the pointer past the current one*/
return (found+2);
}
- /* find next occurence */
+ /* find next occurrence */
found=strchr(found+1,separator);
}
/* not found, so return NULL */
r_value=DNAN;
/* check for timestamp delta to be within an acceptable range */
if ((d_timestamp>0)&&(d_timestamp<2*derive)) {
- /* only handle positive delta - avoid wrap-arrounds/counter resets showing up as spikes */
+ /* only handle positive delta - avoid wrap-arounds/counter resets showing up as spikes */
if (d_value>0) {
/* and normalize to per second */
r_value=d_value/d_timestamp;
/**
- * RRDTool - src/rrd_flushcached.c
+ * RRDtool - src/rrd_flushcached.c
* Copyright (C) 2008 Florian octo Forster
*
* This program is free software; you can redistribute it and/or modify it
/*
* _RRD_TOOL_H
- * We're building RRDTool itself.
+ * We're building RRDtool itself.
*
* RRD_EXPORT_DEPRECATED
* User is requesting internal function which need this struct. They have
/* Current slope coefficient for the Holt-Winters
* prediction algorithm. */
CDP_hw_last_slope,
- /* Last iteration slope coeffient. */
+ /* Last iteration slope coefficient. */
CDP_null_count,
/* Number of sequential Unknown (DNAN) values + 1 preceding
* the current prediction.
* prediction algorithm. This is stored in CDP prep to avoid
* redundant seek operations. */
CDP_hw_last_seasonal = CDP_hw_last_intercept,
- /* Last iteration seasonal coeffient. */
+ /* Last iteration seasonal coefficient. */
CDP_seasonal_deviation = CDP_hw_intercept,
CDP_last_seasonal_deviation = CDP_hw_last_intercept,
CDP_init_seasonal = CDP_null_count
* existing connection is re-used. */
rrdc_connect (rrd_daemon);
- /* If connecting was successfull, use the daemon to query the data.
+ /* If connecting was successful, use the daemon to query the data.
* If there is no connection, for example because no daemon address
* was specified, (try to) use the local file directly. */
if (rrdc_is_connected (rrd_daemon))
}
}
- /* if min or max have not been asigned a value this is because
+ /* if min or max have not been assigned a value this is because
there was no data in the graph ... this is not good ...
lets set these to dummy values then ... */
return 0;
}
-/* copies input untill the first unescaped colon is found
+/* copies input until the first unescaped colon is found
or until input ends. backslashes have to be escaped as well */
int scan_for_col(
const char *const input,
enum value_formatter_en primary_axis_formatter; /* How to format axis values */
double ygridstep; /* user defined step for y grid */
int ylabfact; /* every how many y grid shall a label be written ? */
- double tabwidth; /* tabwdith */
+ double tabwidth; /* tabwidth */
time_t start, end; /* what time does the graph cover */
unsigned long step; /* any preference for the default step ? */
rrd_value_t minval, maxval; /* extreme values in the data */
long base; /* 1000 or 1024 depending on what we graph */
char symbol; /* magnitude symbol for y-axis */
float viewfactor; /* how should the numbers on the y-axis be scaled for viewing ? */
- int unitsexponent; /* 10*exponent for units on y-asis */
+ int unitsexponent; /* 10*exponent for units on y-axis */
int unitslength; /* width of the yaxis labels */
int forceleftspace; /* do not kill the space to the left of the y-axis if there is no grid */
long gdes_c; /* number of graphics elements */
graph_desc_t *gdes; /* points to an array of graph elements */
cairo_surface_t *surface; /* graphics library */
- cairo_t *cr; /* drawin context */
+ cairo_t *cr; /* drawing context */
cairo_font_options_t *font_options; /* cairo font options */
cairo_antialias_t graph_antialias; /* antialiasing for the graph */
PangoLayout *layout; /* the pango layout we use for writing fonts */
static int parse_shift(enum gf_en,parsedargs_t*,image_desc_t *const);
static int parse_xport(enum gf_en,parsedargs_t*,image_desc_t *const);
-/* this is needed for LINE,AREA,STACk so that the labels get done correctly... */
+/* this is needed for LINE,AREA,STACK so that the labels get done correctly... */
static void legend_shift(char *legend)
{
if (!legend || !legend[0]) { return; }
/* associated HWPREDICT has already been updated */
if (isnan(coefs[CDP_hw_last_intercept].u_val) ||
isnan(coefs[CDP_hw_last_slope].u_val) || isnan(seasonal_coef)) {
- /* one of the prediction values is unitialized */
+ /* one of the prediction values is uninitialized */
rrd->cdp_prep[cdp_idx].scratch[CDP_scratch_idx].u_val = DNAN;
return 0;
} else {
/* associated HWPREDICT has NOT been updated */
if (isnan(coefs[CDP_hw_intercept].u_val) ||
isnan(coefs[CDP_hw_slope].u_val) || isnan(seasonal_coef)) {
- /* one of the prediction values is unitialized */
+ /* one of the prediction values is uninitialized */
rrd->cdp_prep[cdp_idx].scratch[CDP_scratch_idx].u_val = DNAN;
return 0;
} else {
if (rdwr & RRD_READWRITE) {
/* some unices, the files mtime does not get updated
on memory mapped files, in order to help them,
- we update the the timestamp at this point.
+ we update the timestamp at this point.
The thing happens pretty 'close' to the open
call so the chances of a race should be minimal.
#undef HAVE_LOCALECONV
#endif
-/* the new functions shall be calld rrd_* */
+/* the new functions shall be called rrd_* */
#define vsnprintf rrd_vsnprintf
#define snprintf rrd_snprintf
*
* Revision 1.3 2001/03/07 21:21:54 oetiker
* complete rewrite of rrdgraph documentation. This also includes info
- * on upcomming/planned changes to the rrdgraph interface and functionality
+ * on upcoming/planned changes to the rrdgraph interface and functionality
* -- Alex van den Bogaerdt <alex@slot.hollandcasino.nl>
*
* Revision 1.2 2001/03/04 13:01:55 oetiker
/* define the time format */
char* timefmt=NULL;
- /* unfortunatley we have to do it this way,
+ /* unfortunately we have to do it this way,
as when no --x-graph argument is given,
then the xlab_user is not in a clean state (e.g. zero-filled) */
if (im->xlab_user.minsec!=-1.0) { timefmt=im->xlab_user.stst; }
/* Define to 1 if you have the `tzset' function. */
#define HAVE_TZSET 1
-/* Define to 1 if you have the `uniptr_t' standard type. */
+/* Define to 1 if you have the `uintptr_t' standard type. */
#define HAVE_UINTPTR_T 1
/* Misc Missing Windows defines */