[GSoC] proposal of the first idea

徐志锋 szive at live.com
Wed Mar 19 11:28:02 UTC 2014


Hi all,
     I am going to apply the Google Summer of Code for the idea Machine readable
output from userland utilities.Below is my proposal, opinions and suggestions are 
welcome. 

* Machine readable output from userland utilities
* General Information
** Name
   Zhifeng 
** Email
   szive at live.com
** Phone
   +86 188 2515 5746
** Availability
   40 hours per week
** Biography
  I'm an undergraduate student from department of computer science technology,
Guangdong University of Technology, China. With years of study and practice I
 master some skills of C; and benefit from an online print project I get 
familiar with XML,JSON and libxml.I am a quick learner, and after having some
research on the project I have a basic understand for the solution. Beside, 
since finished most of my course such as 'data structure','operating system'
and 'computer network', I have enough time and willpower to overcome the 
difficulties during the project. 
** Possible Mentor:
* Project Information
** Project Title
   Easy parsed output from  utilities
** Project Description
   To retrieval information from the output of utilities like sysctl,iostat is 
often a trivial work because of their design for human readable.In this project,
I'd like to convert the utilities sysctl,ifconfig,vmstat,iostat and netstat to 
emit XML,JSON and YAML.
   My work will base on the library libbsdstat. After implemented, the library  
should understand the output structure of the utilities and can display statis-
tics in XML, JSON and YAML format. For sysctl and ifconfig, it's not difficult 
to convert them;I would deal with the output of sysctl with options [-AadeioXx]
and ifconfig with options [-mLaduvCk]. More attention will be pay on vmstat, 
iostat and netstat because they have dynamic statistics with option [-w [wait]]. 
   I plan to set an environment variable to detect what format should be used.
This reduce directly change in the utilities' sourcecode and may be useful in
script programming.   
** Deliverable
1) the utilities can emit XML format
2) the utilities can emit JSON format
3) the utilities can emit YAML format
** Test Plan
+ Check output of utilities with some special that are not convert is the same
  as before.
+ Check output of utilities can be proper parsed using libxml,libjson and 
  libyaml.
** Project Schedule
+ before mid-term
  1) 19 May    to 4  June:   sysctl and ifconfig can display XML output
  2) 5  June   to 25 June:   iostat,vmstat and netstat can display XML output
+ mid-term to final-term
  1) 26 June   to 5  July:   sysctl and ifconfig can display JSON output
  2) 6  July   to 20 July:   iostat,vmstat and netstat can display JSON output
  3) 21 July   to 31 July:   sysctl and ifconfig can display YAML output
  4) 1  August to 18 August: iostat,vmstat and netstat can display YAML output


Cheers,
Zhifeng 		 	   		  


More information about the freebsd-hackers mailing list