Data Store Experimentation
These days, itβs hard to imagine building or managing a production full stack app without metrics. Frontend network request timing is just as important as the recording of backend timings. Processing data in asynchronous workers means troubleshooting performance bottlenecks is only possible with insights into what parts of the code are slow. At LaunchDarkly, we provide customers with the ability to record and visualize arbitrary numeric metrics from their full stack apps. We use the functionality in our own app to record everything from the latency of certain UI operations to the duration of sessions processed in the backend.LaunchDarkly dashboard visualizing arbitrary numeric metrics from a full stack application.
Timeseries DBs to the Rescue
Quickly, our engineering team realized the need to use a timeseries database to store and query the metrics data. Thankfully, InfluxDB (and most other timeseries databases) allow automatic time-based expiration of data, without the need for complex partitioning strategies required to solve the problem in SQL DBs.Performance with Continuous Queries (Tasks)
provides a bound on the number of points per time rangeInfluxDB continuous queries providing a bound on the number of points per time range.