ez_logs_agent 0.1.0
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 +7 -0
- data/.rspec +3 -0
- data/CHANGELOG.md +57 -0
- data/CONFIGURATION.md +752 -0
- data/FAQ.md +574 -0
- data/LICENSE.txt +21 -0
- data/QUICKSTART.md +390 -0
- data/README.md +1021 -0
- data/RELEASING.md +55 -0
- data/Rakefile +8 -0
- data/lib/ez_logs_agent/actor.rb +57 -0
- data/lib/ez_logs_agent/actor_validator.rb +51 -0
- data/lib/ez_logs_agent/buffer.rb +83 -0
- data/lib/ez_logs_agent/capturers/active_job_capturer.rb +270 -0
- data/lib/ez_logs_agent/capturers/database_capturer.rb +467 -0
- data/lib/ez_logs_agent/capturers/job_capturer.rb +238 -0
- data/lib/ez_logs_agent/configuration.rb +186 -0
- data/lib/ez_logs_agent/configuration_validator.rb +139 -0
- data/lib/ez_logs_agent/correlation.rb +40 -0
- data/lib/ez_logs_agent/event_builder.rb +281 -0
- data/lib/ez_logs_agent/flush_scheduler.rb +99 -0
- data/lib/ez_logs_agent/logger.rb +62 -0
- data/lib/ez_logs_agent/middleware/http_request.rb +1094 -0
- data/lib/ez_logs_agent/railtie.rb +353 -0
- data/lib/ez_logs_agent/resource_extractor.rb +172 -0
- data/lib/ez_logs_agent/retry_sender.rb +120 -0
- data/lib/ez_logs_agent/transport.rb +91 -0
- data/lib/ez_logs_agent/version.rb +5 -0
- data/lib/ez_logs_agent.rb +42 -0
- data/lib/generators/ez_logs_agent/install/install_generator.rb +94 -0
- data/lib/generators/ez_logs_agent/install/templates/ez_logs_agent.rb.tt +128 -0
- data/lib/tasks/ez_logs_agent.rake +110 -0
- data/script/publish-to-public.sh +113 -0
- data/sig/ez_logs_agent.rbs +4 -0
- metadata +178 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 22428264b5cd11d5951c73ab206668777342457f37f125f06628d96177470bdf
|
|
4
|
+
data.tar.gz: 68c4d16a5f339d88c15dc385d536e07e2ed3fa99a09fc043b342876bb60d0f1c
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 29d0d057d73dcfc7eadf83130e0acdb5c91ba204ab1a541898d16251fb20108452c726e3aabc366eac0f6187f56c29f2babcb903be15e264d3c94c07e5a3f6e9
|
|
7
|
+
data.tar.gz: b5eaeab75e39fb4651ba038f6a020609b1724704fe532b2ae27328c0bb2b7577e963720359c35f91c4cc0780a474e5b24549d0616101b7035cfcfafee54a19d0
|
data/.rspec
ADDED
data/CHANGELOG.md
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
## [0.1.0] — 2025-12-18
|
|
6
|
+
|
|
7
|
+
Initial release.
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
**Event Capture:**
|
|
12
|
+
- HTTP request capture via Rack middleware
|
|
13
|
+
- GraphQL metadata enrichment (operation name, operation type)
|
|
14
|
+
- Sidekiq job capture via client and server middleware
|
|
15
|
+
- ActiveJob capture with Sidekiq adapter detection
|
|
16
|
+
- ActiveRecord lifecycle capture (create, update, destroy)
|
|
17
|
+
|
|
18
|
+
**Correlation:**
|
|
19
|
+
- Automatic correlation ID generation for HTTP requests
|
|
20
|
+
- Correlation propagation from HTTP to background jobs
|
|
21
|
+
- Correlation propagation from job to nested jobs
|
|
22
|
+
- Cross-technology correlation (Sidekiq ↔ ActiveJob)
|
|
23
|
+
|
|
24
|
+
**Transport:**
|
|
25
|
+
- Thread-safe in-memory buffer with overflow protection
|
|
26
|
+
- HTTP transport with configurable server URL
|
|
27
|
+
- Retry logic with exponential backoff
|
|
28
|
+
- Background flush scheduler (configurable interval)
|
|
29
|
+
|
|
30
|
+
**Rails Integration:**
|
|
31
|
+
- Zero-config setup via Railtie
|
|
32
|
+
- Auto-registration of HTTP middleware
|
|
33
|
+
- Auto-registration of Sidekiq middleware
|
|
34
|
+
- Auto-installation of ActiveJob hooks
|
|
35
|
+
- Auto-installation of database callbacks
|
|
36
|
+
- Graceful shutdown with final flush
|
|
37
|
+
- Rails generator for initializer (`rails generate ez_logs_agent:install`)
|
|
38
|
+
|
|
39
|
+
**Configuration:**
|
|
40
|
+
- `server_url` — EzLogs Server URL (required)
|
|
41
|
+
- `project_token` — Authentication token
|
|
42
|
+
- `capture_http` — Enable/disable HTTP capture
|
|
43
|
+
- `capture_jobs` — Enable/disable job capture
|
|
44
|
+
- `capture_database` — Enable/disable database capture
|
|
45
|
+
- `excluded_paths` — Paths to skip in HTTP capture
|
|
46
|
+
- `buffer_size` — Maximum events in memory
|
|
47
|
+
- `retry_attempts` — Retry count for failed sends
|
|
48
|
+
- `send_interval` — Seconds between flushes
|
|
49
|
+
- `log_level` — Logging verbosity
|
|
50
|
+
|
|
51
|
+
### Notes
|
|
52
|
+
|
|
53
|
+
- Best-effort delivery (events may be lost if server is unreachable)
|
|
54
|
+
- Correlation is best-effort (missing correlation IDs are acceptable)
|
|
55
|
+
- Not intended as an audit log (use PaperTrail or Audited for compliance)
|
|
56
|
+
- Agent never raises exceptions to host application
|
|
57
|
+
- Agent never blocks requests or job execution
|