Skip to content

Releases: XD-DENG/rediseen

Endpoint /metrics to Provide Prometheus-compatible Redis INFO Command Output

15 Oct 18:51
Compare
Choose a tag to compare
  • A new feature to allow Rediseen to be used as an Exporter for Prometheus (a new endpoint /metrics providing Prometheus-compatible Redis INFO command output).
  • A few doc improvements
  • A few test improvements

Proper module/import, so allow installing via `go get` now; More intensive testing

22 Aug 07:00
Compare
Choose a tag to compare
  • Adopting proper usage of modules and importing, so now users can install Rediseen easily via go get as a new convenient installation option.
  • Add go version 1.12 to 1.15 in the matrix of all tests, so the testing becomes more robust
  • Fix an issue due to a minor change in Go 1.15 ("New warning for string(x)", https://golang.org/doc/go1.15)
  • Other a few trivial changes

Use Cobra for CLI, and change how PID file is handled under daemon mode

18 Aug 17:49
Compare
Choose a tag to compare

Use Cobra for CLI Interface (#24)

Rather than using Go-native way to create the CLI interface, migrate to Cobra.

The only change from user perspective is: if user wants to run the service in background, earlier they run rediseen -d start, now they need to run rediseen start -d or rediseen start --daemon-mode

Create PID file as $HOME/.rediseen/rediseen.pid if run in daemon mode (#25)

When run in daemon mode, instead of creating PID file rediseen.pid under "$HOME/", create it under "$HOME/.rediseen/".

Bug Fix, Performance Improvement, and Code Refactoring

11 Jul 09:03
Compare
Choose a tag to compare

Bug Fix

  • when we list keys together with their types (when we use endpoints like /0), we should return at most 1000 keys while this was missed in the earlier implementation

Performance Improvement

  • When we list keys (when we use endpoints like /0), we list keys first, then get type for each of them. This may cause a lot of round-trips and the performance becomes very bad. Starting from this release, we use Redis's pipeline feature to reduce the Round-Trip-Time, and the performance improves significantly (rather than a performance improvement, maybe I should call this a bugfix instead, because not using pipeline feature in such scenario is a stupid mistake or a serious bug).

Others

  • Versions of underlying stuff are upgraded, including Go, go-redis, Docker base image, etc.
  • Other non-feature code refactoring

More Helpful Index Endpoint + Better-formatted Logging + Other Improvements

30 Dec 13:05
Compare
Choose a tag to compare
  • More helpful index endpoint
  • Better-formatted logging
  • Improve ExtendedClient.RedisInfo() performance
  • Set json.encoder.SetEscapeHTML to false to avoid "<" and ">" to be converted to \u0026 and \u003c in JSON result
  • Refactor to make code cleaner (due to there are two main features now, /db/key and /info/section)
  • Refine documentation
  • Address golint warnings

ALL results of Redis INFO command are exposed via endpoint /info (rather than part of them)

26 Dec 02:35
Compare
Choose a tag to compare
  • Clients will be able to get the same information as they run INFO command in Redis CLI.
  • Implementation of /info endpoint is simplified significantly.

New endpoint /info to support exposing results of `INFO` command

25 Dec 14:14
c78d0f4
Compare
Choose a tag to compare

A new endpoint /info (or /info/<section>) is added to support exposing results of INFO command.

This allows users to check Redis DB status easily. More importantly, it allows Rediseen to become a connector between Redis DB and any monitoring system/dashboard.

Others:

  • Fix typos
  • Refactor for better code base structure

Adjust configuration validation order

16 Nov 04:59
Compare
Choose a tag to compare

It was changed by accident in the last dev cycle

Significant Refactoring (no change in API) + Easier Docker Run + More Comprehensive Integration Test

16 Nov 04:32
Compare
Choose a tag to compare
  • Signification code refactoring, but change in usage/API
  • Integration tests cover all major Redis versions now
  • Update Dockerfile to allow run command easilier with docker run
  • Refine documentation

New feature: to support API Key Authentication + Enhancements

09 Nov 15:22
51201e1
Compare
Choose a tag to compare

API Key Authentication

API Key authentication is supported now.

If environment variable REDISEEN_API_KEY is set and is not "", authentication is enforced. Then client has to add X-API-KEY in HTTP header in order to access API, otherwise a 401 error will be given.

By default, there is no authentication enforced, but a WARNING will be printed in the log.

More strict check on the request path

For example, request like /0/key:0/0/0 will get a error reminder return.

Integration test is added

Integration test is added, and it's against multiple Redis versions.