Skip to content
This repository has been archived by the owner on Oct 6, 2023. It is now read-only.
/ demo-tsplayer Public archive

Ultra fast timeseries viewer with realtime aggregations. WebSockets, Quarkus and Redis Timeseries.

License

Notifications You must be signed in to change notification settings

mrk-andreev/demo-tsplayer

Repository files navigation

Maintainability

demo-tsplayer

  • tsplayer-application ui+backend (svg + ws + quarkus + graalvm + redistimeseries)
  • tsplayer-datagen python script for uploading random data

Use tsplayer-deploy/docker-compose/docker-compose.yaml for quick start (port 8080).

version: '3'

services:
  app:
    image: markandreev/demo-tsplayer:latest
    depends_on:
      - "redis"
    ports:
      - "8080:8080"
    environment:
      REDIS_HOST: redis
      REDIS_PORT: 6379
  redis:
    image: "redislabs/redistimeseries:1.4.3"
  datagen:
    image: "markandreev/demo-tsplayer-datagen:latest"
    depends_on:
      - "app"
    environment:
      SERVICE_HOST: app:8080
      STEPS_COUNT: 10000000

Video

Architecture

Data player

Protocol

Request (json)

{
  "requestId": "<uuid>",
  "key": "<dataset name>",
  "from": "<min timestamp>",
  "to": "<max timestamp>",
  "aggregation": "<AVG, SUM, MIN, MAX, RANGE, COUNT, FIRST, LAST>"
}

Response (binary, avro)

{
  "requestId": "<from request>",
  "isSuccess": "<no errors>",
  "errorMessage": "<if not isSuccess than display error message>",
  "values": [
    {
      "timestamp": "<timestamp>",
      "value": "<double>"
    } 
  ]
}