src/graph_instance.[ch]: Implement "inst_to_json".
src/graph_ident.[ch]: Generate JSON data using libyajl.
configure.ac: Check for yajl.
share/collection.conf: Demonstrate the new functionality with "mysql_command" graphs.
src/graph_def.c: Add error messages to "def_create".
src/graph_def.c: Make it possible for one "DEF" to handle multiple files correctly.
src/graph_def.c: Use "ident_describe" to generate a legend entry …
… if no legend has been specified. Using the DS name here isn't as good
since often many files of the same type are grouped together.
… if no legend has been specified. Using the DS name here isn't as good
since often many files of the same type are grouped together.
src/graph_instance.c: inst_describe: Use the new "ident_describe" function.
src/graph_ident.[ch]: Implement "ident_describe".
share/collection.conf: Make the disk graphs more generic.
By removing the "disk" plugin name. Other plugins, for example the
NetApp plugin, create such graphs, too.
By removing the "disk" plugin name. Other plugins, for example the
NetApp plugin, create such graphs, too.
share/collection.conf: Add a couple more generic graphs.
"search" action: Use the new search infrastructure.
src/graph.c: Fix "graph_search_inst".
Checking if a graph selector intersects with the search selector is not
sufficient, because the instance may introduce a contradiction.
The "graph_search_inst_noselector" has been introduced to simplify the
(probably common) case of no search selector being present.
Checking if a graph selector intersects with the search selector is not
sufficient, because the instance may introduce a contradiction.
The "graph_search_inst_noselector" has been introduced to simplify the
(probably common) case of no search selector being present.
src/graph_list.c: Only call "graph_ident_intersect" if the search has an ident.
src/utils_search.[ch]: Implement "search_has_selector".
src/graph_list.c: Use the new "graph_ident_intersect" function.
The (slightly advanced) search appears to work now.
The (slightly advanced) search appears to work now.
src/graph.[ch]: Implement "graph_ident_intersect".
src/graph_ident.[ch]: Implement "ident_intersect".
src/graph_list.[ch]: Implement "gl_search".
src/utils_search.[ch]: Implement "search_to_ident" and "search_graph_title_matches".
The "title" argument has been added to the "search_graph_inst_matches" function, too.
The "title" argument has been added to the "search_graph_inst_matches" function, too.
src/graph.[ch]: Implement "graph_search_inst".
src/graph.[ch]: Rename "graph_inst_search" to "graph_search_inst_string".
src/graph.[ch]: Implement "graph_matches_ident".
src/graph.[ch]: Rename "graph_matches_ident" to "graph_ident_matches".
src/utils_array.h: Note that the parameter may / must be freed by the caller.
src/graph_list.[ch]: Rename "gl_search" to "gl_search_string".
src/utils_search.h: Implement "search_graph_inst_matches".
src/utils_search.c: Add folding markers.
src/utils_cgi.c: uri_unescape_copy: Fix a potential buffer overflow.
src/utils_search.c: Implement parsing of the tokens.
src/utils_search.[ch]: Add a module for parsing search strings.
"list graphs" and "list hosts" actions: Add links to the "search" action.
"search" action: If no search string is given, display an "advanced search" form.
It's not advanced yet, but that will be coming soon.
It's not advanced yet, but that will be coming soon.
"list graphs" and "list hosts" actions: Add links to each other.
"list hosts" action: Add action to list all hosts.
"show instance" action: Link to the "search" action in the breadcrump.
src/utils_cgi.c: Use the "search" action to … well … search.
"list graphs" action: Remove the functionality to actually search for graphs.
"search" action: Copied the "list_graphs" section to here.
"list graphs" action: Don't show graphs without instances.
share/collection.conf: Add "df_complex" graph for the "NetApp" plugin.
src/graph.c: Compare instances with "inst_compare" not "ident_compare".
D'oh!
D'oh!
src/graph_instance.[ch]: Implement "inst_compare".
"show instance" action: Remove debugging message.
src/graph_list.c: Sort the instances of all graphs.
src/graph.c: Fix "graph_sort_instances".
src/graph_list.c: Fix "gl_compare_hosts".
share/collection.conf: Add a couple new graphs.
src/graph_list.c: Add dynamically generated graphs to an extra list.
Profiling has shown that the majority of time is spent looking for a matching
graph in "gl_active" in the "gl_register_file" function. By adding dynamically
generated graphs (which will only ever match one file) to an extra list,
start-up time is decreased *a lot*.
Profiling has shown that the majority of time is spent looking for a matching
graph in "gl_active" in the "gl_register_file" function. By adding dynamically
generated graphs (which will only ever match one file) to an extra list,
start-up time is decreased *a lot*.
src/graph_list.c: Increase update interval to 900 seconds.
src/graph.[ch]: Implement "graph_sort_instances".
Various: Remove argument validation after profiling.
"show graph json" action: Return the correct MIME type.
"show graph json" action: Print "Expires" header.
src/graph_ident.c: ident_to_json: Escape strings before adding them to the buffer.
src/utils_cgi.[ch]: Implement escape functions for JSON.
"show graph json" action: Implement action for exporting graph information as JSON.
"show graph" action: If the "q" parameter is given, only show matching instances.
"list graphs" action: Pass the search term to the "show graph" action.
src/utils_cgi.c: Change shortcut name to "C₄" (from "c⁴").
"show instance" action: Use <h2 /> rather than <h3 /> for consistency.
"show graph" action: Print a menu on the left side.
Currently only containing of "All graphs".
Currently only containing of "All graphs".
"list graph" action: Don't show any instances if no search term is given.
"show instance" action: Don't show a list of instances on the left side.
Rather show a link to the "show graph" action, titled "all instances".
Rather show a link to the "show graph" action, titled "all instances".
"list graphs" action: Link to the "show graph" action …
… if not all instances are shown.
… if not all instances are shown.
"show graph" action: Implement a page showing all instances of a graph.
share/collection.conf: Improve the "df_inodes" graph.
share/collection.conf: Improve configuration of the "swap" graph.
"show instance" action: Parse the time parameters and pass them along to the "graph" action.
src/common.[ch]: Implement "get_time_args".
src/common.c: Add missing folding markers.
"graph" action: Print the "X-Generator" header on generated graphs, too.
src/utils_cgi.c: Display the package name and version on generated pages.
share/collection.conf: Add format option to disk_octets graph.
src/graph_list.c: Make "gl_add_graph_internal" static.
All files: Add LGPL 2.1 license header.
COPYING: Add LGPL 2.1 license.
share/collection.conf: Adapt the "df_complex" config for the new drawing code.
src/graph_def.c: Manually handle stacking.
Also faded (semi-transparent) areas have been implemented.
Also faded (semi-transparent) areas have been implemented.
src/rrd_args.[ch]: Split up the "draw" part (into "areas" and "lines").
src/graph.c: graph_add_def: Add graphs in reverse order.
src/utils_array.c: Fix a segfault in "array_prepend".
src/common.[ch]: Implement "fade_color".
src/utils_array.[ch]: Implement "array_prepend{,_format}".
Various modules: Use the new "rrd_args_t" structure.
14 years agosrc/rrd_args.[ch]: Implement data structure for more powerful RRD argument construction.
src/rrd_args.[ch]: Implement data structure for more powerful RRD argument construction.
share/collection.js: Add folding markers.
share/collection.js: Implement "zoom_reference", too.
share/collection.js: Imported most of the JavaScript navigation code from collection3.
share/style.css: Fix the ":hover" pseudo-classes.
At least FireFox doesn't honor the ":hover" pseudo-class if the selector
doesn't contain a tag name.
At least FireFox doesn't honor the ":hover" pseudo-class if the selector
doesn't contain a tag name.
src/utils_cgi.c: Print a "X-Generator" message in the HTTP header.
share/collection.js: Add the navigation buttons to the graphs.
They don't work yet, though.
They don't work yet, though.
share/style.css: Make the page a bit nicer to look at.
"show instance" action: Limit displayed graphs to 10 and re-activate the "breadcrump".
share/collection.conf: Add format strings to the df_inode graph.
share/collection.js: Rename the "show_graph" action here, too.
Rename action: "show_graph" -> "show_instance".
Rename: src/action_show_graph.[ch] -> src/action_show_instance.[ch]
"show graph" action: Use the new "inst_get_all_selected" function.
src/utils_cgi.[ch]: Implement "html_print_logo".