When consulting Session Reports in Analytics, the application connects to the Runtime log databases with JDBC. 


If "Disable Log Database Proxy" is unchecked on a Runtime definition, then Analytics will ask this Runtime for his Log Database details each time a Session Report is loaded. This is useful in simple environments with a single Runtime, to avoid configuration steps. But when several Runtimes are defined and some of them are not started, the Session Report may take time to load (connection timeouts to the Runtimes can take time). 


Therefore it is recommended to check "Disable Log Database Proxy" and define explicitly the Jdbc details for connecting to the Log Database


Here is how to do this. 


Defining a JNDI Datasource (Tomcat example)


In the Tomcat "context.xml" file, define the Database Resource.

See Tomcat Documentation for more details.


Here is an example for a Mysql database:


<Resource name="jdbc/runtimelogs_db1" auth="Container" type="javax.sql.DataSource"

    maxTotal="100" maxIdle="30" maxWaitMillis="10000"

    username="user01" password="secret01" 

    driverClassName="com.mysql.cj.jdbc.Driver"

    url="jdbc:mysql://localhost:3306/runtimelogs?serverTimezone=Europe/Paris"

/>


Referencing the Datasource in Analytics


In the Administration section, add a Log Database and set its Datasource Name to "java:comp/env/jdbc/runtimelogs_db1". 

Make sure the "java:comp/env/" prefix is included before the Resource Name.


Example : 




Don't forget to add this Log Database to a Profile so that Session Reports uses it :




Disable Log Database Proxy on the Runtimes


Now that Analytics knows the Database Details, you can check "Disable Log Database Proxy" on the Runtime :