swarm-support
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

find those leaks with logzone


From: Ralf Stephan
Subject: find those leaks with logzone
Date: Fri, 19 May 2000 17:35:09 +0200

Not fully finished (R) but supposedly useful so here it is:

ftp://ftp.swarm.org/pub/swarm/src/users-contrib/anarchy/logzone-0.5.tar.gz

Language: Objective-C

Description: logzone is a set of classes to facilitate monitoring of
Zones in Swarm.  It is possible to direct information about allocated
objects into streams/files, or have it in a simple, table-style monitor 
window while the simulation is running. 

Tested with aquarium-0.03.  To build liblogzone.a, extract source and
make.  To use it, put liblogzone.a into your Makefile APPLIBS variable.

========Class hierarchy ======================

LoggingZone        - replacement for Zone

<MemLogConsumer>   - protocol
+---ASCIIMemLogger - text output
+---KISSMemLogger  - tabular output into a GUI window
+---RMemLogger     - (TODO) output capable as R input

INTERNAL:
(MemLogClassData)  - helper
(QSort)            - enhanced (Swarm)-QSort
(TextItem)         - specialized (Swarm)-TextItem

========Usages: ==============================

(0) default: sorted cumulative info in a graphics window
  ...
  initSwarm (argc, argv);

  logzone = [LoggingZone create: globalZone];

  observerSwarm = [AquariumObserverSwarm create: logzone];
  ...

(1) send alloc info (non-cumulative) to a file/stdout
  ...
  initSwarm (argc, argv);

  logzone = [LoggingZone createBegin: globalZone];
  [logzone setAsciiFilename: 0]; // to stdout
  logzone = [logzone createEnd];
  
  observerSwarm = [AquariumObserverSwarm create: logzone];
  ...

(2) set a refined logger, e.g. log cumulative info separated by commata
  to a file (make cum. the default for ascii?)
  
  logzone = [LoggingZone createBegin: globalZone];
  logger = [AsciiMemLogger createBegin: globalZone];
  [logger setCumulative];
  [logger setFilename: "testlog"];
  [logger setRecordDelim: "\n" dataDelim: ","];
  logger = [logger createEnd];
  [logzone setMemLogConsumer: logger];
  logzone = [logzone createEnd];
 
(3) log scratchZone/globalZone by replacing it with a LoggingZone

  logzone = [LoggingZone createBegin: globalZone];
  [logzone setAsciiFilename: 0]; // to stdout
  scratchZone = [logzone createEnd];
 
(4) TODO: log in R format

(5) TODO: log in other formats (contributions!) or more graphically 
sophisticated


Please send bug reports and patches to:
address@hidden
-- 
http://ME.IN-berlin.de/~rws/

                  ==================================
   Swarm-Support is for discussion of the technical details of the day
   to day usage of Swarm.  For list administration needs (esp.
   [un]subscribing), please send a message to <address@hidden>
   with "help" in the body of the message.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]