rorvswild 1.7.0 → 1.8.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.
@@ -96,24 +96,61 @@
96
96
  /* Panel Header */
97
97
  .rorvswild-local-panel__header {
98
98
  background: rgb(26 29 36) !important;
99
- padding: 12px !important;
100
99
  box-shadow: 0 1px 2px 0 rgba(14,18,26, .8) !important;
101
- display: flex;
102
100
  }
103
101
 
104
- .rorvswild-local-panel__header__title {
105
- color: rgb(199 203 214) !important;
102
+ .rorvswild-local-panel__header .rorvswild-local-panel__width-limiter {
103
+ display: flex !important;
104
+ align-items: center !important;
105
+ gap: 24px !important;
106
+ padding: 0 12px !important;
107
+ }
108
+
109
+ .rorvswild-local-panel__header nav {
106
110
  text-transform: uppercase !important;
107
111
  font-size: 12px !important;
108
- letter-spacing: 2px !important;
109
- text-align: center !important;
110
- flex: 1;
112
+ font-weight: 700 !important;
113
+ letter-spacing: 1px !important;
114
+ flex: 1 !important;
115
+ }
116
+
117
+ .rorvswild-local-panel__header nav ul {
118
+ padding: 0 !important;
119
+ margin: 0 !important;
120
+ list-style-type: none !important;
121
+ display: flex !important;
122
+ gap: 12px !important;
123
+ }
124
+
125
+ .rorvswild-local-panel__header nav li {
126
+ color: rgb(146 149 159) !important;
127
+ cursor: pointer !important;
128
+ line-height: 48px !important;
129
+ }
130
+
131
+ .rorvswild-local-panel__header nav li:hover {
132
+ color: rgb(199 203 214) !important;
133
+ }
134
+
135
+ [data-tab="requests"] .tab--requests {
136
+ color: rgb(199 203 214) !important;
137
+ box-shadow: 0 -3px 0 0 rgb(199 203 214) inset !important;
138
+ }
139
+
140
+ [data-tab="jobs"] .tab--jobs {
141
+ color: rgb(199 203 214) !important;
142
+ box-shadow: 0 -3px 0 0 rgb(199 203 214) inset !important;
143
+ }
144
+
145
+ [data-tab="errors"] .tab--errors {
146
+ color: rgb(199 203 214) !important;
147
+ box-shadow: 0 -3px 0 0 rgb(199 203 214) inset !important;
111
148
  }
112
149
 
113
150
  .rorvswild-local-panel svg {
114
151
  height: 24px !important;
115
152
  width: 24px !important;
116
- stroke-width: 2 !important;
153
+ stroke-width: 2.5 !important;
117
154
  fill: none !important;
118
155
  stroke-linecap: square !important;
119
156
  stroke: rgb(146 149 159) !important;
@@ -123,8 +160,6 @@
123
160
 
124
161
  .rorvswild-local-panel svg:hover { stroke: rgb(199 203 214) !important; }
125
162
 
126
- .rorvswild-local-panel__logo { width: 60px !important; }
127
-
128
163
  .rorvswild-local-panel__header__icons {
129
164
  width: 60px !important;
130
165
  display: flex !important;
@@ -150,10 +185,18 @@
150
185
  .rorvswild-local-panel__content {
151
186
  flex: 1 !important;
152
187
  height: calc(100% - 48px) !important;
153
- overflow-y: auto;
188
+ overflow-y: scroll;
154
189
  overscroll-behavior: contain;
155
190
  }
156
191
 
192
+ .rorvswild-local-panel--blank {
193
+ text-align: center !important;
194
+ margin: 0 auto !important;
195
+ font-size: 31px !important;
196
+ line-height: calc(100dvh - 120px) !important;
197
+ color: rgb(26 29 36) !important;
198
+ }
199
+
157
200
  .rorvswild-local-panel__content::-webkit-scrollbar { width: 4px !important; }
158
201
 
159
202
  .rorvswild-local-panel__content::-webkit-scrollbar-corner { background: transparent !important; }
@@ -169,7 +212,7 @@
169
212
  }
170
213
 
171
214
  /* Panel request summary */
172
- .rorvswild-local-panel__request {
215
+ .rorvswild-local-panel__row {
173
216
  display: flex !important;
174
217
  padding: 12px 12px 11px !important;
175
218
  border-bottom: 1px solid rgb(26 29 36) !important;
@@ -177,28 +220,66 @@
177
220
  flex-wrap: wrap !important;
178
221
  }
179
222
 
180
- .rorvswild-local-panel__request:hover { background: rgb(26 29 36) !important; }
223
+ .rorvswild-local-panel__row:first-of-type {
224
+ margin-top: 12px !important;
225
+ }
226
+
227
+ .rorvswild-local-panel__row:hover { background: rgb(26 29 36) !important; }
181
228
 
182
- .rorvswild-local-panel__request__name {
229
+ .rorvswild-local-panel__name {
183
230
  word-break: break-all !important;
184
231
  overflow-wrap: break-word !important;
185
232
  width: 100% !important;
186
233
  color: rgb(199 203 214) !important;
187
- font-weight: 700;
234
+ font-weight: 700 !important;
235
+ }
236
+
237
+ .rorvswild-local-panel__row:hover .rorvswild-local-panel__name { color: rgb(223 228 242) !important; }
238
+
239
+ .rorvswild-local-panel__row .rorvswild-local-panel__name > span {
240
+ text-decoration-color: rgb(146 149 159) !important;
241
+ text-decoration: underline !important;
242
+ text-decoration-thickness: 1px !important;
243
+ text-underline-offset: 1px !important;
244
+ }
245
+
246
+ .rorvswild-local-panel__row.rorvswild-local-panel__error .rorvswild-local-panel__name {
247
+ color: rgb(146 149 159) !important;
248
+ font-weight: 400 !important;
249
+ word-break: keep-all;
250
+ text-overflow: ellipsis;
251
+ white-space: nowrap;
252
+ overflow: hidden;
253
+ }
254
+
255
+ .rorvswild-local-panel__row.rorvswild-local-panel__error .rorvswild-local-panel__name > span,
256
+ .rorvswild-local-panel__error .rorvswild-local-panel__title {
257
+ color: rgb(255 184 172) !important;
258
+ font-weight: 700 !important;
259
+ }
260
+
261
+ .rorvswild-local-panel__row.rorvswild-local-panel__error:hover .rorvswild-local-panel__name > span { color: rgb(255 220 214) !important; }
262
+
263
+
264
+ .rorvswild-local-panel__error .rorvswild-local-panel__path {
265
+ color: rgb(199 203 214) !important;
188
266
  }
189
267
 
190
- .rorvswild-local-panel__request__path {
268
+ .rorvswild-local-panel__path {
191
269
  color: rgb(146 149 159) !important;
192
270
  font-weight: 400;
193
271
  display: block !important;
272
+ text-decoration: none !important;
273
+ text-decoration-thickness: 0 !important;
274
+ text-decoration-color: transparent !important;
194
275
  }
195
276
 
196
- .rorvswild-local-panel__request__started-at {
277
+ .rorvswild-local-panel__started-at {
197
278
  color: rgb(146 149 159) !important;
198
279
  margin-left: 12px !important;
199
280
  }
200
281
 
201
- .rorvswild-local-panel__request__runtime {
282
+ .rorvswild-local-panel__runtime {
202
283
  color: rgb(182 202 255) !important;
203
284
  font-weight: 700 !important;
204
285
  }
@@ -210,14 +291,14 @@
210
291
  display: block !important;
211
292
  }
212
293
 
213
- .rorvswild-local-panel__request-details__request {
294
+ .rorvswild-local-panel__details__header {
214
295
  display: flex !important;
215
- margin-bottom: 48px !important;
216
- padding: 12px 12px 0 !important;
296
+ margin-bottom: 36px !important;
297
+ padding: 48px 12px 0 !important;
217
298
  flex-wrap: wrap !important;
218
299
  }
219
300
 
220
- h2.rorvswild-local-panel__request__name__title {
301
+ h2.rorvswild-local-panel__title {
221
302
  margin:-18px 0 0 !important;
222
303
  padding:0 !important;
223
304
  font-size: 31px !important;
@@ -228,41 +309,82 @@ h2.rorvswild-local-panel__request__name__title {
228
309
  }
229
310
 
230
311
  /* details sections */
231
- .rorvswild-local-panel__request-details__section {
312
+ .rorvswild-local-panel__breakdown {
313
+ display: flex !important;
314
+ position: relative !important;
315
+ width: calc(100% - 24px) !important;
316
+ margin: 0 12px 12px !important;
317
+ padding: 0 !important;
318
+ text-align: center !important;
319
+ }
320
+
321
+ .rorvswild-local-panel__breakdown li {
322
+ display: inline-block !important;
323
+ margin: 0 !important;
324
+ padding: 0 8px !important;
325
+ white-space: nowrap !important;
326
+ overflow: hidden !important;
327
+ border: 1px solid rgb(26 29 36) !important;
328
+ font-size: 10px !important;
329
+ text-transform: uppercase !important;
330
+ letter-spacing: 1px !important;
331
+ }
332
+
333
+ .rorvswild-local-panel__breakdown li:first-of-type { background-color:rgba(199, 203, 214, .08) !important; }
334
+
335
+ .rorvswild-local-panel__breakdown li:nth-of-type(2) { background-color:rgba(199, 203, 214, .04) !important; }
336
+
337
+ .rorvswild-local-panel__breakdown li:nth-of-type(3) { background-color:rgba(199, 203, 214, .02) !important; }
338
+
339
+ .rorvswild-local-panel__breakdown__label {
340
+ display: inline-block;
341
+ font-weight: 400;
342
+ margin-right: 4px;
343
+ }
344
+
345
+ .rorvswild-local-panel__breakdown__value { font-weight: 700; }
346
+
347
+ .rorvswild-local-panel__details__section {
232
348
  padding: 12px 12px 11px !important;
233
349
  border-bottom: 1px solid rgb(26 29 36) !important;
234
350
  display: block !important;
235
351
  }
236
352
 
237
- .rorvswild-local-panel__request-details__section:hover {
353
+ .rorvswild-local-panel__details__section:hover {
238
354
  background: rgb(26 29 36) !important;
239
355
  transition: all .3s !important;
240
356
  }
241
357
 
242
- .rorvswild-local-panel__request-details__section__main {
358
+ .rorvswild-local-panel__details__section__main {
243
359
  display: flex !important;
360
+ gap: 8px;
244
361
  width: 100% !important;
245
362
  flex-wrap: wrap !important;
246
363
  }
247
364
 
248
- .rorvswild-local-panel__request-details__section__file {
365
+ .rorvswild-local-panel__details__section__file {
249
366
  width: 100% !important;
250
367
  word-break: break-all !important;
251
368
  overflow-wrap: break-word !important;
252
369
  min-width: 0 !important;
253
370
  color: rgb(199 203 214) !important;
371
+ display: flex;
372
+ gap: 8px;
254
373
  }
255
374
 
256
- a.rorvswild-local-panel__request-details__section__file__name {
375
+ a.rorvswild-local-panel__file__name {
257
376
  text-decoration-color: rgb(146 149 159);
258
377
  font-weight: 700;
378
+ text-decoration-thickness: 1px;
379
+ text-underline-offset: 1px;
259
380
  }
260
381
 
261
- a.rorvswild-local-panel__request-details__section__file__name:hover {
382
+ a.rorvswild-local-panel__file__name:hover {
383
+ color: rgb(223 228 242) !important;
262
384
  text-decoration-color: rgb(199 203 214);
263
385
  }
264
386
 
265
- a.rorvswild-local-panel__request-details__section__file__name::after {
387
+ a.rorvswild-local-panel__file__name::after {
266
388
  content: '↗';
267
389
  text-decoration: none;
268
390
  display: inline-block;
@@ -270,57 +392,205 @@ a.rorvswild-local-panel__request-details__section__file__name::after {
270
392
  opacity: 0.5;
271
393
  }
272
394
 
273
- a.rorvswild-local-panel__request-details__section__file__name:hover::after { opacity: 1; }
395
+ a.rorvswild-local-panel__file__name:hover::after { opacity: 1; }
274
396
 
275
- .rorvswild-local-panel__request-details__section__file__name span {
397
+ .rorvswild-local-panel__file__name span {
276
398
  background: rgb(38 41 49);
277
399
  text-decoration: none;
278
400
  display: inline-block;
279
401
  }
280
402
 
281
- .rorvswild-local-panel__request-details__section__average {
403
+ .rorvswild-local-panel__details__section__average {
282
404
  color: rgb(182 202 255) !important;
283
405
  font-weight: 700 !important;
284
406
  width: 48px !important;
285
- margin:0 12px 0 0 !important;
407
+ text-align: right;
408
+ margin-left: auto;
286
409
  }
287
410
 
288
- .rorvswild-local-panel__request-details__section__calls {
411
+ .rorvswild-local-panel__details__section__calls {
289
412
  color: rgb(199 203 214) !important;
290
413
  width: 48px !important;
291
- margin: 0 12px 0 0 !important;
414
+ text-align: right;
292
415
  }
293
416
 
294
- .rorvswild-local-panel__request-details__section__impact {
417
+ .rorvswild-local-panel__details__section__impact {
295
418
  color: rgb(199 203 214) !important;
296
419
  width: 48px !important;
297
420
  font-weight: 700 !important;
298
- margin: 0 12px 0 0 !important;
421
+ text-align: right;
299
422
  }
300
423
 
301
- .rorvswild-local-panel__request-details__section__code {
302
- display: flex !important;
424
+ .rorvswild-local-panel__details__section__code {
303
425
  color: rgb(146 149 159) !important;
304
- margin-top: 8px !important;
426
+ background: rgb(14 15 20);
427
+ padding: 12px;
428
+ margin: 12px -12px -12px;
429
+ overflow: hidden !important;
430
+ display: none;
305
431
  }
306
432
 
307
- .rorvswild-local-panel__request-details__section__kind {
308
- background: rgb(38 41 49) !important;
433
+ .rorvswild-local-panel__details__section__code dl {
434
+ display: flex;
435
+ align-items: baseline;
436
+ justify-content: flex-end;
437
+ flex-wrap: wrap;
438
+ margin: 0;
439
+ padding: 0;
440
+ text-align: right;
441
+ gap: 12px 24px;
442
+ }
443
+
444
+ .rorvswild-local-panel__details__section__code dt {
445
+ white-space: nowrap;
446
+ margin: 0;
447
+ text-transform: uppercase;
448
+ letter-spacing: 1px;
449
+ font-size: 9px !important;
450
+ }
451
+
452
+ .rorvswild-local-panel__details__section__code dd {
453
+ margin: 0;
454
+ color: rgb(182 202 255) !important;
455
+ font-weight: 700;
456
+ }
457
+
458
+ .rorvswild-local-panel__details__section__code dd.dd--calls {
459
+ color: rgb(199 203 214) !important;
460
+ }
461
+
462
+ .rorvswild-local-panel__details__section__code dl + pre[class*="language-"] {
463
+ margin-top: 12px !important;
464
+ }
465
+
466
+ .rorvswild-local-panel__details__section__kind {
467
+ background: rgb(38 41 49);
309
468
  font-size: 10px !important;
310
469
  text-transform: uppercase !important;
311
470
  text-align: center !important;
312
- letter-spacing: 2px !important;
313
- width: 72px !important;
471
+ letter-spacing: 1px !important;
472
+ width: 64px !important;
314
473
  height: 24px !important;
474
+ min-height: 24px;
475
+ padding: 0;
315
476
  display: inline-block !important;
477
+ flex-shrink: 0;
478
+ }
479
+
480
+ button.rorvswild-local-panel__details__section__kind {
481
+ box-shadow: 0 0 0 1px rgb(72 75 80) inset !important;
482
+ border: none !important;
483
+ font-weight: 700 !important;
484
+ position: relative !important;
485
+ cursor: pointer !important;
486
+ }
487
+
488
+ button.rorvswild-local-panel__details__section__kind span {
489
+ display: inline-block;
490
+ max-width: calc(5ch + 5px);
491
+ white-space: nowrap;
492
+ overflow: hidden;
493
+ }
494
+
495
+ button.rorvswild-local-panel__details__section__kind:hover {
496
+ box-shadow: 0 0 0 1px rgb(147 149 156) inset;
497
+ background-color: rgb(14 15 20) !important;
498
+ }
499
+
500
+ button.rorvswild-local-panel__details__section__kind::after {
501
+ content: "";
502
+ display: block;
503
+ box-sizing: border-box;
504
+ position: absolute;
505
+ width: 4px;
506
+ height: 4px;
507
+ border-bottom: 1px solid rgb(146 149 159);
508
+ border-right: 1px solid rgb(146 149 159);
509
+ transform: rotate(45deg);
510
+ right: 6px;
511
+ top:calc(50% - 3px);
512
+ }
513
+
514
+ button.rorvswild-local-panel__details__section__kind:hover::after { border-color: inherit; }
515
+
516
+ span.rorvswild-local-panel__details__section__kind {
517
+ background: rgb(14 15 20) !important;
518
+ color: rgb(146 149 159)!important;
519
+ }
520
+
521
+ .rorvswild-local-panel__details__section.is-open .rorvswild-local-panel__details__section__code {
522
+ display: block;
523
+ border-bottom: 1px solid rgb(26 29 36) !important
524
+ }
525
+
526
+ .rorvswild-local-panel__details__section.is-open .rorvswild-local-panel__details__section__kind {
527
+ color: rgb(182 202 255) !important;
528
+ background-color: rgb(14 15 20) !important;
529
+ }
530
+
531
+ .rorvswild-local-panel__details__section.is-open .rorvswild-local-panel__details__section__kind::after {
532
+ transform: rotate(225deg);
533
+ transform-origin: 2.5px 3px;
534
+ }
535
+
536
+ .rorvswild-local-panel__card {
537
+ padding: 12px;
538
+ border: 1px solid rgb(26 29 36) !important;
539
+ }
540
+
541
+ .rorvswild-local-panel__card + .rorvswild-local-panel__card {
542
+ margin-top: 24px;
316
543
  }
317
544
 
318
- .rorvswild-local-panel__request-details__section__command {
545
+ .rorvswild-local-panel__card__title {
319
546
  color: rgb(146 149 159) !important;
320
- flex: 1 !important;
321
- margin-left: 12px !important;
322
- opacity: 1;
323
- overflow: hidden !important;
547
+ text-align: center;
548
+ text-transform: uppercase;
549
+ font-size: 10px !important;
550
+ letter-spacing: 1px;
551
+ margin: 0 !important;
552
+ padding: 0 0 12px !important;
553
+ line-height: 24px !important;
554
+ }
555
+
556
+ .rorvswild-local-panel__card > * + * {
557
+ margin-top: 12px;
558
+ }
559
+
560
+ .rorvswild-local-panel__card summary:hover {
561
+ cursor: pointer;
562
+ color: rgb(223 228 242) !important;
563
+ }
564
+
565
+ .rorvswild-local-panel__card dl {
566
+ padding: 0;
567
+ margin: 0 -12px -12px;
568
+ }
569
+
570
+ .rorvswild-local-panel__card dl div {
571
+ display: grid;
572
+ grid-template-columns: 112px auto;
573
+ padding: 12px;
574
+ }
575
+
576
+ .rorvswild-local-panel__card dl div:hover {
577
+ background:rgb(26 29 36);
578
+ }
579
+
580
+ .rorvswild-local-panel__card dl div + div {
581
+ border-top: 1px solid rgb(26 29 36);
582
+ }
583
+
584
+ .rorvswild-local-panel__card dt {
585
+ color: rgb(146 149 159) !important;
586
+ text-transform: uppercase;
587
+ font-size: 10px !important;
588
+ letter-spacing: 1px;
589
+ }
590
+
591
+ .rorvswild-local-panel__card dd {
592
+ word-break: break-all !important;
593
+ overflow-wrap: break-word !important;
324
594
  }
325
595
 
326
596
  /* Panel Footer */
@@ -339,17 +609,15 @@ a.rorvswild-local-panel__footer__link {
339
609
  }
340
610
 
341
611
  @media screen and (min-width: 720px) {
342
- .rorvswild-local-panel__request-details__section__main { flex-wrap: nowrap !important; }
612
+ .rorvswild-local-panel__details__section__main { flex-wrap: nowrap !important; }
343
613
 
344
- .rorvswild-local-panel__request__name,
345
- .rorvswild-local-panel__request-details__section__file { flex: 1 !important; }
614
+ .rorvswild-local-panel__name,
615
+ .rorvswild-local-panel__details__section__file { flex: 1 !important; }
346
616
 
347
- .rorvswild-local-panel__request__runtime { margin-left: 12px !important; }
617
+ .rorvswild-local-panel__runtime { margin-left: 12px !important; }
348
618
 
349
- .rorvswild-local-panel__request-details__section__average,
350
- .rorvswild-local-panel__request-details__section__calls,
351
- .rorvswild-local-panel__request-details__section__impact {
352
- text-align: right !important;
353
- margin: 0 0 0 12px !important;
619
+ .rorvswild-local-panel__width-limiter {
620
+ max-width: 1520px;
621
+ margin: 0 auto;
354
622
  }
355
- }
623
+ }
@@ -18,7 +18,7 @@ http://prismjs.com/download.html?themes=prism-twilight&languages=markup+css+clik
18
18
  line-height: 24px !important;
19
19
  font-weight: 300 !important;
20
20
 
21
- white-space: pre-line !important;
21
+ white-space: pre-wrap !important;
22
22
  word-wrap: break-word !important;
23
23
  word-break: keep-all !important;
24
24
 
@@ -4,8 +4,8 @@ require "rorvswild/local/queue"
4
4
  module RorVsWild
5
5
  module Local
6
6
  def self.start(config = {})
7
- Rails.application.config.middleware.unshift(RorVsWild::Local::Middleware, nil)
8
7
  RorVsWild.start(config.merge(queue: RorVsWild::Local::Queue.new))
8
+ Rails.application.config.middleware.unshift(RorVsWild::Local::Middleware, nil)
9
9
  end
10
10
  end
11
11
  end
@@ -22,7 +22,7 @@ module RorVsWild
22
22
  if method_name = controller.send(:method_for_action, controller.action_name)
23
23
  section.file, section.line = controller.method(method_name).source_location
24
24
  section.file = RorVsWild.agent.locator.relative_path(section.file)
25
- section.command = "#{controller.class}##{method_name}"
25
+ section.commands << "#{controller.class}##{method_name}"
26
26
  end
27
27
  RorVsWild.agent.current_data[:name] = controller_action if RorVsWild.agent.current_data
28
28
  end
@@ -14,7 +14,7 @@ module RorVsWild
14
14
 
15
15
  def finish(name, id, payload)
16
16
  RorVsWild::Section.stop do |section|
17
- section.command = payload[:mailer]
17
+ section.commands << payload[:mailer]
18
18
  section.kind = "mail".freeze
19
19
  end
20
20
  end
@@ -16,7 +16,7 @@ module RorVsWild
16
16
  def finish(name, id, payload)
17
17
  RorVsWild::Section.stop do |section|
18
18
  section.kind = "view".freeze
19
- section.command = RorVsWild.agent.locator.relative_path(payload[:identifier])
19
+ section.commands << RorVsWild.agent.locator.relative_path(payload[:identifier])
20
20
  section.file = section.command
21
21
  section.line = 1
22
22
  end
@@ -12,7 +12,7 @@ module RorVsWild
12
12
  RorVsWild.agent.measure_job(job.class.name, parameters: job.arguments) do
13
13
  begin
14
14
  section = RorVsWild::Section.start
15
- section.command = "#{job.class}#perform"
15
+ section.commands << "#{job.class}#perform"
16
16
  section.file, section.line = job.method(:perform).source_location
17
17
  section.file = RorVsWild.agent.locator.relative_path(section.file)
18
18
  block.call
@@ -15,13 +15,11 @@ module RorVsWild
15
15
  end
16
16
 
17
17
  IGNORED_QUERIES = %w[EXPLAIN SCHEMA].freeze
18
- APPENDABLE_QUERIES = ["BEGIN", "COMMIT"].freeze
19
18
 
20
19
  def start(name, id, payload)
21
20
  return if IGNORED_QUERIES.include?(payload[:name])
22
21
  RorVsWild::Section.start do |section|
23
- section.appendable_command = APPENDABLE_QUERIES.include?(payload[:sql])
24
- section.command = normalize_sql_query(payload[:sql])
22
+ section.commands << normalize_sql_query(payload[:sql])
25
23
  section.kind = "sql"
26
24
  end
27
25
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RorVsWild
2
4
  module Plugin
3
5
  module DelayedJob
@@ -7,7 +9,14 @@ module RorVsWild
7
9
  Delayed::Worker.plugins << Class.new(Delayed::Plugin) do
8
10
  callbacks do |lifecycle|
9
11
  lifecycle.around(:invoke_job) do |job, *args, &block|
10
- RorVsWild.agent.measure_job(job.name, parameters: job.payload_object) { block.call(job) }
12
+ if job.payload_object.class.name == "ActiveJob::QueueAdapters::DelayedJobAdapter::JobWrapper"
13
+ job_name, job_args = job.payload_object.job_data.values_at("job_class", "arguments")
14
+ elsif job.payload_object.is_a?(Delayed::PerformableMethod)
15
+ job_name, job_args = job.name, job.payload_object.args
16
+ else
17
+ job_name, job_args = job.name, job.payload_object
18
+ end
19
+ RorVsWild.agent.measure_job(job_name, parameters: job_args) { block.call(job) }
11
20
  end
12
21
  end
13
22
  end