Skip to content

Feature/complete remaining#11

Merged
ARCoder181105 merged 5 commits into
mainfrom
feature/complete-remaining
May 9, 2026
Merged

Feature/complete remaining#11
ARCoder181105 merged 5 commits into
mainfrom
feature/complete-remaining

Conversation

@ARCoder181105
Copy link
Copy Markdown
Owner

Summary

Completes the final remaining work on the project across three areas.

Changes

Prometheus + Grafana monitoring

  • prometheus.yml scrapes /metrics from all 3 Raft nodes every 5s
  • Grafana auto-provisioned with Prometheus datasource and a pre-built dashboard (ops/sec rate graph, latency heatmap, p99 stat, key count)
  • Two new services added to docker-compose.yml — Prometheus on :9090, Grafana on :3001

16-shard concurrent store

  • Replaced the single global sync.RWMutex + map with 16 independent shards
  • Keys route to shards via FNV-1a hash — eliminates lock contention under concurrent load
  • Each shard runs its own TTL min-heap and background eviction goroutine
  • All existing tests pass under go test -race

README

  • Status badge updated to complete
  • Architecture diagram updated with monitoring layer
  • Docker cluster setup instructions, real benchmark numbers, and project phase table added

Benchmark results (i7-12650H, 16 cores)

Throughput
Set ~11M ops/sec
Get ~51M ops/sec
Mixed (50/50) ~7.4M ops/sec

…ith metrics

- Replace ${DS_PROMETHEUS} template vars with literal 'Prometheus' datasource name
  (provisioned dashboards don't resolve __inputs substitution)
- Change stat panel colorMode from 'background' to 'value' (removes green blocks)
- Add metrics.CommandsTotal and CommandDurationSeconds instrumentation to
  handleSetKey and handleGetKey so latency heatmap and p99 panels get data
@ARCoder181105 ARCoder181105 merged commit 95bd320 into main May 9, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant