Ross School - Senior Projects 2010
Mentor: Hugh McGuiness
Title: C++ Monitoring Agent
My product, in laymenŐs terms, is a program that gathers information. It works as a background process, periodically gathering data and packaging it for shipment into a central server. The collector reads and records information about how much work the computer is currently doing, what kind of hardware the computer has, and the status of the database. This allows Brookhaven National Lab administrators to monitor their databases in order to best insure integrity, efficiency, and reliability.
Empirical science relies on controlled experimentation of a single or small group of variables. In order to do this scientists are required to collect, process, and store large amounts of data. In large experiments such as STAR1, the quantity of data that needs to be stored is overwhelming. Through the use of many computerized storage systems, researchers are able to pool information into databases. In addition to actual experimental data and information about the conditions of the detector, the geometry needs to be stored in the databases. Brookhaven National Laboratory administrators need access to the statistics and metrics of the databases to address that challenge. In order to give administrators this information, the Scalable Database Monitoring Package needed to be created. The package used multiple monitoring agents that send the desired information; such as the amount of work a computer is doing, to a central server, which processes that information into a human legible interface.
My project was to create one of the Monitoring Agent components for the Scalable Database Monitoring Package. This support system collects information about the status and statistics about a database management system, called MySQL. In laymanŐs terms, my program periodically gathers information about an operating system and a database, and packages it together for shipment to a central server.
I successfully created a program that accomplished all of my goals. In the process of creating this program, I gained a vast amount of knowledge about the C++ programming language, along with other programming concepts such as Design Patterns, Encapsulation, and Unified Modeling Language diagrams. Working at Brookhaven National Lab was truly a unique, exciting, and enjoyable experience, and I hope that I will be able to have similar experiences in the future.
Arkhipkin, Dmitry. "Programing." Personal interview. Nov. 2009.
C programming.com - Your Resource for C and C Programming. Web. 24 Nov. 2009. <http://www.cprogramming.com/>.
C Reference [C Reference]. Web. 23 Nov. 2009. <http://www.cppreference.com/wiki/>.
Cplusplus.com - The C Resources Network. Web. 23 Nov. 2009. <http://www.cplusplus.com/>.
Lauret, Jerome. "Report." Personal interview. Dec. 2009.
Liberty, Jesse. Sams Teach Yourself C++ in One Hour a Day (Sams Teach Yourself). Indianapolis: Sams, 2008. Print.
Loudon, Kyle. C++ Pocket Reference. North Mankato: O'Reilly Media,, 2003. Print.
Stroustrup, Bjarne. Programming principles and practice using C++. Upper Saddle River, NJ: Addison-Wesley, 2008. Print.
Community Member (Details)
Dmitry Arkhipkin: Programmer
Jerome Lauret: STAR Team Leader, member of STAR Counsel