tj-scale 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e070c5d82758136d8df85df78f7f6b021f7494cfa8a2b64ff417aff9ad386333
4
- data.tar.gz: d4cdd0e53528d48a634b8ee929c498cf63756ae7fd8be239ad6aaf277174052f
3
+ metadata.gz: e05590797c077f70558b873341769561cab50e7407fe0933df596115ef475a10
4
+ data.tar.gz: c45d900f4d681d5be4b7e8752092f182c074a5cb5461177d71edde23c598018b
5
5
  SHA512:
6
- metadata.gz: 45b1804fc8ee06924b28d7230645fcb34d2d26fa4c37a412183cbfac6ff9bf82da108876d8012f275c774fc027e312ca0095b9bb6d0b89af6303023d0ae302fa
7
- data.tar.gz: 46758b912e0a3ede622ed4ceae6ddb0b78c74b6dfe2cc4022fdf484892320db56204eea15600285bd7cbb6a09286974030b5ba73f983250cf3c3194ebd24632c
6
+ metadata.gz: a7c59c9a515aa750175495fde1780eecff206cd1d051f7cd10e3a26b80059902af5f506033fa7c04b67c6ddcaf00adf48279ef3525852bcd0787d481d4cf78db
7
+ data.tar.gz: 2932a2bb1e4ad70029510117775afb334ed34233a03e6811cc65ad53573fdc0fa86832ed950675a1498bdbc98ba3296e470600c63fbde17c4f072ef2e59ce341
data/CHANGELOG.md CHANGED
@@ -7,6 +7,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [1.0.1] (tj-scale) - 2026-06-12
11
+
12
+ ### Changed
13
+
14
+ - Rewrote the RubyGems summary and description for the gem page (1.0.0 shipped the same code with the older description).
15
+
16
+ ## [1.0.0] (tj-scale) - 2026-06-12
17
+
18
+ First release under the new gem name **`tj-scale`** (continues `tj-scale-ruby`, versions below).
19
+
10
20
  ### Changed
11
21
 
12
22
  - **Gem renamed to `tj-scale`** (was `tj-scale-ruby`); require path is now `require "tj-scale"`. Internal `TjScaleRuby` module and `lib/tj_scale_ruby/` paths are unchanged.
@@ -2,5 +2,5 @@
2
2
 
3
3
  # Version module for TjScaleRuby gem
4
4
  module TjScaleRuby
5
- VERSION = "1.0.0"
5
+ VERSION = "1.0.1"
6
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tj-scale
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tanuj
@@ -148,21 +148,23 @@ dependencies:
148
148
  - !ruby/object:Gem::Version
149
149
  version: '0.14'
150
150
  description: |
151
- TjScaleRuby reports metrics from your Rails app to an TJ Scale (or compatible)
152
- control plane so it can autoscale Heroku formation from rules you configure there.
151
+ TJ Scale is a lightweight metrics agent that lets a TJ Scale dashboard autoscale
152
+ your Heroku dynos based on real queue pressure instead of CPU or memory.
153
153
 
154
- Behavior at a glance:
155
- - Runs a background loop on exactly one dyno: web.1 or worker.1 (configurable).
156
- - Worker reporter: waiting job count and oldest-job age (queue_time_s) from Delayed Job
157
- or Sidekiq pick with TJ_SCALE_JOB_BACKEND (auto-detected by default).
158
- - Web reporter: router queue_time_ms (Rack middleware + X-Request-Start), request volume,
159
- and average response time per reporting interval.
160
- - Sends target Heroku app and process type on every POST; scaling limits
161
- (min/max dynos) are configured in the control plane's dashboard settings.
162
- - Configure with environment variables; no Rails initializer required.
154
+ Add the gem, set a few environment variables, and a background reporter starts on
155
+ exactly one dyno (web.1 or worker.1 — your choice). Every few seconds it POSTs a
156
+ small JSON payload to your dashboard, which applies the scaling rules, limits, and
157
+ cooldowns you configure there and calls the Heroku Platform API. The gem itself
158
+ never scales anything, keeping your app free of Heroku credentials.
163
159
 
164
- Requires Rails 6.1+ and Ruby 3.0+. Bring your own queue gem: delayed_job_active_record
165
- or sidekiq (worker reporters only).
160
+ Worker mode reports the number of waiting jobs and the age of the oldest one, from
161
+ either Delayed Job or Sidekiq (auto-detected). Web mode reports router queue time
162
+ (via Rack middleware and the X-Request-Start header), request volume, and average
163
+ response time.
164
+
165
+ Zero-config inside Rails: no initializer needed, everything is driven by
166
+ environment variables. Requires Rails 6.1+ and Ruby 3.0+. For worker metrics,
167
+ bring your own queue gem (delayed_job_active_record or sidekiq).
166
168
  email:
167
169
  - tanuj@untechnickle.com
168
170
  executables: []
@@ -204,6 +206,6 @@ required_rubygems_version: !ruby/object:Gem::Requirement
204
206
  requirements: []
205
207
  rubygems_version: 3.6.2
206
208
  specification_version: 4
207
- summary: 'Rails gem: Delayed Job / Sidekiq queue metrics for Heroku auto-scaling (web
208
- or worker dynos)'
209
+ summary: Heroku autoscaling agent for Rails reports web and worker queue metrics
210
+ (Delayed Job or Sidekiq) to your TJ Scale dashboard
209
211
  test_files: []