OpenTrace (HOT): A
sophisticated tracing library that provides a
consistent mechanism to submit collected data back to the Helios Core
The API provides a number of raw data types support as well as logical
typing to handle delta, interval and sustained value representation.
Trace Adaptors: A feature
of HOT that supports the multiplexing of
collected measurements out to several data consumers in addition to the
Core Server such as logging frameworks, third party APMs like CA/Wily
Introscope, JMX and Nagios. The multiplexing is completely handled in
configuration of the HOT factories so adding or modifying target
invisible to the constructs using the HOT API.
The HOT API can be embedded into applications at the source level. This
investment is secured by virtue of the externalized configuration for
tracer classes which allows configuration time and run time
several aspects of the tracing operations. Configuration is initially
through XML and at runtime, the tracers can be configured through the
management interface. Configurable attributes include
operations according to class name and metric name patterns, adding or
configured multiplexed OpenTrace adaptors and the ability to define the
generation of synthetic or aggregate measurements through value
range definitions and hierarchical metric rollups.
library of monitors that collect performance and availability
statistics from a
variety of sources including local and remote JMX, Unix, Linux and
hosts, SNMP agents, Web Servers and network monitors. The collectors
deployed in the Helios Core Server or in any Spring container.
is managed by Helios Open Trace making Helios Collectors a useful
service or as a component of another monitoring system through the Open
|Helios Ajax Agent: A combination
Helios Open Trace enabled HTTP filters, this component provides a low
and detailed view of the performance of Ajax
calls from browser based applications through the XMLHttp adaptors.
||Helios AOP: A
library of interceptors for JEE and Spring that supports the
injection of OpenTrace data collection into application stacks.
|Helios Core: The
core engine that processes and aggregates submitted tracing data from
in-VM OpenTrace clients. Trace data is aggregated and conflated in
with a interval based demarcation. The resulting data points are then
distributed to interested listeners such as the Helios Persistence
which stores collected data to a database.
high performance and flexibly configurable trace data persistence
both stores aggregated and conflated trace data to a database and
simple, streamlined and fast API to retrieve the data back.
Helios Core listener that caches a number of the most recent
defined groups of metrics and renders them into rich content such as
of real time charts (PNG, JPG etc.) or fragments of text based markup
or XML. This content is then provided to requesters through the Helios
server process embedded into Helios Core that serves rich content
the Helios Rendering service through a parameterized REST interface.
Server is implemented to support Helios Dashboards but can also be used
embed real time content into third party applications using the
and simple REST/HTTP interface.
The Helios Core central administration console and data visualization
Dashboards can be created, modified and
saved and can display custom client side rendered graphics or content
from the Helios Media Server.
subscription service where clients can register an
interest in specific sets of metrics at a real time or defined interval
As new data becomes available, or subscribed intervals enter into
most current applicable subscribed metric data will be published to the
subscribed clients. This service provides data to clients that can
own graphics and to clients that are interested in some other form of
processing on the target data stream. The interface for subscribing to
data streams is implemented in the Helios Client Data API.
Formulations: A Helios Data
Distribution subscriber that receives
the latest measurements for defined metrics and then executes formulas
one or more sets of metric data using either a spreadsheet like formula
expression language or Groovy scripts. The results of the formulas are
republished to Helios Core through HOT as derived synthetic metrics.
Processing: A complex
event processor that ingests raw or
aggregated/conflated traces and issues callbacks in accordance with
event conditions in Helios Event Processing subscribers.
experimental extension of Helios Event Processing that provides a
relevant data and events back to applications so they can react and
accordance with the state of the general application environment which
monitored by Helios. For example, the Helios Heuristics API might be
implemented to start up or shutdown nodes in a computing cloud based on
current load across the whole environment. The API could also be used
implement a server load sensitive load balancing algorithm for the
Clustering HA RMI stubs.
Helios: A compressed
and feature stripped version of Helios suitable for embedding into
other applications to provide bundled performance monitoring,
visualization and reporting.