Skip to content

azagrebin/streamstats

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

Streaming transaction statistics

This project implements REST API to aggregate in memory statistics for last time window about real time transactions.

POST /transactions

{
  "amount": 12.3,
  "timestamp": 1478192204000
}

Where:

  • amount - transaction amount
  • timestamp - transaction time in epoch in millis in UTC time zone (this is not current timestamp) Returns: Empty body with either 201 or 204.
  • 201 - in case of success
  • 204 - if transaction is older than 60 seconds

GET /statistics

Returns:

{
  "sum": 1000,
  "avg": 100,
  "max": 200,
  "min": 50,
  "count": 10
}

Where:

  • sum is a double specifying the total sum of transaction value in the last 60 seconds
  • avg is a double specifying the average amount of transaction value in the last 60 seconds
  • max is a double specifying single highest transaction value in the last 60 seconds
  • min is a double specifying single lowest transaction value in the last 60 seconds
  • count is a long specifying the total number of transactions happened in the last 60 seconds

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages