Skip to content

GSoC2015 Proposal: Configuration visualization (beng94)

Gedai Tamás Bence edited this page Mar 26, 2015 · 18 revisions

Being updated...

Introduction

Syslog-ng can have complicated configuration files, tha might be hard to follow if something goes wrong. The goal of this project is to implement a new feature in syslog-ng that enables the users to visualize their configuration with all the important parts of the syslog-ng.conf file.

Benefits

This tool would give the user an overview of the configuration therefore it might make it easier to find possible bugs and leaks in the system in a visual way. The graph about the configuration will be available as soon as the syslog-ng starts.

Implementation

This new tool would be integrated into syslog-ng and would consist of two main parts. An embedded one in syslog-ng's core and an external tool.

The integrated module would collect the neccesary data for the visualization, and it would build up a structure from the parsed information. Syslog-ng has it's own parser, using Bison and Flex so I'd like to merge my own code with those to get the data. Hopefully I won't have to modify the grammar files. Syslog-ng has a parsed data in a CfgTree, I'm planning to extract information from that.

I'd store the extracted information in a graph, possibly a tree that will be sent into a module which generates the required output that can be sent into a visualizer tool. I'd like to use the DOT format az an output format, as it can be fed directly into graphviz.

For the visualization I'd like to use graphviz, an opensource tool, that uses DOT format by default. With graphviz I'd like to display a directed graph about the configuration.

Optionally the resolution of the graph will be adjustable. By default I'd like to display a directed graph, where an arc represent's the direction of the data flow and a node stands for either a source, destination, filter, rewrite or a parser.

Timeline

March 27- April 26: Reading documentation of syslog-ng and examining the syslog-ng's grammar file. Getting familiar with the syslog-ng's configuration files and how it's parsed, especially with CfgTree and LogExpNode.

April 27 - May 24: Planning possible implementations of the project and discuccing them with mentors

May 25 - June 26: Implementing the embedded part of the project

June 27 - July 3: Testing Finalizing mid-term tasks

June 4 - Aug 11: Planning the visualizer module and discuss them with mentors

Aug 12 - Aug 21: Implementing the visualizer

Aug 22 - Aug 28: Testing Submitting final code

About me

I'm an undergraduate student at Budapest University of Technology and Economics, Hungary learning Computer Science.

I'm interested in algorithm theory especially when it comes to performance. I always try to implement the fastest algorithms.

I learned algorithm theory for two years, so I've seen several algorithms that might be useful for this project. I've participated in a few projects related to OpenCV, OpenGL and OpenCL. I'm familiar with C, C# and C++. I've alredy worked on a small issue (#197) at syslog-ng, so I've got a basic view of the code base.

Contact information

name: Tamás Bence Gedai
e-mail: gedai.bence@gmail.com

Clone this wiki locally