TimeBase Web Application Administrator User Guide
Click Tag to Display Pages: development tools

TimeBase Administrator Web Client helps you to manage and monitor all data stored within the TimeBase database.

Common workflows used within this client include:

  • Viewing stream data.
  • Deleting streams.
  • Monitoring live data.
  • Describing/viewing stream schema.
  • Querying data using QQL (Quick Query Language).
  • Stream modification including: truncation, purging, changing of stream name.
  • Export/Import data.
  • Charting individual instruments.
  • Sending/creating instrument message.
  • Exporting of stream data to QSMSG file.

Deployment

TimeBase Web Admin is a management tool for TimeBase Server. TimeBase Admin can be deployed and run as a standalone Web application or embedded into TimeBase Server.

Use Docker Compose to deploy more than one instance of Web Admin application.

What browsers does TimeBase Web Admin support?

  • Chrome 72+
  • Firefox 65+
  • Safari

Docker

Example of running TimeBase Admin Docker container:

docker run --rm --detach --name timebase-server -p 8011:8011
packages.deltixhub.com/quantserver.docker/timebase/ws-server:0.3.45

Docker Compose

Example of running TimeBase Admin in Docker Compose:


Docker Compose example 

docker-compose.yml:

  timebase-admin:
    image: "packages.deltixhub.com/quantserver.docker/timebase/ws-server:0.3.45"
    network_mode: host

docker-compose.override.yml:

  timebase-admin:
    environment:
      - JAVA_OPTS=-Dserver.port=8099 -Dtimebase.url=dxtick://localhost:8011
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8099/ping"]


TimeBase Server Web Gateway

In addition to being a TimeBase Web Administrator GUI, TimeBase Web Admin also serves as a REST/WS gateway for TimeBase Server.

Auto-generated REST/WS API can be found here.

Configuration

Provide this configuration with Web Admin application.


application.yaml example

server:
  port: 8099 # http port of Timebase Gateway
  compression:
    enabled: true
    mime-types: text/html,text/css,application/javascript,application/json
timebase: # timebase settings definition
  url: dxtick://localhost:8011 # connection URL
  user: # user name, if UAC is enabled
  password: # user password, if UAC is enabled
  streams: # stream filter
    include: # a regular expression to include stream keys
             # for example: GRAX|BITMEX - include only GDAX and BITMEX streams
             # for example: ticks*
    exclude: # a regular expression to exclude stream keys                 
             # for example: \#$ - exclude all streams ends with #
             # for example: ticks* - exclude all streams starts with 'ticks'
  readonly: true # enables 'readonly' mode for timebase to prevent any modifications

Authentication

Web Admin provides two types of authentication: built-in OAuth2 & SSO.

One of those types must be enabled to run the application.

Client Web Application Authentication Flow

  1. Authentication service provider identification check is made upon each application start.
  2. Browser local storage is checked to have a Refresh Token for the current user.
  3. In the case where Refresh Token exists, Silent Token Update is performed to obtain a new Access Token.
  4. In the case where Silent Token Update fails for any reason, the user will be logged out and redirected to a Login page.

OAuth2

To enable built-in authentication you need to add the following security block to your application.yaml configuration file. This authentication method is best used for testing purposes.


security:
  oauth2:
    provider:
    providerType: BUILT_IN_OAUTH
    clientId: web
    tokenEndpoint: /oauth/token
    clientId: web
    secret: <BCrypt_encoded_secret>
    authorizedGrantTypes:
    - password
    - refresh_token
    users: # list of users with its authorities
    - username: <username>
      password: <BCrypt_encoded_password>
      authorities: [TB_ALLOW_READ, TB_ALLOW_WRITE]
    scopes:
    - trust
    accessTokenValiditySeconds: 300 # 5 min
    refreshTokenValiditySeconds: 86400 # one day
    privateKey: |
    -----BEGIN RSA PRIVATE KEY-----
    <RSA private key>
    -----END RSA PRIVATE KEY----- |
    publicKey: |
    <RSA public key>

SSO

To enable SSO you need to add the following blocks to your application.yaml configuration file.


spring:
  security:
    oauth2:
      resourceserver:
        jwt:
          issuer-uri:  # link to sso config

...

security:
  oauth2:
    provider:
      providerType: SSO
      name: hydra
      clientId: <client_id> # Your client ID
      validateIssuer: false
      userInfo:
        enable: true

Streams List

TimeBase records time series data in streams. See Basic Concepts for details. Vertical panel on the left displays all streams available in your specific TimeBase instance. You can expand each stream by selecting the up or down carrot to view stream instruments (symbols). A context menu is available using your right mouse button and actions vary deepening on whether a stream name or instrument is highlighted.

A Search field is located at the top of the streams list and allows the user to quickly locate the required stream(s).

Collapse Stream List

Click the Collapse icon next to the TimeBase title to hide the streams list.

Click the Expand icon next to the TimeBase title to show the streams list.

Collapse Main Window

Click the TimeBase logo to hide the main TimeBase monitoring panel(s).

Click any stream, symbol, or existing tab to display the data in the main window.

Expand/Collapse Symbols

Click the Down Arrow icon to expand and collapse symbols that belong to a specific stream.

Collapse All

Click the Collapse All icon located at the bottom right of the TimeBase panel to quickly collapse all expanded streams.

Open In New Tab

Enable the Open in a new tab checkbox located at the bottom left of the TimeBase panel to open future views of stream data in unique tabs in the main TimeBase Monitoring Window.

Stream Actions

Right Click any stream to display available actions in the context menu.

View

Select View mode to view stream data for a particular stream and time period. Select the Properties icon in the upper right corner of the main window to view the stream’s properties. While viewing the data within the main window you can double click on stream package Entry (message) to open entry details in a pop-up window and in JSON format.

See Dashboard for more information on action available in the View dashboard.

Reverse View

Select Reverse View to display all of the stream’s data starting with the latest timestamp a the top of the window.

Monitor

Use monitor to view latest records for each symbol in the selected stream in real time.

Inspector

Use inspector to view updates for the latest 100 records in the selected stream in real time. The latest messages are displayed on top of the list.

Schema

Use this to display stream schema details. Select each schema element to display its properties in the Properties Area. Enabled check boxes (Use column) indicate message classes that are enabled for a particular stream.

Export Schema

Right click on the schema grid and select one of the Export options:

  • CSV
  • MS Excel
  • XML

Exported file will contain all schema parameters in the selected format. See Describe to learn how to export schema settings.

Query

Use Query to run QQL data queries.

Truncate

Truncating a stream will remove all data after a specified time.

  1. Highlight a stream, right-click to open a context menu, select Truncate.
  2. Select all or individual symbols that you wish to be truncated.
  3. The stream’s time range will be displayed in the time slider. You can either use the slider to specify the truncate to time or you can define the time and date within the Date input area.
  4. Specify a Time Zone and select OK.
  5. Select OK for confirmation.

Purge

Purging a stream removes all data that is older than a specified start date.

  1. Highlight a stream, right-click to open a context menu, select Purge.
  2. The stream’s time range will be displayed in the time slider.
  3. You can either use the slider to specify the purge from time or you can define the time and date within the Date input area.
  4. Specify a Time Zone and select OK.
  5. Select OK for confirmation.

Delete

Use Delete to remove a specific stream from the system.

  1. Highlight a stream, right-click to open a context menu, select Delete.
  2. Click Delete in the dialog window to confirm or Cancel to abort

Change Name

Use Change Name to rename a specific stream.

  1. Highlight a stream, right-click to open a context menu, select Change name.
  2. Enter a new name in the text area and click Rename to confirm

Describe

Use Describe to display a QQL code with stream schema description. You can use this as a template to create new streams or modify existing streams.

Send Message

Use this to manually add new messages to the selected stream. Stream schema determines what classes of messages can be recorded to a specific stream. Each message class has an individual set of fields. See Basic Concepts for more information.

  1. Highlight a stream, right-click to open a context menu, select Send message.
  2. Specify parameters values using either the UI or in a Json format
  3. Click Send to submit

Export to QMSG

You can export the entire stream data, including all stream messages, to a file of a proprietary QS format. You can use this file to easily import stream data to another TimeBase instance.

Symbol Actions

Right Click any symbol to display available actions in the context menu.

View

Select View mode to view data for a particular symbol and time period. While viewing the data within the main window you can double click on any Entry (message) to open message details in a pop-up window and in JSON format.

See Dashboard for more information on action available in the View dashboard. View mode to view all data for a particular symbol and time period.

Reverse View

Select Reverse View to display a particular symbol data within the stream starting with the latest timestamp a the top of the view.

Monitor

Monitor allow viewing real-time updates for a specific symbol. Double click to open message details in a pop-up window and in JSON format.

Inspector

Use inspector to view updates for the latest 100 records for the selected symbol in real time. The latest messages are displayed on top of the list.

Chart

TimeBase Web Administrator can chart Level1/Level2 Market Data for a single contract per panel.

This feature is designed to provide the user insight into the incoming market data to verify the aggregator process is consuming and storing data properly. TimeBase Web Administrator charts are not designed to be used as a financial research tool.

The No chart data message notifies the user that charting is not supported for a particular selection.

Time Range

Use the Time Range drop-down to select one of the preset time intervals for the chart or Custom Time Range to manually set the time interval.

Use the Left and Right controls to pan the chart forwards of backwards along the stream’s time range.

Chart Modes

You can switch chart modes in the upper-right cornet of the screen.

  • Pan Mode - when enabled, click-hold-drag chart to move chart left and right along the stream’s time range.
  • Zoom Mode - when enabled, click-hold-drag chart to zoom-in a specific time period on the chart. In the case where zoom-in is no longer possible, the chart mode will automatically go to Pan Mode.
Chart Zooming

Use zoom-in and zoom-out icons located in the upper-right corner of the screen to zoom in/out the chart.

Use Zoom Mode to select a specific time range within the chart.

Query

Use Query Mode to define QQL data queries to select data within a particular stream.

Change Name

Use Change Name to rename a specific symbol.

  1. Highlight a symbol, right-click to open a context menu, select Change name.
  2. Enter a new name in the text area and click Rename to confirm

Main Monitoring Window

Stream and Message Details

In the main monitoring area you can preview both stream and message details. Please note, that you cannot display both at the same time. Selecting one disables the other.

To Display Message Details

  • Select any stream to view stream data in the main monitoring area
  • Double-click any message in the selected stream to show Message Details in additional window
  • You can switch between Show Json View and Show Simple View

To Display Stream Properties

  • Click Stream Properties in the upper-right corner of the window to display stream details

Working With Dashboard

  • Use the column context menu to:
    • Pin, Unpin, or Reset Grid to default state.
    • Autosize All or a Specific column to the default size.
      • Choose columns to be displayed in the grid.
  • Use grid context menu to
    • Copy a specific field in JSON format.
    • Export to CSV, MS Excel, XML.
    • Send Message
  • Additional information is available for selected grid fields when double clicking a row (e.g. Entries)
  • Use mouse scroll to move up and down the displayed time range.
  • Use Timebar to navigate within the entire available time range.

Working With Tabs

When Open in a new tab checkbox is enabled in the Stream List, each new selection will be displayed within a separate tab within the main window.

All open tabs are displayed in the top pane of the main window.

Use Tabs List located next to the Settings in the upper-right corner to:

  • View all open tabs.
  • Navigate between tabs.
  • Close all open tabs at once .

Working With Filter

Select the Filter button to filter out stream data:

  • Filter by Symbol
  • Filter by Message Type

Working With Time Box

Use the Time Box input field and/or calendar icon to set the displayed Start From date.

  • Use Apply to apply selection .
  • Use Clean to reset the selection to the initial state.

Settings

  • Tabs List - use to view, navigate, and hide open tabs.
  • Stream’s Properties - click to display Properties window for a particular stream.
  • Use Global Settings to set:
    • Date Format.
    • Time Format.
    • Time Zone (local time zone is detected and populated automatically).
  • Sign out