ez_logs_agent 0.1.3

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 3d6d21c6716856cbf2ff0bf1763565fa2f2aef94802ff9ada561fbba3839cdcb
4
+ data.tar.gz: 3b0555da8da3a83642314babea1671846ae958f2b20ccafbf0959d2ca0d0e5f6
5
+ SHA512:
6
+ metadata.gz: ee5df5ac6dac348c9a19ef586d5539b0589a5f22ec9be5f94ddbd2025c733939b1dcd506dd9abd1af939e80d97840b0cc089e084d8f607a1b9687084f4c213c3
7
+ data.tar.gz: 510b88d85e9a8c8e62360cb219e642b24aa60c77799eccd0c9df64ae47bdfcfd5ff65d54b8b3e25b2f42ae8bc300bda4d1ff1086d1ca7b053a24b69d59667088
data/CHANGELOG.md ADDED
@@ -0,0 +1,80 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ ## [0.1.3] — 2026-05-17
6
+
7
+ ### Fixed
8
+ - Include `lib/tasks/ez_logs_agent.rake` in the published gem. 0.1.2's
9
+ gemspec used `lib/**/*.{rb,tt}` which didn't match `.rake` files; the
10
+ railtie's `rake_tasks do; load 'tasks/...'; end` then raised
11
+ `LoadError` on boot, breaking `assets:precompile` in any host app's
12
+ Docker build. 0.1.2 yanked.
13
+
14
+ ### Note
15
+ - 0.1.0, 0.1.1, 0.1.2 are all yanked. Use 0.1.3 or later.
16
+
17
+ ## [0.1.2] — 2026-05-16
18
+
19
+ ### Fixed
20
+ - Republish with correct file modes (0644) so the gem loads in
21
+ privilege-dropping containers. 0.1.0 and 0.1.1 were built under a
22
+ tight umask and shipped lib files at 0600, causing `LoadError` in
23
+ any image that drops to a non-root user. Both prior versions yanked.
24
+
25
+ ### Note
26
+ - 0.1.1 is yanked. Use 0.1.2 or later.
27
+
28
+ ## [0.1.0] — 2025-12-18
29
+
30
+ Initial release.
31
+
32
+ ### Added
33
+
34
+ **Event Capture:**
35
+ - HTTP request capture via Rack middleware
36
+ - GraphQL metadata enrichment (operation name, operation type)
37
+ - Sidekiq job capture via client and server middleware
38
+ - ActiveJob capture with Sidekiq adapter detection
39
+ - ActiveRecord lifecycle capture (create, update, destroy)
40
+
41
+ **Correlation:**
42
+ - Automatic correlation ID generation for HTTP requests
43
+ - Correlation propagation from HTTP to background jobs
44
+ - Correlation propagation from job to nested jobs
45
+ - Cross-technology correlation (Sidekiq ↔ ActiveJob)
46
+
47
+ **Transport:**
48
+ - Thread-safe in-memory buffer with overflow protection
49
+ - HTTP transport with configurable server URL
50
+ - Retry logic with exponential backoff
51
+ - Background flush scheduler (configurable interval)
52
+
53
+ **Rails Integration:**
54
+ - Zero-config setup via Railtie
55
+ - Auto-registration of HTTP middleware
56
+ - Auto-registration of Sidekiq middleware
57
+ - Auto-installation of ActiveJob hooks
58
+ - Auto-installation of database callbacks
59
+ - Graceful shutdown with final flush
60
+ - Rails generator for initializer (`rails generate ez_logs_agent:install`)
61
+
62
+ **Configuration:**
63
+ - `server_url` — EzLogs Server URL (required)
64
+ - `project_token` — Authentication token
65
+ - `capture_http` — Enable/disable HTTP capture
66
+ - `capture_jobs` — Enable/disable job capture
67
+ - `capture_database` — Enable/disable database capture
68
+ - `excluded_paths` — Paths to skip in HTTP capture
69
+ - `buffer_size` — Maximum events in memory
70
+ - `retry_attempts` — Retry count for failed sends
71
+ - `send_interval` — Seconds between flushes
72
+ - `log_level` — Logging verbosity
73
+
74
+ ### Notes
75
+
76
+ - Best-effort delivery (events may be lost if server is unreachable)
77
+ - Correlation is best-effort (missing correlation IDs are acceptable)
78
+ - Not intended as an audit log (use PaperTrail or Audited for compliance)
79
+ - Agent never raises exceptions to host application
80
+ - Agent never blocks requests or job execution
data/LICENSE.txt ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2025 dezsirazvan
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.