Reports (Automated or Manual)
Features
Automatic and Manual Report in CSV, PDF and/or HTML.
Automatic Report
Automatic and recurring report (in CSV format) via email using the Germain's SQL report mechanism
Germain Workspace > Left Menu > Automation > Report

Report Configuration View in Germain UX
Configure
Create new SQL report action in config console (germain.apm.monitoringConfig.actions)
Create action that determines execution schedule for report (germain.apm.monitoringConfig.jobs)
Create template for alert (germain.apm.templates)
Set File name for your report
Within the template you have access to the action config and result set, as well as built-ins from freemarker. Example:
Report ${config.name} - ${.now?string[\"dd_MMM_yyyy\"]} - ${result.rowCount} rows
Your file name will be
MyReport - 04_MAY_2020 - 1384 rows.csv
Multiple Query Report
Ability to generate a report (sent via an email or sms) that contains data from separate SQL queries.
Germain Workspace > Left Menu > Automation > SQL

Multiple Query Report - Germain UX
Template
Allows a user to see and modify the actual content of a template for a report.
Germain Workspace > Left Menu > Systems > Templates

Report Template - Germain UX
Charts and Graphs
In addition to tabular displays, reports can also utilize charts and graphs to visualize data.
Area Chart
Given the following sample data set against which the report is configure to run:

To render the result as an area chart, use the following expression inside the report template:
<!DOCTYPE html>
<head>
<title>My Report</title>
</head>
<body>
${charts.ring("Area Example", context.at(0), "DATE", "VALUE", "NAME").inline(800, 400)}
</body>
</html>
The resulting area chart using the “DATE” and “VALUE” fields on the horizontal and vertical axes, as well as the “NAME” field to differentiate between the different series to display:

Area In a Germain UX Report
Bar Chart
Using the same example data set as for the pie chart above, the following expression inside the template can be used to render a bar chart:
<!DOCTYPE html>
<head>
<title>My Report</title>
</head>
<body>
${charts.ring("Bar Example", context.at(0), "NAME", "VALUE").inline(800, 400)}
</body>
</html>
The resulting graph used the “NAME” and “VALUE” columns and renders at 800 by 400 pixels:

Bar In a Germain UX Report
Histogram
Given the following sample data set:

The following expression renders the result as a histogram using a bucket size of 10:
<!DOCTYPE html>
<head>
<title>My Report</title>
</head>
<body>
${charts.histogram("Histogram Example", context.at(0), 10, "SESSION_DURATION", "BROWSER").inline(800, 400)}
</body>
</html>

Histogram In a Germain UX Report
Pie Chart
Given a report that queries the following sample data set:

To render the result as a pie chart, use the following expression inside the report template:
<!DOCTYPE html>
<head>
<title>My Report</title>
</head>
<body>
${charts.pie("Pie Chart", context.at(0), "NAME", "VALUE").inline(800, 400)}
</body>
</html>
This directs the report to render the a pie chart using the “NAME” and “VALUE” columns. The chart will be included as an inline attachment with a resolution of 800 by 400 pixels:

Pie Chart in a Germain UX Report
Ring Chart
Using the same example data set as for the pie chart above, the following expression inside the template can be used to render a ring chart:
<!DOCTYPE html>
<head>
<title>My Report</title>
</head>
<body>
${charts.ring("Ring Chart", context.at(0), "NAME", "VALUE").inline(800, 400)}
</body>
</html>
The resulting graph used the “NAME” and “VALUE” columns and renders at 800 by 400 pixels:

Ring Chart in a Germain UX Report
Trend Chart
Using the same data set as for the area chart example above, the following creates a trend chart inside the report template:
<!DOCTYPE html>
<head>
<title>My Report</title>
</head>
<body>
${charts.trend("Trend Example", context.at(0), "day", "DATE", "VALUE", "NAME").inline(800, 400)}
</body>
</html>
Notice that this will fill in any gaps in the timeline:

Trend Graph In a Germain UX Report
Use Case Examples
Hourly/daily report via email
You can send hourly / daily report in an email, that listed all slow application logins instead of sending email alerts for each one of them.
PowerShell/html script that automatically generates and emails a CSV report
You can write a script that allows generation of an email with an CSV attachment to be used for alerting, reporting, etc.
Manual Report
Report can be generated via a few clicks on most Germain Dashboards.
Feature Availability: 8.6.0 or later