Module: SolidEvents

Defined in:
lib/solid_events.rb,
lib/solid_events/engine.rb,
lib/solid_events/tracer.rb,
lib/solid_events/current.rb,
lib/solid_events/labeler.rb,
lib/solid_events/version.rb,
lib/solid_events/benchmark.rb,
app/models/solid_events/event.rb,
app/models/solid_events/trace.rb,
app/models/solid_events/record.rb,
lib/solid_events/configuration.rb,
app/jobs/solid_events/prune_job.rb,
app/models/solid_events/journey.rb,
app/models/solid_events/summary.rb,
app/models/solid_events/incident.rb,
lib/solid_events/context_scraper.rb,
app/models/solid_events/error_link.rb,
app/models/solid_events/saved_view.rb,
app/models/solid_events/causal_edge.rb,
app/models/solid_events/record_link.rb,
lib/solid_events/controller_tracing.rb,
lib/solid_events/incident_evaluator.rb,
app/helpers/solid_events/traces_helper.rb,
app/models/solid_events/incident_event.rb,
app/controllers/solid_events/api_controller.rb,
lib/solid_events/subscribers/job_subscriber.rb,
lib/solid_events/subscribers/sql_subscriber.rb,
app/jobs/solid_events/evaluate_incidents_job.rb,
lib/solid_events/subscribers/error_subscriber.rb,
app/controllers/solid_events/traces_controller.rb,
lib/solid_events/subscribers/mailer_subscriber.rb,
lib/solid_events/subscribers/enqueue_subscriber.rb,
app/controllers/solid_events/incidents_controller.rb,
lib/solid_events/notifiers/slack_webhook_notifier.rb,
lib/solid_events/subscribers/controller_subscriber.rb,
app/controllers/solid_events/application_controller.rb,
app/controllers/solid_events/saved_views_controller.rb,
lib/solid_events/subscribers/action_cable_subscriber.rb,
lib/generators/solid_events/install/install_generator.rb,
lib/solid_events/subscribers/external_http_subscriber.rb

Defined Under Namespace

Modules: ContextScraper, ControllerTracing, Labeler, Notifiers, Subscribers, Tracer, TracesHelper Classes: ApiController, ApplicationController, Benchmark, CausalEdge, Configuration, Current, Engine, ErrorLink, EvaluateIncidentsJob, Event, Incident, IncidentEvaluator, IncidentEvent, IncidentsController, InstallGenerator, Journey, PruneJob, Record, RecordLink, SavedView, SavedViewsController, Summary, Trace, TracesController

Constant Summary collapse

VERSION =
"0.2.4"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configurationObject



13
14
15
# File 'lib/solid_events.rb', line 13

def configuration
  @configuration ||= Configuration.new
end

Class Method Details

.always_sample_context_keysObject



73
74
75
# File 'lib/solid_events.rb', line 73

def always_sample_context_keys
  Array(configuration.always_sample_context_keys).map(&:to_s)
end

.always_sample_whenObject



77
78
79
# File 'lib/solid_events.rb', line 77

def always_sample_when
  configuration.always_sample_when
end

.annotate!(context = {}) ⇒ Object



85
86
87
# File 'lib/solid_events.rb', line 85

def annotate!(context = {})
  SolidEvents::Tracer.annotate!(context)
end

.api_tokenObject



185
186
187
# File 'lib/solid_events.rb', line 185

def api_token
  configuration.api_token
end

.canonical_schema_versionObject



209
210
211
# File 'lib/solid_events.rb', line 209

def canonical_schema_version
  "1"
end

.configure {|configuration| ... } ⇒ Object

Yields:



17
18
19
# File 'lib/solid_events.rb', line 17

def configure
  yield(configuration)
end

.connects_toObject



21
22
23
# File 'lib/solid_events.rb', line 21

def connects_to
  configuration.connects_to
end

.deployment_idObject



97
98
99
# File 'lib/solid_events.rb', line 97

def deployment_id
  configuration.deployment_id
end

.emit_canonical_log_line?Boolean

Returns:

  • (Boolean)


81
82
83
# File 'lib/solid_events.rb', line 81

def emit_canonical_log_line?
  !!configuration.emit_canonical_log_line
end

.environment_nameObject



101
102
103
# File 'lib/solid_events.rb', line 101

def environment_name
  configuration.environment_name
end

.error_retention_periodObject



41
42
43
# File 'lib/solid_events.rb', line 41

def error_retention_period
  configuration.error_retention_period
end

.evaluate_incidents_on_request?Boolean

Returns:

  • (Boolean)


189
190
191
# File 'lib/solid_events.rb', line 189

def evaluate_incidents_on_request?
  !!configuration.evaluate_incidents_on_request
end

.feature_slice_keysObject



193
194
195
# File 'lib/solid_events.rb', line 193

def feature_slice_keys
  Array(configuration.feature_slice_keys).map(&:to_s)
end

.ignore_controller_prefixesObject



61
62
63
# File 'lib/solid_events.rb', line 61

def ignore_controller_prefixes
  Array(configuration.effective_ignore_controller_prefixes)
end

.ignore_job_prefixesObject



57
58
59
# File 'lib/solid_events.rb', line 57

def ignore_job_prefixes
  Array(configuration.effective_ignore_job_prefixes)
end

.ignore_model_prefixesObject



33
34
35
# File 'lib/solid_events.rb', line 33

def ignore_model_prefixes
  Array(configuration.effective_ignore_model_prefixes)
end

.ignore_modelsObject



25
26
27
# File 'lib/solid_events.rb', line 25

def ignore_models
  Array(configuration.ignore_models)
end

.ignore_pathsObject



29
30
31
# File 'lib/solid_events.rb', line 29

def ignore_paths
  Array(configuration.ignore_paths)
end

.ignore_sql_fragmentsObject



49
50
51
# File 'lib/solid_events.rb', line 49

def ignore_sql_fragments
  Array(configuration.effective_ignore_sql_fragments)
end

.ignore_sql_tables(present_tables = []) ⇒ Object



53
54
55
# File 'lib/solid_events.rb', line 53

def ignore_sql_tables(present_tables = [])
  Array(configuration.effective_ignore_sql_tables(present_tables))
end

.incident_dedupe_windowObject



153
154
155
# File 'lib/solid_events.rb', line 153

def incident_dedupe_window
  configuration.incident_dedupe_window
end

.incident_error_spike_threshold_pctObject



141
142
143
# File 'lib/solid_events.rb', line 141

def incident_error_spike_threshold_pct
  configuration.incident_error_spike_threshold_pct.to_f
end

.incident_min_samplesObject



149
150
151
# File 'lib/solid_events.rb', line 149

def incident_min_samples
  configuration.incident_min_samples.to_i
end

.incident_multi_signal_error_rate_pctObject



165
166
167
# File 'lib/solid_events.rb', line 165

def incident_multi_signal_error_rate_pct
  configuration.incident_multi_signal_error_rate_pct.to_f
end

.incident_multi_signal_p95_factorObject



169
170
171
# File 'lib/solid_events.rb', line 169

def incident_multi_signal_p95_factor
  configuration.incident_multi_signal_p95_factor.to_f
end

.incident_multi_signal_sql_duration_msObject



173
174
175
# File 'lib/solid_events.rb', line 173

def incident_multi_signal_sql_duration_ms
  configuration.incident_multi_signal_sql_duration_ms.to_f
end

.incident_notifierObject



181
182
183
# File 'lib/solid_events.rb', line 181

def incident_notifier
  configuration.incident_notifier
end

.incident_p95_regression_factorObject



145
146
147
# File 'lib/solid_events.rb', line 145

def incident_p95_regression_factor
  configuration.incident_p95_regression_factor.to_f
end

.incident_retention_periodObject



45
46
47
# File 'lib/solid_events.rb', line 45

def incident_retention_period
  configuration.incident_retention_period
end

.incident_slo_burn_rate_thresholdObject



161
162
163
# File 'lib/solid_events.rb', line 161

def incident_slo_burn_rate_threshold
  configuration.incident_slo_burn_rate_threshold.to_f
end

.incident_slo_target_error_rate_pctObject



157
158
159
# File 'lib/solid_events.rb', line 157

def incident_slo_target_error_rate_pct
  configuration.incident_slo_target_error_rate_pct.to_f
end

.incident_suppression_rulesObject



177
178
179
# File 'lib/solid_events.rb', line 177

def incident_suppression_rules
  Array(configuration.incident_suppression_rules)
end

.max_context_payload_bytesObject



121
122
123
# File 'lib/solid_events.rb', line 121

def max_context_payload_bytes
  configuration.max_context_payload_bytes.to_i
end

.max_event_payload_bytesObject



125
126
127
# File 'lib/solid_events.rb', line 125

def max_event_payload_bytes
  configuration.max_event_payload_bytes.to_i
end

.payload_truncation_placeholderObject



129
130
131
# File 'lib/solid_events.rb', line 129

def payload_truncation_placeholder
  configuration.payload_truncation_placeholder.to_s
end

.persist_sub_events?Boolean

Returns:

  • (Boolean)


137
138
139
# File 'lib/solid_events.rb', line 137

def persist_sub_events?
  !!configuration.persist_sub_events
end

.redaction_pathsObject



113
114
115
# File 'lib/solid_events.rb', line 113

def redaction_paths
  configuration.redaction_paths.to_h.transform_keys(&:to_s)
end

.redaction_placeholderObject



117
118
119
# File 'lib/solid_events.rb', line 117

def redaction_placeholder
  configuration.redaction_placeholder.to_s
end

.regionObject



105
106
107
# File 'lib/solid_events.rb', line 105

def region
  configuration.region
end

.retention_periodObject



37
38
39
# File 'lib/solid_events.rb', line 37

def retention_period
  configuration.retention_period
end

.sample_rateObject



65
66
67
# File 'lib/solid_events.rb', line 65

def sample_rate
  configuration.sample_rate.to_f
end

.sensitive_keysObject



109
110
111
# File 'lib/solid_events.rb', line 109

def sensitive_keys
  Array(configuration.sensitive_keys).map(&:to_s)
end

.service_nameObject



89
90
91
# File 'lib/solid_events.rb', line 89

def service_name
  configuration.service_name
end

.service_versionObject



93
94
95
# File 'lib/solid_events.rb', line 93

def service_version
  configuration.service_version
end

.state_diff_allowlistObject



197
198
199
# File 'lib/solid_events.rb', line 197

def state_diff_allowlist
  Array(configuration.state_diff_allowlist).map(&:to_s)
end

.state_diff_blocklistObject



201
202
203
# File 'lib/solid_events.rb', line 201

def state_diff_blocklist
  Array(configuration.state_diff_blocklist).map(&:to_s)
end

.state_diff_max_changed_fieldsObject



205
206
207
# File 'lib/solid_events.rb', line 205

def state_diff_max_changed_fields
  [configuration.state_diff_max_changed_fields.to_i, 1].max
end

.tail_sample_slow_msObject



69
70
71
# File 'lib/solid_events.rb', line 69

def tail_sample_slow_ms
  configuration.tail_sample_slow_ms.to_f
end

.wide_event_primary?Boolean

Returns:

  • (Boolean)


133
134
135
# File 'lib/solid_events.rb', line 133

def wide_event_primary?
  !!configuration.wide_event_primary
end