This article provides an introduction to Streams Console “Application Dashboards”. Learn about dashboard filters, visualizations and queries.
Every application is different, so you need to track a diverse range of information to ensure that your applications are functioning properly. For example, for one application, you might need to monitor the ingest streams to ensure that they do not become congested. For others, you need to monitor a set of operator streams to ensure that they are generating tuples successfully.
Each Application Dashboard has a default “Dashboard Filter” applied, called “My Jobs”, which filters information of only the jobs started by the user logged in. This is fairly useful when you need to log into a domain with many jobs and do not want to request information about other user applications unnecessarily. Using filters allows the application dashboard to load and respond much quicker since the console is requesting only a set of jobs from the Streams server. Other ideal dashboard filters can be selected using job groups, application names or operator tags.
Application Focused Dashboard called “IngestDashboard”
How to set dashboard filter:
All the information returned by the dashboard filter, can be displayed in different visualizations contained on a set of cards. These cards can also be customized by choosing the objects displayed within the card. Some of default cards on the Application Dashboard are:
- Summary. The summary card displays a counter of streams objects categorized by: jobs health, operators health, streams connection state, PE connection congestion factor and consistent region state.
- Streams Tree: The streams tree displays the streams objects in hierarchical order.
- Streams Graph: The streams graph displays a flow graph of the application operators and stream connections.
- Other visualizations such as Scattered Charts, Bar Charts, Line Charts and Grids can be added to measure system or user defined metrics.
A query is a criteria run against your Streams domain to produce a meaningful result set of relevant information about your applications. The main goal of a query is to reduce clutter and allow you to focus on specific parts of your applications that need constant monitoring. A query can be used as a dashboard filter, but also it can be reused to create interesting visualizations.
Dashboard + Dashboard Filter (Query) = Focused application dashboard
Query + Visualization + Card = Focused visual cues card
For example, a query such as “FileSource Operators” can define a rule with a condition where the “operator kind” contains “FileSource”. If you set this query with a operators line chart, you can notice that the visualization metric is focused on only the FileSource operators. This comes very useful when you work on a domain with many operators processing information at different rates.
Adding more conditions to each rule will make the query result more specific. For example, given a query scoped to find all the “FileSource” operators from all the sample jobs started by Adriana. By editing the query above, we can add two more conditions: “job name” starts with “sample” and “job started by user” contains “adriana”. This can be useful when visualizations can present information from a broad overview to a more fine level of detail.
- Adding more rules can provide more generalization to the query. Therefore either rule can bring any result, expanding the number of objects returned.
How to add card and edit its query:
Click on the button to deep dive on the Application Dashboards tutorial :