Skip to main content
Skip table of contents

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

  1. Create new SQL report action in config console (germain.apm.monitoringConfig.actions)

  2. Create action that determines execution schedule for report (germain.apm.monitoringConfig.jobs)

  3. Create template for alert (germain.apm.templates)

  4. 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:

CODE
Report ${config.name} - ${.now?string[\"dd_MMM_yyyy\"]} - ${result.rowCount} rows

Your file name will be

CODE
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:

CODE
<!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:

CODE
<!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:

CODE
<!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:

CODE
<!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:

CODE
<!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:

CODE
<!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

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.