Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
profile is also enabled when you enable the profile.

If no datasource is configured for the timeline, Blueriq will use the same datasource as for the trace-sql-store.  We intend to remove these backwards compatibilities in Blueriq 15.

Info

This component was introduced in Blueriq 14.6. Before Blueriq 14.6, this component was a part of the Trace SQL Store component.For backwards compatibility, the

Include Page
_ProfileTimeline_ProfileTimeline
Include Page
_ProfileTrace_ProfileTrace


Table of contents 

Table of Contents

...

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

Blueriq 14.8 introduces introduced the possibility to consume timeline events that are pushed on a queue by the Timeline Event Publisher Component and then store them in a database in an asynchronous way. See consume timeline events.

...

In order to use this component, the trace-sql-store orthe timeline-sql-store profile the

Include Page
_ProfileTimeline
_ProfileTimeline
profile must be active. More information on how to configure the application using Spring Profiles can be found here: Component configuration with Spring Profiles.

...

  1. If necessary, create a new datasource. See Configuring JDBC database drivers for information on how to do this.
  2. Timeline SQL Store component is using the timeline-sql-store datasource to store data. The timeline-sql-store datasource can be configured using JDBC or JNDI.
    1. Using JDBC datasource: this can be configured in the  application-externaldatasources.properties the

      Include Page
      _PropertiesExternalDatasources
      _PropertiesExternalDatasources
      file. When configuring external datasources, the
      Include Page
      _ProfileExternalDatasources
      _ProfileExternalDatasources
       profile should be enabled.

      Code Block
      languagepowershell
      titleExample application-externaldatasources.properties
      blueriq.datasource.timeline-sql-store.url=jdbc:sqlserver://<database_url>:<port>;databaseName=bq_timeline;instance=SQL_EXPRESS
      blueriq.datasource.timeline-sql-store.username=<username>
      blueriq.datasource.timeline-sql-store.password=<password>
      blueriq.datasource.timeline-sql-store.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
      blueriq.hibernate.timeline-sql-store.hbm2ddl.auto=validate
      blueriq.hibernate.timeline-sql-store.dialect=org.hibernate.dialect.SQLServer2012Dialect
    2. Using JNDI datasource: this can be configured in the  application-jndidatasources.properties file

      Include Page
      _PropertiesJndiDatasources
      _PropertiesJndiDatasources
      file. When configuring JNDI datasources the
      Include Page
      _ProfileJndiDatasources
      _ProfileJndiDatasources
       profile should be enabled.

      Code Block
      languagepowershell
      titleExample application-jndidatasources.properties
      blueriq.datasource.timeline-sql-store.jndiName=java:/comp/env/jdbc/blueriqTimeline
      blueriq.hibernate.timeline-sql-store.hbm2ddl.auto=validate
      blueriq.hibernate.timeline-sql-store.dialect=org.hibernate.dialect.SQLServer2012Dialect
  3. Hibernate settings
    These settings are done for apply to each datasource type in the corresponding properties file, as in the examples above.

...

Supported hbm2ddl.auto values:

  • none
  • validate

Consume timeline events

...

Note

The Timeline SQL Store either stores timeline messages in the database, or consumes timeline events from the queue. When the configuration below is enabled, only timeline events are consumed, no timeline messages are saved to the database directly. So if you enable this configuration, be sure to also enable the Timeline Event Publisher Component, otherwise no timeline information is saved anywhere.

# RabbitMQ configuration
blueriq.timeline.event.listener.amqp.version=2.0
blueriq.timeline.event.listener.amqp.rabbitmq.host=localhost
blueriq.timeline.event.listener.amqp.rabbitmq.port=5672
blueriq.timeline.event.listener.amqp.rabbitmq.virtualHost=/
blueriq.timeline.event.listener.amqp.rabbitmq.username=guest
blueriq.timeline.event.listener.amqp.rabbitmq.password=guest
blueriq.timeline.event.listener.amqp.rabbitmq.queueNames=trace

# Enable consumer functionality
blueriq.timeline.event.listener.amqp.enabled=true


Enable TLS connection

To enable a secure (TLS) AMQP connection to the queue, set the property "blueriq.timeline.event.listener.amqp.rabbitmq.ssl.enabled" to "true".
The default for AQMP port with TLS on RabbitMQ is '5671', it needs to be explicitly enabled though, see https://www.rabbitmq.com/ssl.html for more information.

...