Search code examples
time-seriesaxibase

Axibase Time-Series Database data sampling maximum rate


I am using Axibase Time Series Database Community Edition, version 10379. I try to store my data that comes from a force sensor and save it every 2 milliseconds, how can I configure the portal to accept this time resolution?
I made an attempt to send the data in that rate by using an Arduino board with WiFi shield but the TCP connection disconnected after sending a little data.


Solution

  • Time resolution in Axibase Time-Series Database is 1 millisecond by default, so the problem is probably occurring for other reasons such as:

    • Invalid timestamp
    • Missing end-of-line character at the end of the series command
    • Same timestamp for multiple commands with the same entity/metric/tags. For example, these commands are duplicates and one of the them will be discarded:

      series ms:1445762625574 e:e-1 m:m-1=100

      series ms:1445762625574 e:e-1 m:m-1=125

    • Overflow of receiving queue in ATSD. This can occur if ingestion rate is higher than disk write speed for long period of time. Open ATSD portal in the GUI and check the top right chart if rejected_count metric is greater than zero. This can be addressed by changing default configuration settings.

    ATSD portal

    I would recommend starting netcat in server mode and recording data from the Arduino board to file to see exactly what commands are sent into ATSD.

    1. Stop ATSD with ./atsd-tsd.sh stop

    2. Launch netcat in server mode and record received data to command.log file:

      netcat -lk 8081 > command.log

    3. Restart Arduino and send some data into ATSD (now netcat). Review command.log file

    4. Start ATSD with ./atsd-tsd.sh start

    Disclosure: I work for Axibase.