You are viewing the documentation for Blueriq 17. Documentation for other versions is available in our documentation directory.

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Table of contents 

Description

This Tracing SQL Store Component contains a Trace DAO implementation that can be used by the trace engine to store trace messages in a database.

The configuration options are found below in this document.

Requirements

This component persists data in a database, that must be provided. See platform support for the supported databases.

Installation

In order to use this component, the trace-sql-store profile must be active. More information on how to configure the application using Spring Profiles can be found here : Component configuration with Spring Profiles.

In order to use this component, make sure to have the BlueriqComponentTracing.dll in the /bin directory of your .NET webapp installation

Configuration

Database

Scripts to create the required database content are provided for the following databases:

 

For customers that are upgrading an existing version of Blueriq, database upgrade scripts are provided in the Upgrade Instructions when applicable.

Use the following steps to configure the component datasource:

  1. If necessary, create a new datasource. See Configuring JDBC database drivers for information on how to do this.
  2. The Trace SQL Store component is using the trace datasource to store data.The trace datasource can be configured using JDBC or JNDI.
    1. Using JDBC datasource:
      This can be configured in the application-externaldatasources.properties file. When configuring external datasources, the externaldatasources profile should be enabled.

      application-externaldatasources.properties
      blueriq.datasource.trace.url=jdbc:sqlserver://<database_url>:<port>;databaseName=bq_main;instance=SQLEXPRESS
      blueriq.datasource.trace.username=<username>
      blueriq.datasource.trace.password=<password>
      blueriq.datasource.trace.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
      blueriq.hibernate.trace.hbm2ddl.auto=validate
      blueriq.hibernate.trace.dialect=org.hibernate.dialect.SQLServerDialect
    2. Using JNDI datasource : this can be configured in the  application-jndidatasources.properties file When configuring JNDI datasources the jndidatasources profile should be enabled.
  3. An additional properties file named tracedao.hibernate.properties can be used to set the Hibernate properties.

    Error rendering macro 'excerpt-include'

    No link could be created for '_HibernateProperties'.

 

 

Configuring the database connection for the Tracing SQL store component in .Net is done by adding a connection configuration to the Web.config file.

<hibernate-configuration>
  <session-factories>
    <session-factory name="TraceDao">
      <properties>
        <property name="connection.provider" value="NHibernate.Connection.DriverConnectionProvider" />
        <property name="dialect" value="NHibernate.Dialect.MsSqlCeDialect" />
        <property name="connection.driver_class" value="NHibernate.Driver.SqlServerCeDriver" />
        <property name="connection.connection_string" value="Data Source=D:\Databases\TraceDB.sdf" />
        <property name="show_sql" value="false" />
        <property name="current_session_context_class" value="Aquima.WebApplication.WebPersistenceUtility.Session.CurrentHibernateSessionContext, WebPersistenceUtility" />
      </properties>
    </session-factory>
  </session-factories>
</hibernate-configuration>

For more information about configuring database connections, see Configuring database connections in .NET webapp.

The Tracing SQL store component looks for a database connection named "TraceDao" so make sure that this name is used in order to configure the Trace DAO properly.

All necessary DLL files on which the Tracing SQL store component depends can be found in the Plugins/TraceDao/Lib directory of the webapp ZIP file.

Performance

The performance impact of the trace DAO is minimal when used normally: to write trace messages to the database.

It is also possible to use the TraceDao to query the trace engine database, like the timeline container does. The TraceDao offers good performance as long as the resultset is limited. For large scale analysis, when summaries or aggregates are desired, the TraceDao is not recommended because it is primarily designed to return a list of trace entries. For these scenarios it is recommended to use SQL (or HQL) to query the database.

  • No labels