github timescale/promscale 0.1.0-beta.1

latest releases: 0.17.0, 0.16.0, 0.15.0...
pre-release3 years ago

This release is our first beta release.

“Beta” signifies that we believe our API is now feature-complete (although still not recommended for production workloads). The most significant update is support for PromQL query endpoints through the connector, which results in improved performance and overall usability.

Note: In-place upgrades are not yet supported, but will be addressed in our next release.

At a high level, this release:

  • Adds the PromQL query endpoints to the connector. This means that users can now query the connector directly, instead of through a Prometheus server, which improves performance and ease of use.
  • Adds a unique index on (time, series_id) and prevents duplicate entries from being inserted. This now matches Prometheus semantics.
  • Adds value to compression order_by properties to improve the performance of queries that filter by value.
  • Creates a framework for pushing down aggregates into the database and implements pushdown for the delta aggregate, which yields significant query performance improvements on queries using delta. We plan to incrementally add support for pushdowns of all PromQL aggregates.
  • Includes caching and performance improvements on the query path, including the addition of new LRU cache that better handles time-correlated data.
  • Creates a system for data migration, in preparation for in-place upgrade support.

🙏 Thanks to the following community members for submitting issues

  • @clambin for reporting an issue on ARM
  • @saket9550 for reporting the issue with duplicate data

Changelog

211e540 Add --devel flag to readme instruction (#121)
471af44 Add /metrics to our custom mux
c078a42 Add CLOCK based approximate LRU
c8fa2a4 Add Slack and Google Groups info to Readme
a6f0ba8 Add a http router to handle path params
cdf73af Add architecture diagram
e44ce74 Add binary parsing directly into storage.SeriesSet
462489e Add counters for the various cache sizes
56b2368 Add end-2-end tests for label endpoints
293676a Add info to logging during decompression
4b0605e Add integration tests for PromQL query and query_range endpoints
016a0a4 Add label cache, and only fetch missing labels at query time
4dba4ed Add metrics for inserters
43115a4 Add postgres rate functions using a rust extension
c49e293 Add postgres version requirement to Readme
78af682 Add read only version to get key position, clarify comments
7f8d3ca Add rudimentary PromQL query and query_range support
7804c5e Add sql schema versioning and migration system
e598aba Add unit tests for the query and query_range endpoints
8a23f4f Add value to compression order by
d8af7d6 Alignment fix for atomically accessed field on 32-bit systems
79577bf Better log message when encountering duplicate
c22b8f6 Cleanup HTTP API code by removing redundancies
00495a3 Create CODE_OF_CONDUCT.md
c772cdc Create Docker images in CI
91ff419 Create query package and move queryable there
80a4f14 Delete stray debug print
ba2c9ef Disable pushdown if no extension
4d4df5c Document the PromQL HTTP API
ed7a6ad Excise old series cache
0804d28 Exclude prompb files from codeclimate report
291e86d Fix bugs with concurrent decompression
5799080 Fix duplicate metrics & logging
ad6f175 Fix image in README
07a3b4e Fix import path
d2d9724 Fix inserting new data before window
3dbc77f Fix labels stored in the cache
bb390c6 Fix nits
d841d68 Fix pprof now that we're not using the default mux
10cccee Fix pushdown array construction
b9f878c Fix race condition on labels
ffd42bb Fix sanitizing the table name during ON CONFLICT DO NOTHING
d92751e Fix tests in promql package
f650f98 Fork promql package at 2.18.1
71bcffd Hand-write a JSON marshaller for our responses
3f9e07f Hook up Queryable interface to reuse existing pgxQuerier interface
7451bd1 Hook up code to use promQL fork
287dbe7 Hook up queries to use new promql pushdown interfaces
79aee2c Ignore duplicate data points
09550e6 Implement LabelNames method in querier
675d018 Implement LabelValues method for pgx querier
ee7ce9d Implement Series endpoint of Prom HTTP API
cf5b734 Implement the labelNames endpoint
5812db6 Improve err logging and handling and add tests
3eae912 Make findMinTime more exact for MatrixSelector
6e5ba14 Make values non-nullable
09a0bfe Modify location and name of several no-longer-user-facing functions
959b4eb Modify promql engine to support pushdowns
ecf092a Modify respond method to return proper label values
b82424d Move op function definition logic to idempotent
26a0c52 Prepare for the 0.1.0-beta.1 release
0525ec6 Prevent concurrent migrations
a750d30 Pushdown delta into the database
6d4b868 Re-organize README
815b962 Remove CopyFrom code
10ea400 Rename .codeclimate.yaml to .codeclimate.yml
71616d4 Rename label_array to get_or_create_label_array
b19b03d Reorganize SQL to have idempotent and other bits
60402c7 Reorganize preinstall into multiple files
4f37671 Replace remaining uses of bigcache with clockcache
92f7c5c Series_id should be a bigint in both the series and data table
1aa42ea Switch to back to upstream pgconn
6afb228 Truncate long pod/service names (timescale/tobs#11) (#156)
9da6ef9 Update HTTP API docs with /series endpoint
7d72fff Update README to clarify extension requires PG12+
3b5791b Update rust libraries
30a17ab Use array inserts rather than batches
3eaf7ac actually use the WriteRequest pool we have
d0fa4bf add .git to the .gitignore

Docker images

  • docker pull timescale/timescale-prometheus:0.1.0-beta.1
  • docker pull timescale/timescale-prometheus:0.1
  • docker pull timescale/timescale-prometheus:latest

Don't miss a new promscale release

NewReleases is sending notifications on new releases.