> ## Documentation Index
> Fetch the complete documentation index at: https://docs.germainux.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 01/31/19 Release Notes

> Highlights of the GermainUX release of January 31, 2019, including monitoring and analytics updates and maintenance fixes.

> **[Android App](#monitoring-%26-analytics-android-app)**
>
> Monitoring & Analytics

> **[Node.js](#monitoring-&-analytics-node-js)**
>
> Monitoring & Analytics

> **[Java & JVM (deeper insights)](#monitoring-%26-analytics-java-%26-jvm-deeper-insights)**
>
> Monitoring & Analytics

> **[User Replay](#monitoring-%26-analytics-user-replay)**
>
> Monitoring & Analytics

> **[IIS web server](#monitoring-%26-analytics-iis-web-server)**
>
> Monitoring & Analytics

> **[Oracle KB](#monitoring-%26-analytics-oracle-kb)**
>
> Monitoring & Analytics

> **[Siebel - Error by OM](#monitoring-%26-analytics-siebel-error-by-om)**
>
> Monitoring & Analytics

> **[Siebel - SQL Statement - raw & bound](#monitoring-%26-analytics-siebel-sql-statement-raw-%26-bound)**
>
> Monitoring & Analytics

> **[compliance & audit review](#monitoring-%26-analytics-compliance-%26-audit-review)**
>
> Monitoring & Analytics

> **[Plugins available in germain APM](#monitoring-%26-analytics-plugins-available-in-germain-apm)**
>
> Monitoring & Analytics

> **[MySQL for germain APM](#maintenance-mysql-for-germain-apm)**
>
> Maintenance

> **[SiteMinder support](#maintenance-siteminder-support)**
>
> Maintenance

> **[Tuning Tip for Spring Boot (if using germain APM \< 8.5.15)](#maintenance-tuning-tip-for-spring-boot-if-using-germain-apm-\<-8-5-15)**
>
> Maintenance

> **[minor enh & bugs (january)](#maintenance-minor-enh-%26-bugs-january)**
>
> Maintenance

## Monitoring & Analytics - Android App

### Description

Germain is now able to monitor additional metrics and events while monitoring an Android App, such as:

* Crash
* Page navigation
* Transactions

## Monitoring & Analytics - Node.js

### Description

Germain is now able to monitor performance of NodeJS application and send alert (email/sms) for any issue. Areas/entities that Germain monitors and provides insights on while monitoring a NodeJS application, in the case you use Node.js as an application server (on the other end, if you are using Node.js as a front-end, the below list of benefit may or not apply and all you need to do to enable that monitoring is to declare our 2 javascripts within your node.js app, and we can provide more details if needed):

* Crash monitoring and analysis
* Disk monitoring
* Error monitoring (crash, etc)
* Event loop performance monitoring
* Exception monitoring
* Exit monitoring

> **Show all 20**
>
> * Express monitoring
> * Heap size and heap usage monitoring for node.js process
> * Integrate existing generic monitoring features
> * Load average monitoring
> * Logging integration
> * MarkoJS app name extractor
> * MultipleResolves monitoring
> * Network / incoming and outgoing HTTP monitoring
> * OS monitoring
> * Promises rejection monitoring (Unhandled promise rejections, etc).
> * Startup duration monitoring
> * Tagging requests from UX and extract on node.js
> * Transaction monitoring
> * Warning monitoring (bad coding practices, bugs, or security vulnerabilities),

and few aspect of the management/configuration of that feature:

* Configuration for the session extractors
* NPM deployment
* Email Alert (generic, preconfigured for NodeJS, and configurable)

### Installation & Configuration

[Node.js](/main/node-js-monitoring.md)

### Support

Node.js 8.0.0 and above.

## Monitoring & Analytics - Java & JVM (deeper insights)

### Description

Re-designed and enhanced germain Germain's Java & JVM monitoring feature. Customers can now monitor the execution duration of any java method / service through **code injection**. Our past/old Java monitoring capability was just doing **sampling** CPU profiling (i.e., check every N milliseconds to see which function is currently active and accumulate that over time). Code injection provides a significantly better accuracy and greater depth when it comes to identifying slow or inefficient java methods.

Features:

* Call(s) per Service
* Events monitoring
* Inbound & outbound HTTP monitoring
* Inbound & outbound JMS monitoring
* Session ID self-populate on inbound HTTP requests
* Support for generating metrics collection
* SQL execution
* Transactions monitoring

### Benefits

Greater depth of insights to help identify bottlenecks that prevent a Java application to be available or be fast

### Performance Impact

**Small/negligible**performance impact on the monitored application. Here are some details about the load tests we performed on our labs, to understand how much of an impact this newly enhanced java monitoring mechanism may cause on a monitored application

Test scenario & result: 50 concurrent users browsing germain Germain dashboard and config console + 300 users using a CRM web application and being monitored by germain Germain engines & js scripts)

CPU Increase: 0.5% increase in CPU

Memory increase: \< 50 MB

Response time (average overhead / request)

HTTP requests: +0.26ms

Generic Java method: +0.35ms

SQL statements: +0.37ms

SQL Prepared statement: +1.5ms

### Configuration

[Java Operational Experience Intelligence](/main/java-monitoring.md)

### Example

**RCA for Inbound Java request > custom java method call > SQL query execution**

![01/31/19 Release Notes: Configuration](https://mintcdn.com/germain-ux/Jw6D65yKWJ4U5yOS/images/main/01-31-19-release-notes/sql.png?fit=max\&auto=format\&n=Jw6D65yKWJ4U5yOS\&q=85\&s=b3fa12906686ea81a84d6c97a8ec817b)

* and all these other benefits and visualizations are still available: Monitoring & Analytics - Java & Weblogic
* and there is more to come in February and March of 2019 - stay tuned...🙂

## Monitoring & Analytics - User Replay

### Description

As announced last month, we have released a re-designed and enhanced version of our Real User Session Replay feature. Here is below an example of [User Session Replay for a Siebel CRM](https://www.youtube.com/watch?v=5OswdM78GFE\&t=4s) (we added that video example a week after announcing the 12/31/19 release notes.

## Monitoring & Analytics - IIS web server

### Description

Enhanced IIS monitoring and now provide:

* User Agent, Method, ...monitoring and raw data extract available.
* Requests
* Errors
* Warnings

### Example

## Monitoring & Analytics - Oracle KB

### Description

Synthetic Transaction against Oracle Knowledge Base management ([https://www.oracle.com/applications/knowledge-management.html](https://www.oracle.com/applications/knowledge-management.html)), is now preconfigured in OOTB Germain

### Benefit

Detect availability or performance issue with Oracle Knowledge Base management

## Monitoring & Analytics - Siebel - Error by OM

### Description

Added OOTB a portlet that views siebel error by object manager...this was a 5min job, but FYI it is available in Germain 8.5.15 onwards.

## Monitoring & Analytics - Siebel - SQL Statement - raw & bound

### Description

Germain now reports RAW and BOUND SQL statement. that is currently configured for Siebel and the Siebel log level have to be set accordingly. And as a reminder and as an alternative, SQL statements are also monitored directly from within the database (Oracle, SQL srvr, DB2 UDB, MySql, etc).

### Benefit

Time saving for DBAs that need these to tune slow SQL statements.

### Example

## Monitoring & Analytics - compliance & audit review

### Description

One of our clients needs to provide data from its CRM application to another system for Compliance review & Auditing. Specifically, client is planning to query Germain datamart to pull out data and send it to its compliance repository. Some of the data that is going to be pulled out of the Germain datamart:

* Successful Logon Attempts
* Logoff
* Failed Logon Attempts
* Authorization Failures
* Input validation errors (CRM application errors when user inputs invalid data)
* Logging Failures (gaps in logging)

> **Show all 18**
>
> * Unexpected service stop
> * Log(Disk) storage capacity exceeded
> * Saved browsers (which browsers accessed system)
> * Administrator Activities
> * All activities while logged in as administrator
> * System start-up
> * System shut-down
> * Log service start
> * Log service stop
> * Changes to system (CRM configuration changes, etc)
> * Change of CRM logging level
> * etc

## Monitoring & Analytics - Plugins available in germain APM

We updated the list of technologies we have configured Germain for: [https://germainux.com/plugins](https://germainux.com/plugins)

## Maintenance - MySQL for germain APM

Description

FYI. For some of our AWS cloud customers using MySQL as datastore for Germain, and with almost no tuning, we are reaching **4k inserts per second** in MySQL (2kb insert size in average).

![01/31/19 Release Notes: Maintenance - MySQL for germain APM](https://mintcdn.com/germain-ux/Jw6D65yKWJ4U5yOS/images/main/01-31-19-release-notes/mysql.png?fit=max\&auto=format\&n=Jw6D65yKWJ4U5yOS\&q=85\&s=7e223be3603db55071787188a583d1f6)

(Reminder that Germain currently supports:

* Oracle DB
* DB2 UDB
* Sql Server
* MySQL
* MemSQL, in-memory db technology)

## Maintenance - SiteMinder support

### Description

UX through siteminder url, to be able to securely monitor User Experience of an application using a public URL

## Maintenance - Tuning Tip for Spring Boot (if using germain APM \< 8.5.15)

### Issue

Our Spring Boot service (used for Session Replay) was crashing running out of memory generating this exception:

Exception: \
&#x20;`2019-01-26 17:44:00,006 INFO SessionTrackingService - Processed 130 sessions. - [pool-2-thread-1] 2019-01-26 17:44:03,733 ERROR FileBackedStorageEngine - Failed to allocate a direct buffer for a FileChannel write. Consider increasing the -XX:MaxDirectMemorySize property to allow enough space for the FileChannel transfer buffers - [Ehcache [_default_]-1147] 2019-01-26 17:44:04,633 ERROR FileBackedStorageEngine - Failed to allocate a direct buffer for a FileChannel write. Consider increasing the -XX:MaxDirectMemorySize property to allow enough space for the FileChannel transfer buffers - [Ehcache [_default_]-1148] 2019-01-26 17:44:58,060 INFO SessionCache - Flushing stale sessions before: 2019-01-26T16:44:58.060 - [pool-2-thread-1] 201`

### Tuning solution

Please apply this tuning recommendation to your environment if you are on Germain 8.5.14 or prior:

Add parameter **-Djdk.nio.maxCachedBufferSize=262144**to the session services to prevent them from caching large files in memory in these files:

Windows: \$germain/.../ServiceDistribution/src/main/bin/GermainSessionTrackingServices.xml

Unix: \$germain/.../ServiceDistribution/src/main/bin/session-tracking/GermainSessionTrackingServices.xml

Java options would look like this:

.../...

JAVA\_OPTS="-Xms2g -Xmx4g -XX:+CrashOnOutOfMemoryError -Djdk.nio.maxCachedBufferSize=262144"

.../...

## Maintenance - minor enh & bugs (january)

### Description

Bugs and optimizations implemented this month (more details available upon request):

| Enhancement/bug | Technology | Dash/entreprise(engine/agent/js/mobile)/db | Description | Status |
| - | - | - | - | - |
| enh | markojs | enterprise (engine, agent, js, mobile) | collect page view navigations for MarkoJS | DONE |
| bug | n/a | dashboard | Config console very slow for stage environment → Solution: environment was missing default index on QUALIFIED\_NAME. | DONE |
| bug | any | enterprise (engine, agent, js, mobile) | Connection leak - GS-192 / GS-193 | DONE |
| bug | any | enterprise (engine, agent, js, mobile) | Connection leak and env unresponsive | DONE |
| bug | n/a | dashboard | Console errors encoding issues | DONE |
| bug | any | enterprise (engine, agent, js, mobile) | Correlation - stream not matching all requests | DONE |
| bug | n/a | dashboard | Data missing when last 30days | DONE |
| enh | any | db | Datamart creation SQL to include SYSTEM\_LOCATION\_xxx columns | DONE |
| bug | n/a | dashboard | Detail Execution Flow shows extraneous "\[Query Error]" | DONE |
| bug | any | enterprise (engine, agent, js, mobile) | Document service connection leak | DONE |
| bug | any | enterprise (engine, agent, js, mobile) | Dom Change Monitoring impacts IE performance | DONE |
| bug | n/a | dashboard | Drillthrough column should pull unit from KPI | DONE |
| bug | nodejs | enterprise (engine, agent, js, mobile) | duplicated distribution bug | DONE |
| bug | any | enterprise (engine, agent, js, mobile) | Email alert does not work | DONE |
| bug | any | enterprise (engine, agent, js, mobile) | Exclude field values from UX Replay | DONE |
| bug | n/a | dashboard | Geo map on user session does not work | DONE |
| bug | IE11 | enterprise (engine, agent, js, mobile) | Latest UX monitoring scripts fail on IE11 | DONE |
| bug | any | enterprise (engine, agent, js, mobile) | No Replay today...yet there are users.. | DONE |
| bug | windows 7/10 | enterprise (engine, agent, js, mobile) | OS monitoring - network bandwidth doesnt work for Windows 7/10 | DONE |
| bug | nodejs | enterprise (engine, agent, js, mobile) | outgoing monitoring "url" argument must be of type string exception bug | DONE |
| enh | any | enterprise (engine, agent, js, mobile) | Purge - Need to periodically purge Spring batch tables | DONE |
| bug | n/a | dashboard | RCA dashboard for Java Heap Usage does not handle null 'details' gracefully | DONE |
| bug | any | enterprise (engine, agent, js, mobile) | Replay -  mouse cursor shows as hourglass way before the user clicks on Opportunity | DONE |
| enh | any | enterprise (engine, agent, js, mobile) | Replay - monitor/replay all three popup dialog types: alert, confirm (w/ cancel button), prompt (w/ input field). | DONE |
| enh | any | enterprise (engine, agent, js, mobile) | Replay - add configuration what to exclude from a session recording | DONE |
| enh | any | enterprise (engine, agent, js, mobile) | Replay - dom change compression | DONE |
| bug | any | enterprise (engine, agent, js, mobile) | Replay - DOM\_INIT\_BODY occurs after UX Facts for that page | DONE |
| bug | any | enterprise (engine, agent, js, mobile) | Replay - exception breaking Replay | DONE |
| enh | any | enterprise (engine, agent, js, mobile) | Replay - extract user and session | DONE |
| bug | any | enterprise (engine, agent, js, mobile) | Replay - fonts not extracted on first DOM body keyframe as stylesheets have just started loading asynchronously | DONE |
| bug | any | enterprise (engine, agent, js, mobile) | Replay - full integration with anonymization / hide field value | DONE |
| bug | any | enterprise (engine, agent, js, mobile) | Replay - icons not collected | DONE |
| bug | any | enterprise (engine, agent, js, mobile) | Replay - many beaconstatic requests failing on AA stage Replays | DONE |
| enh | any | enterprise (engine, agent, js, mobile) | Replay - multiple containers height dont match and Replay is broken | DONE |
| enh | any | enterprise (engine, agent, js, mobile) | Replay - Open select lists on value change during Replay design | DONE |
| bug | any | enterprise (engine, agent, js, mobile) | Replay - pick applet still showing although not being used/should not be visible | DONE |
| enh | any | enterprise (engine, agent, js, mobile) | Replay - remove the gradual typing effect when use isnt typing! | DONE |
| bug | any | enterprise (engine, agent, js, mobile) | Replay - Replay 'window' background color is always white | DONE |
| enh | any | enterprise (engine, agent, js, mobile) | Replay - selected value on picklist not Replayed | DONE |
| bug | any | enterprise (engine, agent, js, mobile) | Replay - selection of asset system id is showed BEFORE the user selects the asset system id | DONE |
| bug | any | enterprise (engine, agent, js, mobile) | Replay - Styling discrepancy | DONE |
| bug | any | enterprise (engine, agent, js, mobile) | Replay - Table values disappear when edited | DONE |
| bug | any | enterprise (engine, agent, js, mobile) | Replay - transaction dont show up after seeking forward and backward | DONE |
| bug | any | enterprise (engine, agent, js, mobile) | Replay - transaction list missing some user clicks | DONE |
| bug | any | enterprise (engine, agent, js, mobile) | Replay - transaction list not showing any transaction | DONE |
| bug | any | enterprise (engine, agent, js, mobile) | Replay - zip code shows up but i dont see the user typing it | DONE |
| bug | any | enterprise (engine, agent, js, mobile) | Replay - Transaction dont show up on Transaction List after seeking forward and backward - FIXED | DONE |
| bug | Siebel | enterprise (engine, agent, js, mobile) | Replay -"Pick Personal Address" shows up but i dont see what the user clicked on | DONE |
| bug | any | enterprise (engine, agent, js, mobile) | Replay does not work (2min into it, still seeing login page, fast forward does not change anything) | DONE |
| bug | any | enterprise (engine, agent, js, mobile) | Replay fails | DONE |
| bug | wiki | enterprise (engine, agent, js, mobile) | Replay issues from the old wiki | DONE |
| bug | any | enterprise (engine, agent, js, mobile) | Replay missing - the 1min8sec session is missing | DONE |
| bug | any | enterprise (engine, agent, js, mobile) | Replay not available | DONE |
| bug | any | enterprise (engine, agent, js, mobile) | Replay not clean on a customer website | DONE |
| bug | any | enterprise (engine, agent, js, mobile) | Replay -not seeing the user click on the "payment" tab | DONE |
| bug | any | enterprise (engine, agent, js, mobile) | Replay question: what PAGE RENDERING include? | DONE |
| bug | any | enterprise (engine, agent, js, mobile) | Replay -Scroll events getting ignored intermittently | DONE |
| bug | any | enterprise (engine, agent, js, mobile) | Replays cannot be resumed after being stopped/paused for a few minutes | DONE |
| bug | any | enterprise (engine, agent, js, mobile) | requests to api.aspx not collected | DONE |
| bug | nodejs | enterprise (engine, agent, js, mobile) | Sending invalid JSON | DONE |
| bug | nodejs | enterprise (engine, agent, js, mobile) | startup monitoring bugs bug | DONE |
| bug | any | enterprise (engine, agent, js, mobile) | ThreadMetric not aggregated correctly | DONE |
| bug | nodejs | enterprise (engine, agent, js, mobile) | Time dimension and timestamps init once bug | DONE |
| bug | tomcat | enterprise (engine, agent, js, mobile) | tomcat services issues deploying 8.5.14 | DONE |
| bug | any | dashboard | user change txn all 0 duration | DONE |
| bug | any | enterprise (engine, agent, js, mobile) | wrong alert context selection after quiet time period - GS-148 | DONE |
| bug | any | enterprise (engine, agent, js, mobile) | wrong timing for static content | DONE |

## Get Help

> **[Contact GermainUX Support](/main/support.md)**
>
> The Germain Team can help you set this up.

> **Can't find what you need?**
>
> Search all GermainUX docs with **Ctrl + K**, or use the feedback buttons at the bottom of this page to tell us what is missing.

The content of this document is proprietary to GERMAIN SOFTWARE.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.