brainzlab 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/CHANGELOG.md +52 -0
- data/LICENSE +26 -0
- data/README.md +311 -0
- data/lib/brainzlab/configuration.rb +215 -0
- data/lib/brainzlab/context.rb +91 -0
- data/lib/brainzlab/instrumentation/action_mailer.rb +181 -0
- data/lib/brainzlab/instrumentation/active_record.rb +111 -0
- data/lib/brainzlab/instrumentation/delayed_job.rb +236 -0
- data/lib/brainzlab/instrumentation/elasticsearch.rb +210 -0
- data/lib/brainzlab/instrumentation/faraday.rb +182 -0
- data/lib/brainzlab/instrumentation/grape.rb +293 -0
- data/lib/brainzlab/instrumentation/graphql.rb +251 -0
- data/lib/brainzlab/instrumentation/httparty.rb +194 -0
- data/lib/brainzlab/instrumentation/mongodb.rb +187 -0
- data/lib/brainzlab/instrumentation/net_http.rb +109 -0
- data/lib/brainzlab/instrumentation/redis.rb +331 -0
- data/lib/brainzlab/instrumentation/sidekiq.rb +264 -0
- data/lib/brainzlab/instrumentation.rb +132 -0
- data/lib/brainzlab/pulse/client.rb +132 -0
- data/lib/brainzlab/pulse/instrumentation.rb +364 -0
- data/lib/brainzlab/pulse/propagation.rb +241 -0
- data/lib/brainzlab/pulse/provisioner.rb +114 -0
- data/lib/brainzlab/pulse/tracer.rb +111 -0
- data/lib/brainzlab/pulse.rb +224 -0
- data/lib/brainzlab/rails/log_formatter.rb +801 -0
- data/lib/brainzlab/rails/log_subscriber.rb +341 -0
- data/lib/brainzlab/rails/railtie.rb +590 -0
- data/lib/brainzlab/recall/buffer.rb +64 -0
- data/lib/brainzlab/recall/client.rb +86 -0
- data/lib/brainzlab/recall/logger.rb +118 -0
- data/lib/brainzlab/recall/provisioner.rb +113 -0
- data/lib/brainzlab/recall.rb +155 -0
- data/lib/brainzlab/reflex/breadcrumbs.rb +55 -0
- data/lib/brainzlab/reflex/client.rb +85 -0
- data/lib/brainzlab/reflex/provisioner.rb +116 -0
- data/lib/brainzlab/reflex.rb +374 -0
- data/lib/brainzlab/version.rb +5 -0
- data/lib/brainzlab-sdk.rb +3 -0
- data/lib/brainzlab.rb +140 -0
- data/lib/generators/brainzlab/install/install_generator.rb +61 -0
- data/lib/generators/brainzlab/install/templates/brainzlab.rb.tt +77 -0
- metadata +159 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
BrainzLab.configure do |config|
|
|
4
|
+
# Your secret key from https://brainzlab.ai/dashboard
|
|
5
|
+
# If using auto-provisioning, you can omit this and set master keys instead
|
|
6
|
+
config.secret_key = <%= secret_key_value %>
|
|
7
|
+
|
|
8
|
+
# App name for auto-provisioning (required for auto-provision)
|
|
9
|
+
config.app_name = "<%= app_name %>"
|
|
10
|
+
|
|
11
|
+
# Environment (defaults to Rails.env)
|
|
12
|
+
# config.environment = Rails.env
|
|
13
|
+
|
|
14
|
+
# Service name (defaults to app name)
|
|
15
|
+
config.service = "<%= app_name %>"
|
|
16
|
+
|
|
17
|
+
# ============================================================================
|
|
18
|
+
# Recall - Logging
|
|
19
|
+
# ============================================================================
|
|
20
|
+
|
|
21
|
+
# Enable/disable Recall logging
|
|
22
|
+
# config.recall_enabled = true
|
|
23
|
+
|
|
24
|
+
# Recall URL (defaults to https://recall.brainzlab.ai)
|
|
25
|
+
# config.recall_url = ENV.fetch("RECALL_URL", "https://recall.brainzlab.ai")
|
|
26
|
+
|
|
27
|
+
# Master key for auto-provisioning (set in environment)
|
|
28
|
+
# config.recall_master_key = ENV["RECALL_MASTER_KEY"]
|
|
29
|
+
|
|
30
|
+
# Minimum log level to send to Recall
|
|
31
|
+
# config.recall_min_level = :debug # :debug, :info, :warn, :error, :fatal
|
|
32
|
+
|
|
33
|
+
# Buffer settings for batching logs
|
|
34
|
+
# config.recall_buffer_size = 50 # Flush after 50 logs
|
|
35
|
+
# config.recall_flush_interval = 5 # Or every 5 seconds
|
|
36
|
+
|
|
37
|
+
# ============================================================================
|
|
38
|
+
# Reflex - Error Tracking
|
|
39
|
+
# ============================================================================
|
|
40
|
+
|
|
41
|
+
# Enable/disable Reflex error tracking
|
|
42
|
+
# config.reflex_enabled = true
|
|
43
|
+
|
|
44
|
+
# Reflex URL (defaults to https://reflex.brainzlab.ai)
|
|
45
|
+
# config.reflex_url = ENV.fetch("REFLEX_URL", "https://reflex.brainzlab.ai")
|
|
46
|
+
|
|
47
|
+
# Master key for auto-provisioning (set in environment)
|
|
48
|
+
# config.reflex_master_key = ENV["REFLEX_MASTER_KEY"]
|
|
49
|
+
|
|
50
|
+
# Exceptions to exclude from Reflex error tracking
|
|
51
|
+
# config.reflex_excluded_exceptions = [
|
|
52
|
+
# "ActionController::RoutingError",
|
|
53
|
+
# "ActionController::InvalidAuthenticityToken",
|
|
54
|
+
# "ActiveRecord::RecordNotFound"
|
|
55
|
+
# ]
|
|
56
|
+
|
|
57
|
+
# Sample rate for errors (1.0 = 100%, 0.5 = 50%)
|
|
58
|
+
# config.reflex_sample_rate = 1.0
|
|
59
|
+
|
|
60
|
+
# Before send hook to modify or filter errors
|
|
61
|
+
# config.reflex_before_send = ->(payload, exception) {
|
|
62
|
+
# # Return nil to drop the error, or modify and return payload
|
|
63
|
+
# payload
|
|
64
|
+
# }
|
|
65
|
+
|
|
66
|
+
# ============================================================================
|
|
67
|
+
# General
|
|
68
|
+
# ============================================================================
|
|
69
|
+
|
|
70
|
+
# Fields to scrub from logs and errors
|
|
71
|
+
# config.scrub_fields = %i[password password_confirmation token api_key secret credit_card]
|
|
72
|
+
end
|
|
73
|
+
<% if options[:replace_logger] %>
|
|
74
|
+
|
|
75
|
+
# Send all Rails logs to Recall (keeps console output too)
|
|
76
|
+
Rails.logger = BrainzLab.logger(broadcast_to: Rails.logger)
|
|
77
|
+
<% end %>
|
metadata
ADDED
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: brainzlab
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.1.0
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Brainz Lab
|
|
8
|
+
bindir: bin
|
|
9
|
+
cert_chain: []
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
|
+
dependencies:
|
|
12
|
+
- !ruby/object:Gem::Dependency
|
|
13
|
+
name: concurrent-ruby
|
|
14
|
+
requirement: !ruby/object:Gem::Requirement
|
|
15
|
+
requirements:
|
|
16
|
+
- - "~>"
|
|
17
|
+
- !ruby/object:Gem::Version
|
|
18
|
+
version: '1.0'
|
|
19
|
+
type: :runtime
|
|
20
|
+
prerelease: false
|
|
21
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
22
|
+
requirements:
|
|
23
|
+
- - "~>"
|
|
24
|
+
- !ruby/object:Gem::Version
|
|
25
|
+
version: '1.0'
|
|
26
|
+
- !ruby/object:Gem::Dependency
|
|
27
|
+
name: logger
|
|
28
|
+
requirement: !ruby/object:Gem::Requirement
|
|
29
|
+
requirements:
|
|
30
|
+
- - "~>"
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: '1.5'
|
|
33
|
+
type: :runtime
|
|
34
|
+
prerelease: false
|
|
35
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
36
|
+
requirements:
|
|
37
|
+
- - "~>"
|
|
38
|
+
- !ruby/object:Gem::Version
|
|
39
|
+
version: '1.5'
|
|
40
|
+
- !ruby/object:Gem::Dependency
|
|
41
|
+
name: rake
|
|
42
|
+
requirement: !ruby/object:Gem::Requirement
|
|
43
|
+
requirements:
|
|
44
|
+
- - "~>"
|
|
45
|
+
- !ruby/object:Gem::Version
|
|
46
|
+
version: '13.0'
|
|
47
|
+
type: :development
|
|
48
|
+
prerelease: false
|
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
50
|
+
requirements:
|
|
51
|
+
- - "~>"
|
|
52
|
+
- !ruby/object:Gem::Version
|
|
53
|
+
version: '13.0'
|
|
54
|
+
- !ruby/object:Gem::Dependency
|
|
55
|
+
name: rspec
|
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
|
57
|
+
requirements:
|
|
58
|
+
- - "~>"
|
|
59
|
+
- !ruby/object:Gem::Version
|
|
60
|
+
version: '3.0'
|
|
61
|
+
type: :development
|
|
62
|
+
prerelease: false
|
|
63
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
64
|
+
requirements:
|
|
65
|
+
- - "~>"
|
|
66
|
+
- !ruby/object:Gem::Version
|
|
67
|
+
version: '3.0'
|
|
68
|
+
- !ruby/object:Gem::Dependency
|
|
69
|
+
name: webmock
|
|
70
|
+
requirement: !ruby/object:Gem::Requirement
|
|
71
|
+
requirements:
|
|
72
|
+
- - "~>"
|
|
73
|
+
- !ruby/object:Gem::Version
|
|
74
|
+
version: '3.0'
|
|
75
|
+
type: :development
|
|
76
|
+
prerelease: false
|
|
77
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
78
|
+
requirements:
|
|
79
|
+
- - "~>"
|
|
80
|
+
- !ruby/object:Gem::Version
|
|
81
|
+
version: '3.0'
|
|
82
|
+
description: Official Ruby SDK for BrainzLab observability platform. Includes Recall
|
|
83
|
+
(structured logging), Reflex (error tracking), and Pulse (APM with distributed tracing).
|
|
84
|
+
Auto-instruments Rails, Sidekiq, GraphQL, Redis, and more.
|
|
85
|
+
email:
|
|
86
|
+
- support@brainzlab.ai
|
|
87
|
+
executables: []
|
|
88
|
+
extensions: []
|
|
89
|
+
extra_rdoc_files: []
|
|
90
|
+
files:
|
|
91
|
+
- CHANGELOG.md
|
|
92
|
+
- LICENSE
|
|
93
|
+
- README.md
|
|
94
|
+
- lib/brainzlab-sdk.rb
|
|
95
|
+
- lib/brainzlab.rb
|
|
96
|
+
- lib/brainzlab/configuration.rb
|
|
97
|
+
- lib/brainzlab/context.rb
|
|
98
|
+
- lib/brainzlab/instrumentation.rb
|
|
99
|
+
- lib/brainzlab/instrumentation/action_mailer.rb
|
|
100
|
+
- lib/brainzlab/instrumentation/active_record.rb
|
|
101
|
+
- lib/brainzlab/instrumentation/delayed_job.rb
|
|
102
|
+
- lib/brainzlab/instrumentation/elasticsearch.rb
|
|
103
|
+
- lib/brainzlab/instrumentation/faraday.rb
|
|
104
|
+
- lib/brainzlab/instrumentation/grape.rb
|
|
105
|
+
- lib/brainzlab/instrumentation/graphql.rb
|
|
106
|
+
- lib/brainzlab/instrumentation/httparty.rb
|
|
107
|
+
- lib/brainzlab/instrumentation/mongodb.rb
|
|
108
|
+
- lib/brainzlab/instrumentation/net_http.rb
|
|
109
|
+
- lib/brainzlab/instrumentation/redis.rb
|
|
110
|
+
- lib/brainzlab/instrumentation/sidekiq.rb
|
|
111
|
+
- lib/brainzlab/pulse.rb
|
|
112
|
+
- lib/brainzlab/pulse/client.rb
|
|
113
|
+
- lib/brainzlab/pulse/instrumentation.rb
|
|
114
|
+
- lib/brainzlab/pulse/propagation.rb
|
|
115
|
+
- lib/brainzlab/pulse/provisioner.rb
|
|
116
|
+
- lib/brainzlab/pulse/tracer.rb
|
|
117
|
+
- lib/brainzlab/rails/log_formatter.rb
|
|
118
|
+
- lib/brainzlab/rails/log_subscriber.rb
|
|
119
|
+
- lib/brainzlab/rails/railtie.rb
|
|
120
|
+
- lib/brainzlab/recall.rb
|
|
121
|
+
- lib/brainzlab/recall/buffer.rb
|
|
122
|
+
- lib/brainzlab/recall/client.rb
|
|
123
|
+
- lib/brainzlab/recall/logger.rb
|
|
124
|
+
- lib/brainzlab/recall/provisioner.rb
|
|
125
|
+
- lib/brainzlab/reflex.rb
|
|
126
|
+
- lib/brainzlab/reflex/breadcrumbs.rb
|
|
127
|
+
- lib/brainzlab/reflex/client.rb
|
|
128
|
+
- lib/brainzlab/reflex/provisioner.rb
|
|
129
|
+
- lib/brainzlab/version.rb
|
|
130
|
+
- lib/generators/brainzlab/install/install_generator.rb
|
|
131
|
+
- lib/generators/brainzlab/install/templates/brainzlab.rb.tt
|
|
132
|
+
homepage: https://brainzlab.ai
|
|
133
|
+
licenses:
|
|
134
|
+
- Nonstandard
|
|
135
|
+
metadata:
|
|
136
|
+
homepage_uri: https://brainzlab.ai
|
|
137
|
+
source_code_uri: https://github.com/brainz-lab/brainzlab-ruby
|
|
138
|
+
changelog_uri: https://github.com/brainz-lab/brainzlab-ruby/blob/main/CHANGELOG.md
|
|
139
|
+
documentation_uri: https://docs.brainzlab.ai/sdk/ruby
|
|
140
|
+
rubygems_mfa_required: 'true'
|
|
141
|
+
rdoc_options: []
|
|
142
|
+
require_paths:
|
|
143
|
+
- lib
|
|
144
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
145
|
+
requirements:
|
|
146
|
+
- - ">="
|
|
147
|
+
- !ruby/object:Gem::Version
|
|
148
|
+
version: 3.1.0
|
|
149
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
150
|
+
requirements:
|
|
151
|
+
- - ">="
|
|
152
|
+
- !ruby/object:Gem::Version
|
|
153
|
+
version: '0'
|
|
154
|
+
requirements: []
|
|
155
|
+
rubygems_version: 3.6.9
|
|
156
|
+
specification_version: 4
|
|
157
|
+
summary: Ruby SDK for BrainzLab - Recall logging, Reflex error tracking, and Pulse
|
|
158
|
+
APM
|
|
159
|
+
test_files: []
|