Skip to content

Fun-o-Matic

Sections
Personal tools
You are here: Home » Project Roadmap » ShowGames

ShowGames

Plans and list of known bugs for the ShowGames module.

Module Purpose

ShowGames polls the copies of FomAgent residing on each managed station, typically every 5 or 10 minutes, and records each station's current status. ShowGames runs on a server separate from the stations, and stores its results into a flat file in CSV format. Other Fun-o-Matic modules read those files to determine various information about each station.

Module Status

Version 1 of ShowGames is stable and in use.

Known Bugs

  • A few games don't play fair with system resources, causing FomAgent to be temporarily immobilized; sometimes it can take as much as 10-15 minutes for FomAgent to respond to a poll from ShowGames when one of these games is in use. Because Version 1 of ShowGames is single-threaded, when this happens one slow station can cause ShowGames to lock up and not be able to complete a scan of all stations until several polling cycles later. This doesn't seem to do any serious damage, but can cause ShowGames' data to be out of date.

Features Planned for Version 2

  • Log poll cycle times
  • Have a maximum poll cycle time; when the limit is reached, kill outstanding polls and mark those stations as unresponsive. That way we guarantee to have maximally valid polls.
  • Multiple game centers, each of which is tracked separately.
  • Multithreading: poll all gamestations at all game centers, simultaneously (or in batches, with members of each batch being in parallel); pre-fork the polling processes/threads
  • Still generate an index.htm file showing center status. . . but change it to look like the “grid” produced by Hog2, and make it easy to integrate other features (RRDTool charts, webcam photos) into the same page.
  • Change file format to XML; that might be better for writing lots of status information (more than just process names), and would make it easy to feed to a Laszlo Presentation Server, or other, display.
  • Consider changing from a cron job to a free-running daemon; that would eliminate the situation we have now of multiple ShowGames instances running at the same time when poll cycles take longer than the interval between cron activations.
  • Logic for converting process paths to application names should probably be in ShowGames, not Hog.
  • Provide web services interface to access current-cycle data. The 1.x design makes ShowGames data available to other applications by updating a flat file; a web services interface would make it easier to access from applications running on different boxes.

Features Planned for Version 3

  • Use new FomAgent "reportAll" command, instead of "ps".
  • Consider storing data in a MySQL database instead of a CSV or XML file (marginally slower to save, much easier to analyze later, since you don’t need to parse weeks or months worth of data). Still write the current poll period data to such a file, but historical data goes in the database.
  • Consider using "zero configuration" technology so that ShowGames automatically finds fomAgent instances on its subnet.
Created by woody
Last modified 2006-02-02 08:57 AM
 

Powered by Plone

This site conforms to the following standards: