Driven User Guide
version 2.0.5Searches, 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 Application View.
The circled elements in Figure 1 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 Application View has the same filtering and search handles.
Note
|
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. |
Starting a Search
Searches that you can initiate at top of the Driven window support several
Note
|
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 Figure 2.
-
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 Figure 3. 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 Teams for more information about how teams are associated with applications.
Tip
|
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. Figure 4 shows how to access column-chooser 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:
Tip
|
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 Cascading objects that are executed at the step level. The process ID is correlated with the job ID of Hadoop’s JobTracker.
Note
|
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.
-
Application 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 documentation).
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, APPLICATION VIEWS, or the appropriate My Views heading.
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.
Note
|
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.
-
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.
-
She clicks the drop-down menu for filtering dates and selects Custom Date Range to set the date range to the last five days.
-
After naming and saving the search, the view link appears in the STATUS VIEWS > My Views section of the navigation panel.
-
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.
-
She searches the EasternIT Status View with the following parameters:
-
App Name: Cost_Analysis
-
Status: Failed
-
-
The graphs display failed application runs for the whole history stored by Driven.
-
As a way to gather the most recent root causes of application failure, Joanne further filters the view to 1 week.
-
To help herself and others find the relevant application execution details in Driven, Joanne saves the view as an Application View called Recent_CAFail.
-
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 APPLICATION VIEWS > Team Views section of the navigation panel.
Note
|
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.
Note
|
The letters in the query statement syntax are case-sensitive. |
Application Attributes | Sample Values for Parameters | Statement Syntax |
---|---|---|
Processing duration; Tag identifier |
Duration more than or equals 5 minutes; Tag identifier = production |
|
Pending status time; Runtime |
Pending time does not equal 0; Runtime > 0 |
|
Application name; Processing duration |
Name = Cascading-Hive; Duration more than or equals 5 minutes |
|
Application name containing spaces |
Name = sales region |
|
Counter with a particular value |
The BYTES_WRITTEN counter equals 814186673 |
|
Counters with a value in a particular range |
The BYTES_WRITTEN counter equals or is greater than 814186000 |
|
Path to user directory |
Path is /Users/smith/company/code/project |
|
Note
|
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 Cascading 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.
Attribute | Displayed in GUI? |
---|---|
(Duration and other time-based attributes are listed at bottom of table.) |
|
cascadingVersion |
App Details page |
classpath |
No |
command |
Searchable with App Command filter; |
counter |
App Details and Unit-of-Work Details tables |
finished |
Searchable with Status filter |
frameworks |
App Details page |
id (application ID) |
Searchable with the App ID filter; |
jarName |
App Details page |
jarPath |
App Details page (click on JAR Information link to display the path) |
javaClassVersion |
No |
javaCompiler |
No |
javaHome |
No |
javaInterpreterVersion |
No |
javaIoTmpdir |
No |
javaVendor |
No |
javaVendorUrl |
No |
jvmMaxMemory |
No |
localeCountry |
No |
messagingProtocolVersion |
No |
name |
Searchable with App Name filter; |
osArch |
No |
osName |
No |
osVersion |
No |
owner |
Searchable with the App Owner filter; |
pid |
No |
pluginVersion |
Displayed on the App Details page when you hover over the information icon |
status |
Searchable with one of the Status filters; |
tags |
Searchable with the App Tags filter; |
type |
Types that are identified in the Driven user interface are applications, units of work, and steps |
userDir |
No |
userHome |
No |
userLanguage |
No |
userRegion |
No |
userTimezone |
No |
version |
No |
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 |
finishedTime |
Duration-time attributes |
duration |