dontbugme 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.
Files changed (45) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/README.md +174 -0
  4. data/app/controllers/dontbugme/traces_controller.rb +45 -0
  5. data/app/views/dontbugme/traces/diff.html.erb +18 -0
  6. data/app/views/dontbugme/traces/index.html.erb +30 -0
  7. data/app/views/dontbugme/traces/show.html.erb +15 -0
  8. data/app/views/layouts/dontbugme/application.html.erb +56 -0
  9. data/bin/dontbugme +5 -0
  10. data/lib/dontbugme/cleanup_job.rb +17 -0
  11. data/lib/dontbugme/cli.rb +171 -0
  12. data/lib/dontbugme/config/routes.rb +7 -0
  13. data/lib/dontbugme/configuration.rb +147 -0
  14. data/lib/dontbugme/context.rb +25 -0
  15. data/lib/dontbugme/correlation.rb +25 -0
  16. data/lib/dontbugme/engine.rb +11 -0
  17. data/lib/dontbugme/formatters/diff.rb +187 -0
  18. data/lib/dontbugme/formatters/json.rb +11 -0
  19. data/lib/dontbugme/formatters/timeline.rb +119 -0
  20. data/lib/dontbugme/middleware/rack.rb +37 -0
  21. data/lib/dontbugme/middleware/sidekiq.rb +31 -0
  22. data/lib/dontbugme/middleware/sidekiq_client.rb +14 -0
  23. data/lib/dontbugme/railtie.rb +47 -0
  24. data/lib/dontbugme/recorder.rb +70 -0
  25. data/lib/dontbugme/source_location.rb +44 -0
  26. data/lib/dontbugme/span.rb +70 -0
  27. data/lib/dontbugme/span_collection.rb +40 -0
  28. data/lib/dontbugme/store/async.rb +45 -0
  29. data/lib/dontbugme/store/base.rb +23 -0
  30. data/lib/dontbugme/store/memory.rb +61 -0
  31. data/lib/dontbugme/store/postgresql.rb +186 -0
  32. data/lib/dontbugme/store/sqlite.rb +148 -0
  33. data/lib/dontbugme/subscribers/action_mailer.rb +53 -0
  34. data/lib/dontbugme/subscribers/active_job.rb +44 -0
  35. data/lib/dontbugme/subscribers/active_record.rb +81 -0
  36. data/lib/dontbugme/subscribers/base.rb +19 -0
  37. data/lib/dontbugme/subscribers/cache.rb +54 -0
  38. data/lib/dontbugme/subscribers/net_http.rb +87 -0
  39. data/lib/dontbugme/subscribers/redis.rb +63 -0
  40. data/lib/dontbugme/trace.rb +142 -0
  41. data/lib/dontbugme/version.rb +5 -0
  42. data/lib/dontbugme.rb +118 -0
  43. data/lib/generators/dontbugme/install/install_generator.rb +17 -0
  44. data/lib/generators/dontbugme/install/templates/dontbugme.rb +17 -0
  45. metadata +164 -0
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ Dontbugme.configure do |config|
4
+ # config.store = :sqlite
5
+ # config.sqlite_path = "tmp/inspector/inspector.db"
6
+
7
+ # Web UI (optional, disabled in production by default)
8
+ # config.enable_web_ui = true
9
+ # config.web_ui_mount_path = "/inspector"
10
+
11
+ # Production: use PostgreSQL, async writes, selective recording
12
+ # config.store = :postgresql
13
+ # config.async_store = true
14
+ # config.recording_mode = :selective
15
+ # config.sample_rate = 0.05
16
+ # config.record_on_error = true
17
+ end
metadata ADDED
@@ -0,0 +1,164 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: dontbugme
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Inspector Contributors
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2026-02-28 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: thor
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: sqlite3
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.6'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.6'
41
+ - !ruby/object:Gem::Dependency
42
+ name: bundler
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '2.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '2.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rake
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '13.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '13.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rspec
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '3.0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '3.0'
83
+ description: |
84
+ Dontbugme captures a structured trace of everything that happens during a unit of work
85
+ (Sidekiq job, HTTP request, rake task). See exactly what database queries ran, what HTTP
86
+ services were called, what exceptions were raised — with source locations pointing to your code.
87
+ email:
88
+ - hello@example.com
89
+ executables:
90
+ - dontbugme
91
+ extensions: []
92
+ extra_rdoc_files: []
93
+ files:
94
+ - LICENSE
95
+ - README.md
96
+ - app/controllers/dontbugme/traces_controller.rb
97
+ - app/views/dontbugme/traces/diff.html.erb
98
+ - app/views/dontbugme/traces/index.html.erb
99
+ - app/views/dontbugme/traces/show.html.erb
100
+ - app/views/layouts/dontbugme/application.html.erb
101
+ - bin/dontbugme
102
+ - lib/dontbugme.rb
103
+ - lib/dontbugme/cleanup_job.rb
104
+ - lib/dontbugme/cli.rb
105
+ - lib/dontbugme/config/routes.rb
106
+ - lib/dontbugme/configuration.rb
107
+ - lib/dontbugme/context.rb
108
+ - lib/dontbugme/correlation.rb
109
+ - lib/dontbugme/engine.rb
110
+ - lib/dontbugme/formatters/diff.rb
111
+ - lib/dontbugme/formatters/json.rb
112
+ - lib/dontbugme/formatters/timeline.rb
113
+ - lib/dontbugme/middleware/rack.rb
114
+ - lib/dontbugme/middleware/sidekiq.rb
115
+ - lib/dontbugme/middleware/sidekiq_client.rb
116
+ - lib/dontbugme/railtie.rb
117
+ - lib/dontbugme/recorder.rb
118
+ - lib/dontbugme/source_location.rb
119
+ - lib/dontbugme/span.rb
120
+ - lib/dontbugme/span_collection.rb
121
+ - lib/dontbugme/store/async.rb
122
+ - lib/dontbugme/store/base.rb
123
+ - lib/dontbugme/store/memory.rb
124
+ - lib/dontbugme/store/postgresql.rb
125
+ - lib/dontbugme/store/sqlite.rb
126
+ - lib/dontbugme/subscribers/action_mailer.rb
127
+ - lib/dontbugme/subscribers/active_job.rb
128
+ - lib/dontbugme/subscribers/active_record.rb
129
+ - lib/dontbugme/subscribers/base.rb
130
+ - lib/dontbugme/subscribers/cache.rb
131
+ - lib/dontbugme/subscribers/net_http.rb
132
+ - lib/dontbugme/subscribers/redis.rb
133
+ - lib/dontbugme/trace.rb
134
+ - lib/dontbugme/version.rb
135
+ - lib/generators/dontbugme/install/install_generator.rb
136
+ - lib/generators/dontbugme/install/templates/dontbugme.rb
137
+ homepage: https://github.com/example/dontbugme
138
+ licenses:
139
+ - MIT
140
+ metadata:
141
+ homepage_uri: https://github.com/example/dontbugme
142
+ source_code_uri: https://github.com/example/dontbugme
143
+ changelog_uri: https://github.com/example/dontbugme/blob/main/CHANGELOG.md
144
+ post_install_message:
145
+ rdoc_options: []
146
+ require_paths:
147
+ - lib
148
+ required_ruby_version: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: 3.0.0
153
+ required_rubygems_version: !ruby/object:Gem::Requirement
154
+ requirements:
155
+ - - ">="
156
+ - !ruby/object:Gem::Version
157
+ version: '0'
158
+ requirements: []
159
+ rubygems_version: 3.2.33
160
+ signing_key:
161
+ specification_version: 4
162
+ summary: Flight recorder for Rails — reconstruct the full execution story of Sidekiq
163
+ jobs and HTTP requests
164
+ test_files: []