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
-[X] Success/failure web request response instrumentation
316
-
* LiveView metrics with channel joined and channel handled_in
127
+
* LiveView metrics with channel joined and channel handled_in -> can't be done OOTB, blog post should explain, show channel source, link to LV issue
317
128
* Three custom metrics:
318
129
* Worker polling
319
130
* Custom event polling
320
131
* Telemetry plug
321
-
* Success/failure indicator
132
+
-[X] LiveView handle event duration and timer
322
133
-[X] VM metrics with polling
323
134
* Visualize DD reporting by using DD formatter but running regular statsd, grab log statement from error message
324
135
325
136
## Notes
326
137
* We're instrumenting for free:
327
138
* Database query duration and counts
328
139
* HTTP request duration and counts
140
+
* VM metrics
141
+
* Telemetry event handling for free with Telemetry metrics module--can emit any event with `:telemetry.execute` (is this Erlang??) and don't need to define and attach custom handle module.
329
142
330
143
## Blog Post
331
144
* What is observability? What is instrumentation?
332
145
* Common needs: web requests, database queries
146
+
* Show the DIY - define an event + module, attach, custom log in handler module to report, log, etc. This might be a good place to look under the hood at ETS.
147
+
* Reporter calls `telemetry.attach`
148
+
* Look in `telemetry.erl`:
149
+
* attach stores handler modules with associated events in ETS
150
+
* execute looks up the handler for the event in ETS and invokes it
151
+
* This is all abstracted away with Telemetry metrics!
333
152
* OOTB instrumentation with Elixir Telemetry
334
153
* We'll get web requests, database queries, VM monitoring
335
154
* Implementation
@@ -341,12 +160,13 @@ Flushing stats at Sun Mar 22 2020 13:36:41 GMT-0400 (Eastern Daylight Time)
341
160
* Note on Datadog formatter
342
161
* Tags translate into metric tags (show the mapping)
343
162
* Can leverage prefix, global tags, HTTP route tag now more usefully
344
-
* Custom instrumentation
163
+
* Custom instrumentation -> not necessary, any event can be handled by one Telemetry module importing `Telemetry.Metrics`
345
164
* Define telemetry handler
346
165
* Attach in telemetry module (?)
347
166
* Good candidate--custom interaction error count - log in failure/success?
348
-
* Instrumentating LiveView with Phoenix's OOTB Telemetry events
349
-
* Telemetry under the hood - trace the flow of PHoenix/Ecto/app code emitting event and telemetry looking up event handle and calling it. Look at tags, etc.
167
+
* Instrumentating LiveView with Phoenix's OOTB Telemetry events - CAN'T! Worth noting and comparing to Phoenix channel OOTB telemetry events, link to issue.
168
+
* Custom duration and count instrumentation for
169
+
* Telemetry under the hood - trace the flow of Phoenix/Ecto/app code emitting event and telemetry looking up event handle and calling it. Look at tags, etc.
350
170
351
171
### Questions
352
172
-[X] How to instrument success/failure of web requests?
0 commit comments