HALLOGRAM PUBLISHING
SHOPPING CARTSITE MAPCONTACT USPRODUCTS
HOMEBARCODESDEVELOPER TOOLSUSER TOOLSTRAINING
Paul Bunyan

Communications Programming for Windows

Paul Bunyan Paul Bunyan is a message logging system used for diagnosing and handling problems in software during the development process as well as after the software is installed. Paul Bunyan is a client/server architecture consisting primarily of a message server, a viewer, and an Application Programming Interface (API). Paul Bunyan's API allows your software to programmatically create and transmit log messages (e.g. "Error ­ could not access initialization file.") to a central message server which is a program that runs as a background process on the same computer.

The message server then routes those messages onto any connected viewers (Paul Bunyan's front end desktop application which is used to display the log messages) and to any registered message handlers (any COM server that implements Paul Bunyan's COM interface through which the message server can pass log messages to user-created custom code).

Finally, the message server also saves the log messages in a persistent FIFO queue of configurable size so that any subsequently connecting viewers can download messages that have come in since the time of last connection ­ much like a news group server.

Paul Bunyan Features

Centralized Logging

Log messages spanning threads, processes, languages, machines, and sites all get pulled together for single source viewing ­ no manual merging of application logs, text files, or databases.

Multiple Simultaneous Connections

Multiple viewers can simultaneously download log messages from a single message server or, conversely, a single viewer can be used to download log messages from multiple servers. The same multiplicity is true with message handlers. Multiple message servers can pass messages to a single message handler or, conversely, a single message server can pass messages to multiple message handlers.

Performance

Paul Bunyan is lightning fast and virtually undetectable in even the most performance critical applications. The process of logging a message is completely front-end biased with all backend processing occurring on low priority threads. Message logging rates are on the order of 25,000 messages per second on a Pentium 233. As a comparison, logging the same string on the same machine using the Win32 API function OutputDebugString and the sample application DBMON yielded a rate of about 4,400 messages per second, discounting the time needed to put the messages on the screen. When the drawing is done, the rate drops to about 1,700 messages second, demonstrating the inefficiency of the design. With Paul Bunyan, what happens to the messages after they are logged has little or no impact on the logging application.

Minimal Memory, CPU, and Resource Impact

Paul Bunyan uses internal data compression in memory, on disk, and on the wire and does all of its backend processing on low priority threads. It is extremely resource-efficient and is completely configurable with regard to memory and disk space usage.

Shippable in release builds

Paul Bunyan was designed to be left in release builds of code. It is extremely fast, light, and secure. It also requires no modifications to installation programs as there are no DLLs or other components to ship (if using the C/C++ API) and it is self disabling on machines where Paul Bunyan is not installed. It is highly advantageous to leave the logging code compiled into shipping applications since enabling it then requires nothing more than installing Paul Bunyan.

Support for Numerous Programming Languages and Environments

The native API is C and C++ which can be called from many languages such as Assembly and Pascal. There is also a COM wrapper that can be invoked from automation clients, ASP (Active Server Pages), VB Script, Visual Basic and VBA-supporting applications such as Microsoft's Access, Word, Excel.

Support for Unicode and ANSI Character Sets

The C/C++ API and COM interface both fully support the Unicode character set for internationalization usage. It is supported concurrently with the ANSI version of the API so that an application can simultaneously log Unicode and ANSI data regardless of which way it is compiled.

Rich Contextual Information

Each log message contains fields for message type, timestamps (Source, Local, and GMT), component, context, machine, process, module, file, line number, process id, and thread id.

Powerful Filtering

We support filtering functionality that is very simple to use yet very powerful. Filtering can be used on an inclusive or exclusive basis and can be applied as selectively as desired to any log message field or fields.

Multiple Queries

We also support the concept of queries which are essentially filters with associated display parameters. There may be as many queries as desired for selecting, sorting, and viewing messages in various manners.

Security

Log messages are encrypted immediately upon creation even before they are transmitted to the message server and stay encrypted for the rest of their lives whether on disk or wire. Further, log messages can be locked up programmatically with passwords at the time of creation and subsequently only downloaded and viewed by users providing that password so there is no risk of airing dirty laundry in front of clients or other competing vendors.

Support for Passing Log Messages to Custom Code

Paul Bunyan supports passing log messages to your code through the use of COM. Custom coded COM servers supporting our callback COM interface are referred to as message handlers. Message handlers are typically used for handling events, translating and forwarding messages to event handling applications like Tivoli(TM) or Opalis(TM), logging transactions to databases, creating audit trails, etc.


Lite Edition

This is a fully functional, real-time debugging tool affordably priced. It supports the entire set of features with the exception of those specific to the Professional and Enterprise editions described below. The Lite edition is targeted to people who may only need synchronous real-time monitoring of log messages, such as developers working on standalone local projects or support personnel who simply connect up to check the current status of a production server from time to time.

Professional Edition

The Professional edition supports all of the functionality of the Lite edition and adds the ability for the viewer to save log messages to disk and for the message server to cache messages across reboots. These features are targeted to people who work more with persistent log messages, such as developers working with remote or distributed systems or QA personnel who perform regression testing.

Enterprise Edition

The Enterprise edition, in turn, supports all of the features present in the Professional edition and further adds the ability to route log messages to custom-coded message handlers over D/COM. It is targeted at production systems that need to programatically process log messages for event handling and/or notification. Message handlers operating in such environments are typically used for restarting services, cleaning up system resources, paging or emailing support personnel, raising events in other event handling systems such as Tivoli(TM) and Opalis(TM), releasing hounds, etc.


Paul Bunyan Lite Edition (Electronically Delivered)............$160.00
Paul Bunyan Professional Edition (Electronically Delivered)............$285.00
Paul Bunyan Enterprise Edition (Electronically Delivered)............$515.00


Home || Shopping Cart || Site Map || Newsletter/Blog
Search HALLoGRAM || Request More Information
CALL TOLL FREE 1-866-340-3404

©Copyright 1999 HALLoGRAM Publishing, Aurora CO. All Rights Reserved.
All products mentioned in this site are trademarks of their respective owners.
dmcakegrim