You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* RingBuffer
* Basic working version
* Added Collector
* Adding error breadcrumb in notice
* Fixing some specs, ignore DateTime in to_encodable
* Added Utils.sanitize
* Moved notice breadcrumb creation out of notice.new
* Now sanitizing breadcrumb metadata
* Filter breadcrumbs
* Convert structs to Map in sanitizer
* Dropped elixir 1.7 and added 1.9 to the matrix
* Storing error breadcrumb
* Basic setup for telemetry events
* Added specs for telemetry
* Updated docs
Copy file name to clipboardexpand all lines: README.md
+68
Original file line number
Diff line number
Diff line change
@@ -119,6 +119,53 @@ rescue
119
119
end
120
120
```
121
121
122
+
## Breadcrumbs
123
+
124
+
Breadcrumbs allow you to record events along a processes execution path. If
125
+
an error is thrown, the set of breadcrumb events will be sent along with the
126
+
notice. These breadcrumbs can contain useful hints while debugging.
127
+
128
+
Breadcrumbs are stored in the logger context, referenced by the calling
129
+
process. If you are sending messages between processes, breadcrumbs will not
130
+
transfer automatically. Since a typical system might have many processes, it
131
+
is advised that you be conservative when storing breadcrumbs as each
132
+
breadcrumb consumes memory.
133
+
134
+
### Enabling Breadcrumbs
135
+
136
+
As of version `0.13.0`, Breadcrumbs are _available_ yet _disabled_. You must
137
+
explicitly enable them if you want breadcrumbs to be reported. We plan on
138
+
enabling this by default in a future release.
139
+
140
+
Toggle `breadcrumbs_enabled` in the config to start sending Breadcrumbs with
141
+
notices:
142
+
143
+
```elixir
144
+
config :honeybadger,
145
+
breadcrumbs_enabled:true
146
+
```
147
+
148
+
### Automatic Breadcrumbs
149
+
150
+
We leverage the `telemetry` library to automatically create breadcrumbs from
151
+
specific events.
152
+
153
+
__Phoenix__
154
+
155
+
If you are using `phoenix` (>= v1.4.7) we add a breadcrumb from the router
156
+
start event.
157
+
158
+
__Ecto__
159
+
160
+
We can create breadcrumbs from Ecto SQL calls if you are using `ecto_sql` (>=
161
+
v3.1.0). You also must specify in the config which ecto adapters you want to
162
+
be instrumented:
163
+
164
+
```elixir
165
+
config :honeybadger,
166
+
ecto_repos: [MyApp.Repo]
167
+
```
168
+
122
169
## Sample Application
123
170
124
171
If you'd like to see the module in action before you integrate it with your apps, check out our [sample Phoenix application](https://github.com/honeybadger-io/crywolf-elixir).
@@ -187,6 +234,8 @@ Here are all of the options you can pass in the keyword list:
187
234
|`filter_disable_params`| If true, will remove the request params |`false`|
188
235
|`notice_filter`| Module implementing `Honeybadger.NoticeFilter`. If `nil`, no filtering is done. |`Honeybadger.NoticeFilter.Default`|
189
236
|`use_logger`| Enable the Honeybadger Logger for handling errors outside of web requests |`true`|
0 commit comments