Skip to content

GSoC 2018 proposal: Odbc destination driver (yashcodes)

yashcodes edited this page Mar 27, 2018 · 8 revisions
  • __

About Me

Username and Contact Information

Personal Background

Hello, I am Yashvardhan sharma a second year undergraduate student at IIT Kharagpur, India. I'm pursuing a 4 Yr.B.tech degree in Civil engineering. I am use Ubuntu 16.04 LTS as my regular operating system with sublimetext3 as my primary text editor. I am proficient in C/C++ programming languages.

Project description

The syslog-ng application is a flexible and highly scalable system logging application that is ideal for creating centralized and trusted logging solutions. The goal of the project is to connect to database servers that are directly not supported by syslog-ng. Not only the traditional SQL databases have ODBC drivers, some of the BigData players also have.

Benefits

Till now syslog-ng is using libdbi driver to access different databases which limit its reach to only few numbers of databases .So, here’s the great idea of this project came to enable syslog-ng to access not only the wide range of traditional SQL databases but also support some big data players which have odbc driver by implementing syslog-ng driver that will send log messages to a database via odbc interface by using unixodbc.

Project Deliverables (goals)

In end of the project three major tasks should be accomplished. A new module should be formed to implement syslog-ng driver which will send log messages to a destination from where it will take care to send log messages to databases via odbc interface by using unixodbc. 2. Write performance tests and there results for odbc vs libdbi. 3.Make a proper debian package for the new driver.

Required skills for the project

Good experience with C. Handy with version control systems. Familiar with syslog-ng. Should have enough familiarity with SQL and sql databases . Basic familiarity with odbc is also required.

Motivation

I was looking for a interesting and fairly large project in my comfort zone which is C because of my good experience with it. Plus I have a quite good experience with sql which interests me towards this project even more. The learning opportunities that were listed in the ideas page was the main reason that made me committed with this project this much. And I must say the main idea ( automatic log data management which is already proved very well for programmers and developers )behind syslog-ng is so great and I would feel lucky if I could enhance its capability even more.

Timeline

from here we start!!

March 27 –April 22

  • Get more familiar with syslog-ng and explore its features.(Still doing)
  • Try to understand and clear doubts mainly regarding part of codebase which enables syslog-ng to access databases like codebase of “afsql” and “afprog” modules to get a better idea to write a syslog-ng module .(still doing)
  • Increase familiarity with odbc.

April 23- May 14

  • Continue to understand the codebase.
  • Increase community bonding.
  • Install unixodbc.

From here <coding.fun_part> begins (fingers crossed..!!)

May 14- May 30

  • Discuss project with mentor.
  • Plan to write a module forming a destination(named as odbc destination) which will collect log messages and will also take care to send them to proper database by sending proper parameters to unixodbc driver manager which will load and unload proper odbc driver through which it will send messages to the concerned database.

May 31-June 12

  • Submit first evaluation.
  • Start making the module.

June 13- July 8

  • Continue making module.
  • Continue discussing with mentor.

Time to do testing,finding bugs and fix them..!! (let shut the bug up)

July 8- July 30

  • Take reviews from mentor.
  • Write test cases.
  • Fix bugs
  • Submit second evaluation
  • Test the code in every possible way.

Wait. not done yet..!!

Now compare performances of ODBC and libdbi and make debian package.

August 1- August 10

Make a proper documentation to describe test cases and their results for performance measurement of odbc vs libdbi.

In last..!!

August 10 -August 20

Make debian package for the new odbc driver. Make proper documentation and user guide. Make final submission.

GSoC

Have you participated previously in GSoC? When? Under which project? No, I have not participated in GSoC before. This is the first time I am participating in GSoC. Are you also applying to other projects? No, I am not applying for any other project in any other organisation.

Commitments

I have no commitments from 4th May 2017. My university Summer holidays will start from 1st May. My classes for the new semester will resume on 17th July 2017 . Due to very less academic load during the start of the semester, I will easily be able to dedicate around 6 hours everyday for the last 4 weeks of the coding period.

Clone this wiki locally