Driven User Guide: Searches, Saved Views, and Accessing Relevant Data

version 2.2.6

1. Overview of Monitored Applications

1.1. Logging In

2. Searches, Saved Views, and Accessing Relevant Data

2.1. Starting a Search

3. Using the App Details Page

3.1. Searching App Details

4. Understanding the Unit of Work Details Page

4.1. Viewing Unit-of-Work Details

5. Managing Applications with Tags

5.1. Best Practice for Tags

6. Configuring Teams for Collaboration

6.1. Creating and Managing Teams

7. Using Annotations

7.1. Creating Custom Annotations

8. Execute Hive Queries as Cascading HiveFlow

8.1. Using HiveFlow

9. Execute Cascading MapReduce Flows
10. User Profile

10.1. User Actions

10.4. Invitations

10.5. Teams

Searches, Saved Views, and Accessing Relevant Data

The graphs of a Status View provide an overall profile of application processing. But you are also likely to want to explore applications in more depth and with a sharper focus than the displayed accumulation of all runtime information provides. The Driven Plugin collects a rich set of operational data with each application run, which is indexed in the persistence layer of the Driven server. Searching, filtering, and using saved views help focus on the dimensions of application runs that are of most interest to you.

You can save searches with particular filters and search terms as views so that you and other members of your Driven team can retrieve the search criteria and apply to data later with one click. Depending on how permissions are set, you might also be able to share views with users outside your team. When you save a view, you can choose to save it as a Status View or to focus on specific application runtimes by saving it as an Periodic View.

The circled elements in Searching and filtering controls of application data, including saved views show the areas of the Status View that allow you to filter what data populates the metrics on the page when you want to adjust the scope of reported performance data or to see different metrics. The Periodic View has the same filtering and search handles.

Apps View Driven2dot0
Figure 1. Searching and filtering controls of application data, including saved views
An app details page also has search capabilities, but the search filters are different to better focus on finding relevant details after you identify an application run that you want to inspect. See Using the App Details Page.

Searches that you can initiate at top of the Driven window support several application-, statement-, process-, and resource-level query attributes. This is the starting point for mining performance data if you do not have access to any helpful saved views in the navigation panel.

You can use the asterisk (*) as a wildcard character. The search feature does not support other special characters ("",@, #, $, <, >, ?, etc.) in search strings and does not support spaces.

There are multiple parameters that you can invoke to query the application runs:

  • Application, statement, process, and resource metadata - You can use a filter to specify a category for your search term. Click the All drop-down menu to select a parameter. The available search filter parameters are shown in Search filter parameters.

  • Date - Click the All dates drop-down menu to select a predefined date range or to customize the date or dates.

  • Status - Click the Status drop-down menu to filter on an application-run parameter that is listed in Status filter parameters. The predefined Active states filter queries for applications that are in Pending, Started, Submitted, or Running state. The predefined Finished states filter queries for applications that are in Successful, Failed, or Stopped state.

  • Teams - Click the All Teams filter button to filter application data based on association with one or more Driven teams. See Configuring Teams for more information about how teams are associated with applications.

search filter
Figure 2. Search filter parameters
status filters
Figure 3. Status filter parameters
If the application ID, tag, or owner is not displayed in the Details Table of the search results, use the column chooser to bring these dimensions in view. Column chooser icon and excerpt of selectable attributes shows how to access column-chooser attributes.
columnChooser appID
Figure 4. Column chooser icon and excerpt of selectable attributes

Statement and Process ID Filters

You can search by filters that focus on components that are more granular than an application. Searches that are filtered by Statement and Process ID return application instances that have matching criteria on the step level. Information about the step level is on the Unit of Work Details page.

The Statement search filter is useful for finding applications containing select statements at the unit-of-work level. Generally, applications can contain SQL statements, such as Hive-based apps with Hive Query Language (HQL). For example, consider the select statement for the Hive Flow -CalculateAverageQuantity flow, which contains:

HiveFlow Select
You can use the asterisk symbol (*) as the wildcard at the front and end of the text within the SELECT statement you want to search.

The Process ID search filter is helpful for finding applications with objects that are executed at the step level. The process ID is correlated with the job ID of Hadoop’s JobTracker.

In a search using the Process ID filter, the wildcard character (*) is NOT supported. Such a search would potentially return all components from every slice in all applications on the system, which can be a very expensive operation.

Resource Filters

The result set of searches filtered by Resource Identifier and Resource Field display applications that run with Resources matching the search criteria. Each application in the results has a Resource identifier or field name (depending on which filter is selected) that matches the string that is typed in the search field.

Resource identifier refers to a uniform resource identifier (URI) for the Resource. The Resource Identifier search filter returns applications that have processed data from a resource matching the identifier-string criteria as entered in the search field. A use case for a resource-identifier search is to discover which applications are accessing particular data resources. For example, a database administrator (DBA) who plans to bring down the system for maintenance could want to schedule a period for the outage by consulting with the people who run or use the affected database resources. A list of applications helps the DBA identify which users and groups access the data resources so that they can be contacted.

A Resource field is usually a descriptor for a field of sourced or sinked data. Searching with the Resource Field filter can help you detect whether or not applications are accessing particular types of data sets. Because a field is a grouping of data by a criterion, the field name in many cases reflects the nature of the data. For example, a field with the name "CC_number" could be used for a field containing credit card numbers.

The ability to easily diagnose application processing on the resource-field level can be useful in environments where a field is known to contain sensitive or confidential data that should not be exposed by running applications. By searching for the field name with the Resource Field filter selected, Driven parses runtime information to focus on whether or not applications process data from the field. Such a search can be a practical use case in an environment that needs to demonstrate or audit for data-security compliance. In this type of use case, the absence of search hits for an application with the given resource field indicates separation from the protected data set.

Saving Search Queries as Views

After searching for applications based on the parameters you have defined, you can save the query as a view. You can then return to the view to retrieve all applications that match the search criteria and filters. Search results of a saved view are dynamic, displaying applications with matching search parameters at the time that the view is opened.

When you save the view, select what information about the matched applications to display:

  • Status View highlights accumulated data about application states, graphically displaying the total numbers and relative frequencies of application statuses.

  • Periodic View provides canned quality-of-service statistics and heat maps by selectable timelines, which can serve as a gateway to discovering relevant details about repeated executions of specific applications (see [application-views]).

After you save a view, it appears as a link under a My Views heading in the navigation panel. If you do not see the link, you might need to expand STATUS VIEWS, PERIODIC VIEWS, or the appropriate My Views heading.

save your view
Figure 5. Saving a view

My Teams Views

Each link in the MY TEAMS area of the navigation panel is an entry point to a Status View that is associated with a team of which you are a member. A link in the MY TEAMS area of the side panel opens to a Status View that has the same parameters as the SHOW MY APPS page, except that the data is filtered to show only information that is correlated with the selected team.

The purpose of this type of view is to isolate metrics of application activity that is monitored by a single team. By opening a link under MY TEAMS, you get a broad view of a specific team’s application performance. The view can then be used as a gateway to further refine filter parameters or to start focused searches without extraneous data from applications that are associated with other teams.

MY TEAMS links are generated automatically by virtue of belonging to teams and not actively "saved" by a user.

Case Examples of Searches, Views, and Teams

Joanne is a member of the ServerStar and EasternIT teams. She sees links for both of the teams under MY TEAMS. Other members of the ServerStar team see the same ServerStar link in their MY TEAMS navigation panels and access the same information if they click the view. The same applies to the EasternIT team.

Saving a Status View
  1. After Joanne opens the ServerStar link under MY TEAMS, she finds the information useful in general but she wants to refine the filter parameters to focus on application status for the past five days.

  2. She clicks the drop-down menu for filtering dates and selects Custom Date Range to set the date range to the last five days.

  3. After naming and saving the search, the view link appears in the STATUS VIEWS > My Views section of the navigation panel.

Saving and Sharing an Periodic View
  1. Joanne wants to troubleshoot why instances of an application named Cost_Analysis, which is administered by the EasternIT team, fail intermittently. She clicks the EasternIT link under MY TEAMS.

  2. She searches the EasternIT Status View with the following parameters:

    • App Name: Cost_Analysis

    • Status: Failed

  3. The graphs display failed application runs for the whole history stored by Driven.

  4. As a way to gather the most recent root causes of application failure, Joanne further filters the view to 1 week.

  5. To help herself and others find the relevant application execution details in Driven, Joanne saves the view as an Periodic View called Recent_CAFail.

  6. She wants other people on the EasternIT team to see the data to help troubleshoot the problem. After navigating to STATUS VIEWS > My Views > Recent_CAFail in the navigation panel to share the view, she selects only the EasternIT team because no other users should access the application data. When EasternIT teammates are viewing Driven, they will see a Recent_CAFail link in the PERIODIC VIEWS > Team Views section of the navigation panel.

See Sharing and Limiting Access to Application Information for more information about sharing views.

Customizing Searches

You can create custom searches for application runs that have specific attributes, such as having a certain time range for processing or populating a counter with a defined value range. Custom searches are based on Lucene query syntax, which is entered in the search field of a Status View or Application View.

As with searches that do not use Lucene query syntax, custom searches return applications that match your search-parameter values and that are associated with your Driven teams.

Table 1 shows some examples of the types of information that can be retrieved with a custom search and the query statements to obtain the application search results. Refer to the statement syntax examples in Table 1 for guidance on how to construct some types of Lucene queries. For detailed information about the required syntax in search queries, see Apache Lucene - Query Parser Syntax documentation.

The letters in the query statement syntax are case-sensitive.
Table 1. Examples of Custom Search Goals and Statement Syntax
Application Attributes Sample Values for Parameters Statement Syntax

Processing duration; Tag identifier

Duration more than or equals 5 minutes; Tag identifier = production

duration:[300000 TO *] AND tags:production

Pending status time; Runtime

Pending time does not equal 0; Runtime > 0

NOT pendingTime:0 AND (NOT runTime:0)

Application name; Processing duration

Name = Cascading-Hive; Duration more than or equals 5 minutes

name:Cascading-Hive* AND duration:[300000 TO *]

Application name containing spaces

Name = sales region


Counter with a particular value

The BYTES_WRITTEN counter equals 814186673\:apache\:hadoop:\mapreduce\:lib\:output\:

Counters with a value in a particular range

The BYTES_WRITTEN counter equals or is greater than 814186000\:apache\:hadoop\:mapreduce\:lib\:output\:
FileOutputFormatCounter.BYTES_WRITTEN:[814186000 TO *]

Path to user directory

Path is /Users/smith/company/code/project


You must prepend a custom search query for counter values with counters.

As also shown in the counter examples, backslashes are required as escape sequences to comment out colons in the paths so that they are not parsed as Lucene syntax.

Table 2 lists application attributes that are most relevant to searches in Driven. The most commonly used search targets, such as app name, are integrated in the Driven GUI so that you do not need to run a Lucene query to find matches. When an attribute can be located by a search filter or column chooser, Table 2 lists the part of the user interface that can be used to track the information.

Although an application attribute might be searchable with the GUI controls, you might prefer to query for the attribute and value in a Lucene query. This is particularly true when you want to find matches based on a range of values or if you want to run a complex query.

Elasticsearch truncates field values that exceed 16,000 characters. If a search parameter value includes characters that appear only in a string beyond the character limit (such as a very long classpath), Driven does not return a match because it is unable to search for possible matches after 16,000 characters of a string.

Table 2. Searchable Application Attributes
Attribute Displayed in GUI?

(Duration and other time-based attributes are listed at bottom of table.)


App Details page




Searchable with App Command filter;
Displayed on App Details page

(Note: counters. must prepend the path in the query)

App Details and Unit-of-Work Details tables


Searchable with Status filter


App Details page

id (application ID)

Searchable with the App ID filter;
Displayed as the last node of the URL for the App Details page


App Details page


App Details page (click on JAR Information link to display the path)






















Searchable with App Name filter;
Displayed on Periodic View and Application Details pages








Searchable with the App Owner filter;
Displayed on the App Details page




Displayed on the App Details page when you hover over the information icon


Searchable with one of the Status filters;
Displayed in Status View and Periodic View


Searchable with the App Tags filter;
Displayed on the App Details page


Types that are identified in the Driven user interface are applications, units of work, and steps













Time Attributes

All time attributes with corresponding values can be displayed in the App Details and Unit-of-Work Details tables, except for the lastCounterFetchTime and statusTime attributes.

Absolute-time attributes
Values for these attributes are in milliseconds:


Duration-time attributes
Values for these attributes are in Unix time:

(duration = Amount of time from STARTED to FINISHED status.
Equivalent to the startTime:finishedTime attribute.)

Periodic Views

Monitoring and troubleshooting often entails breaking down runtime data to separate application instances and comparing them, especially for applications that run repeatedly. The Periodic View provides a platform for inspecting application runs both by discrete blocks of time and cumulatively.

After searching or filtering the information in a Status View such that the applications, time range, or other dimensions focus on what you want to explore in more depth, save the parameters as an Periodic View. Periodic View: Filtered to executions of an app in the last 3 months shows an example of the Periodic View, which is followed by a description of how to gather and customize information in the view. You can also create a new Periodic View by finding an application execution and clicking on its History button, and then saving the view it brings you to.

periodic view entire Driven2dot2
Figure 6. Periodic View: Filtered to executions of an app in the last 3 months
The Periodic View is ideal for monitoring instances of a single application that executes at periodic intervals. Adjust the search and filter criteria to focus on a particular application, and then save the criteria as an Periodic View for quick retrieval later. A look at the graph can provide a visual cue to spot application run outliers.

The Periodic View displays the following:

  • Summary Statistics: The Summary Statistics section of this page contains a graph and a table outlining application activity chronologically so that you can compare the activity among periods in one glance. Using the controls in the timeline selector area, you can filter the information that appears in the Interval Statistics, the App Execution Graph, and the Details Table to help focus on relevant data.

  • App Execution Graph: The App Execution Graph is an interactive railroad diagram of individual application runs that highlights anomalous setup, queueing, and execution durations for a periodic application. The graphical, interdependent representation of application performance metrics can help pinpoint problematic application runs and correlate instances with root causes of potential or existing bottlenecks.

  • Details Table: The Details Table is a table of execution details for current and past application runs that are linked to underlying metrics and contain hyperlinks to even more granular slice performance information.

Metric Graph

The metric graph plots a variety of metrics, including durations and the number of application executions. The gray shading represents the time range for which Driven displays data on the rest of the page. Nodes on the graph represent the beginning and ending of time intervals, the size of which is set with the buttons above and to the right of the graph. Navigating the metric graph to select time intervals illustrates how you can control the timeline.

timeline selector
Figure 7. Navigating the metric graph to select time intervals

Quality-of-Service Statistics

The Periodic View can automatically display a range of statistics about application execution. To display all metrics or specific metrics that Driven can calculate, click the configuration wheel above the statistics table (app runtime settings icon).

Table 3. Statistics of the Periodic View
Metric Calculation Method

Failed Ratio

Ratio of number of FAILED app runs to number of all app runs

Mean Effective Parallelism

Total runtime of all slices divided by runtime of the app, averaged over all app instances

Mean Pending Duration

Average time between when apps enter PENDING status and when apps reach RUNNING status

Mean Periodicity

Average of time periods between when one app run enters PENDING status and the next app run enters PENDING status

Mean Running Duration

Average time between when apps enter RUNNING status and when apps reach a finished state

Mean Total Duration

Average time between when apps start (enter PENDING or RUNNING status) and when apps reach a finished state

Stop Ratio

Ratio of number of stopped app runs to number of all app runs

Total Count

Total number of app executions

After you select statistical metrics, the information is displayed in two ways:

  • Aggregated Statistics is an accumulation of your selected metrics for application run data that spans the entire period as specified in the search time parameters for the Periodic View.

  • Interval Statistics displays the metrics based on data only from the selected interval size.

The Application Execution Graph

The Application Execution Graph is a railroad diagram, which plots a dynamic representation of application executions over time. Each line in the graph represents a phase of an application run over the selected time interval: setup, queue, and execution. The setup phase is when an application is launched and is setting up its work. The queue phase is when the application has sent jobs to be executed on a cluster. Finally, the execution phase is when the cluster jobs are executing. These phases correspond to the application statuses Pending, Started, and Running in the search filters on the top of the page and the Details Table below.

Application phases that are still executing at the current time are rendered as dashed lines and phases that fail or are manually stopped are colored either red or orange, respectively.