Query Basics

This blog post will give you a short introduction into the basics of Apama Queries and Query Designer.

A query is one of the basic units of EPL program execution like a monitor. An Apama query is a self-contained processing element that communicates with other queries, and with its environment, by sending and receiving events. Queries are designed to be multi-threaded and to scale across machines.  A query finds specified event patterns or aggregates event values.… Read More

Logging in Apama

Logging is a very useful way to understand the internal workings and state of an application, be it debugging information when an action is called, or error information when something has gone wrong.  In Apama you can write effective diagnostic information using log statements in all parts of your code (be it EPL or plug-ins) and have log messages written out to a file with a severity and time-stamp.  This blog post discusses how to write logging statements in different components of an application, and how to configure what log messages are written to different log files.… Read More

More advanced EPL: Contexts, channels and event filtering

In the Apama EPL first steps blog, we explored the basic concepts and constructs used to create EPL programs. In this blog, we will build upon this and look at some more advanced features of the EPL language, namely those around sending and receiving events, as well as extending our knowledge of filtering specific patterns of events.

Sending and receiving

We know that EPL can process incoming events with a listener, but where do these events come from?… Read More

Inheritance? In Apama?

One of the common questions we hear about Apama, and EPL, is: “How can I create derived classes?” The naive answer is “you can’t” – but let’s dig a little deeper.

First off, a little bit of background. Apama EPL doesn’t have classes – it has events. An event can have both data and methods (actions) but it is not a class. Among other things, this means that you can’t directly extend or inherit an event.… Read More

EPL Memory Profiler

EPL Memory profiling is about investigating and analyzing an Apama application’s behavior to aid in optimizations for better memory usage and identifying any leaks. Apama’s capability to profile the EPL memory usage does provide a handy mechanism to identify any listener or object leaks used in the application within the correlator. Identifying such leaks could otherwise be a daunting task for any developer.

Note : Usage of the memory profiler is recommended during the development or debugging of an EPL application but, not when in production since it impacts the performance of the application.… Read More