debugbar 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/debugbar/assets_controller.rb +1 -1
  3. data/build.sh +7 -0
  4. data/debugbar.gemspec +6 -1
  5. data/lib/debugbar/engine.rb +0 -8
  6. data/lib/debugbar/version.rb +1 -1
  7. data/lib/debugbar.rb +0 -7
  8. metadata +2 -54
  9. data/client/.gitignore +0 -25
  10. data/client/README.md +0 -0
  11. data/client/dist/.vite/manifest.json +0 -14
  12. data/client/dist/assets/debugbar-u5mP-5-z.js +0 -34
  13. data/client/dist/assets/ruby-logo-kn_8RniZ.svg +0 -946
  14. data/client/index.html +0 -78
  15. data/client/package-lock.json +0 -2393
  16. data/client/package.json +0 -32
  17. data/client/postcss.config.js +0 -6
  18. data/client/src/App.vue +0 -17
  19. data/client/src/AppDemo.vue +0 -29
  20. data/client/src/AppDev.vue +0 -20
  21. data/client/src/Debugbar.vue +0 -276
  22. data/client/src/assets/rails-logo.svg +0 -1
  23. data/client/src/assets/ruby-logo.svg +0 -946
  24. data/client/src/components/TabButton.vue +0 -32
  25. data/client/src/components/panels/CachePanel.vue +0 -41
  26. data/client/src/components/panels/JobsPanel.vue +0 -52
  27. data/client/src/components/panels/JsonPanel.vue +0 -15
  28. data/client/src/components/panels/LogsPanel.vue +0 -43
  29. data/client/src/components/panels/MessagesPanel.vue +0 -25
  30. data/client/src/components/panels/ModelsPanel.vue +0 -37
  31. data/client/src/components/panels/Panel.vue +0 -7
  32. data/client/src/components/panels/RequestPanel.vue +0 -98
  33. data/client/src/components/queries/QueriesPanel.vue +0 -17
  34. data/client/src/components/queries/QueryItem.vue +0 -65
  35. data/client/src/components/ui/Foldable.vue +0 -39
  36. data/client/src/components/ui/KeyValueTable.vue +0 -16
  37. data/client/src/components/ui/Row.vue +0 -14
  38. data/client/src/components/ui/logo-ruby.vue +0 -547
  39. data/client/src/demo.ts +0 -17
  40. data/client/src/dev.ts +0 -20
  41. data/client/src/main.ts +0 -17
  42. data/client/src/models/Config.ts +0 -27
  43. data/client/src/models/Request.ts +0 -183
  44. data/client/src/stores/RequestsStore.ts +0 -36
  45. data/client/src/stores/configStore.ts +0 -8
  46. data/client/src/style.css +0 -23
  47. data/client/src/types.d.ts +0 -9
  48. data/client/src/vite-env.d.ts +0 -1
  49. data/client/tailwind.config.js +0 -16
  50. data/client/tsconfig.json +0 -29
  51. data/client/tsconfig.node.json +0 -10
  52. data/client/vite.config.ts +0 -44
  53. data/fixtures/requests/1706607114--demo_post_list.json +0 -499
  54. data/fixtures/requests/1706607120--api_jobs.json +0 -176
  55. data/fixtures/requests/1706607123--api_jobs.json +0 -119
  56. data/fixtures/requests/1706607133--demo_slow_page.json +0 -130
  57. data/fixtures/requests/1706607136--demo_post.json +0 -164
  58. data/fixtures/requests/1706607136--demo_random_post.json +0 -106
  59. data/fixtures/requests/1706607141--api_errors.json +0 -73
  60. data/package-lock.json +0 -50
  61. data/package.json +0 -5
@@ -1,176 +0,0 @@
1
- {
2
- "id": "be72e954-78a4-4307-ad4a-a86199b62947",
3
- "meta": {
4
- "controller": "ApiController",
5
- "action": "jobs",
6
- "params": {
7
- "name": "send_email",
8
- "post_id": "4604",
9
- "controller": "api",
10
- "action": "jobs"
11
- },
12
- "format": "*/*",
13
- "method": "GET",
14
- "path": "/api/jobs?name=send_email&post_id=4604",
15
- "status": 200,
16
- "view_runtime": null,
17
- "db_runtime": 2.7160001918673515,
18
- "duration": 35.46600008010864,
19
- "cpu_time": 32.441666999999995,
20
- "idle_time": 3.024333080108647,
21
- "allocations": 14318
22
- },
23
- "request": {
24
- "method": "GET",
25
- "path": "/api/jobs",
26
- "format": "*/*",
27
- "params": {
28
- "name": "send_email",
29
- "post_id": "4604",
30
- "controller": "api",
31
- "action": "jobs"
32
- },
33
- "headers": {
34
- "Accept": "*/*",
35
- "Accept-Encoding": "gzip, deflate, br",
36
- "Accept-Language": "fr,en;q=0.9",
37
- "Connection": "keep-alive",
38
- "Cookie": "_demo_app_session=eq1z3nueUv0xrZcSj%2FWeJq73FFRrM0IZNT2KPq8mb195ScqdPPuP6bgBBpjRh3iZRPDoFVc%2BtALhiLF1Wu%2BPunVuuM%2F4muqZL8PIbAJHTsTx3eXbFVvVuJXYnrwCIhcg4BWtzeyWN9LrddjrkTpre8dcCFpZ8A0xQXuqBzBeOEMWj2eCnU%2Fq8q%2Bgff18iHhHzLsK5AUmd2jSm09usHS%2Bv1rf7b1V4pMP33Xuw66UxQiQUFW0Vn8Lld6ptzyB3pEswMdOwMLM7uWwh4oWP2q1xDgrIBhWhWrWCw%3D%3D--yu91yFNij6NW0A4N--RM%2FMVqNZrsoyC%2FXBBStDww%3D%3D",
39
- "Dnt": "1",
40
- "Host": "127.0.0.1:3000",
41
- "Referer": "http://127.0.0.1:3000/post-list",
42
- "Sec-Ch-Ua": "\"Not_A Brand\";v=\"8\", \"Chromium\";v=\"120\", \"Google Chrome\";v=\"120\"",
43
- "Sec-Ch-Ua-Mobile": "?0",
44
- "Sec-Ch-Ua-Platform": "\"macOS\"",
45
- "Sec-Fetch-Dest": "empty",
46
- "Sec-Fetch-Mode": "cors",
47
- "Sec-Fetch-Site": "same-origin",
48
- "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
49
- "Version": "HTTP/1.1"
50
- }
51
- },
52
- "response": {
53
- "status": 200,
54
- "headers": {
55
- "X-Frame-Options": "SAMEORIGIN",
56
- "X-Xss-Protection": "0",
57
- "X-Content-Type-Options": "nosniff",
58
- "X-Permitted-Cross-Domain-Policies": "none",
59
- "Referrer-Policy": "strict-origin-when-cross-origin",
60
- "Content-Type": "text/html",
61
- "Cache-Control": "no-cache"
62
- },
63
- "body": ""
64
- },
65
- "models": {
66
- "Post": 12
67
- },
68
- "queries": [
69
- {
70
- "id": "a49beead96b5a5e5ec7b",
71
- "title": "Post Load (0.3ms)",
72
- "name": "Post Load",
73
- "sql": "SELECT `posts`.* FROM `posts` WHERE `posts`.`id` = 4604 LIMIT 1 ",
74
- "cached": false,
75
- "async": false,
76
- "duration": 0.3,
77
- "lock_wait": null,
78
- "binds": null,
79
- "source": [
80
- "/Users/julien.bourdeau/Personal/rails/demo_app/app/jobs/send_email_job.rb:5",
81
- " `perform'"
82
- ]
83
- },
84
- {
85
- "id": "a49beead96b5a5e5ec7b",
86
- "title": "Post Load (2.4ms)",
87
- "name": "Post Load",
88
- "sql": "SELECT `posts`.* FROM `posts` ORDER BY `posts`.`published_at` DESC LIMIT 5 ",
89
- "cached": false,
90
- "async": false,
91
- "duration": 2.4,
92
- "lock_wait": null,
93
- "binds": null,
94
- "source": [
95
- "/Users/julien.bourdeau/Personal/rails/demo_app/app/jobs/send_email_job.rb:6",
96
- " `perform'"
97
- ]
98
- },
99
- {
100
- "id": "eb457f8705c4d0ce73d4",
101
- "title": "CACHE Post Load (0.0ms)",
102
- "name": "Post Load",
103
- "sql": "SELECT `posts`.* FROM `posts` WHERE `posts`.`id` = 4604 LIMIT 1",
104
- "cached": true,
105
- "async": null,
106
- "duration": 0.0,
107
- "lock_wait": null,
108
- "binds": null,
109
- "source": [
110
- "/Users/julien.bourdeau/Personal/rails/demo_app/app/jobs/send_email_job.rb:5",
111
- " `perform'"
112
- ]
113
- },
114
- {
115
- "id": "eb457f8705c4d0ce73d4",
116
- "title": "CACHE Post Load (0.0ms)",
117
- "name": "Post Load",
118
- "sql": "SELECT `posts`.* FROM `posts` ORDER BY `posts`.`published_at` DESC LIMIT 5",
119
- "cached": true,
120
- "async": null,
121
- "duration": 0.0,
122
- "lock_wait": null,
123
- "binds": null,
124
- "source": [
125
- "/Users/julien.bourdeau/Personal/rails/demo_app/app/jobs/send_email_job.rb:6",
126
- " `perform'"
127
- ]
128
- }
129
- ],
130
- "jobs": [
131
- {
132
- "id": "2ee83a02-2e93-4287-b1a9-80950eee537d",
133
- "class": "SendEmailJob",
134
- "queue": "Inline(default)",
135
- "args": [
136
- "4604",
137
- {
138
- "user_id": 99
139
- }
140
- ],
141
- "successfully_enqueued": true,
142
- "scheduled_at": null,
143
- "logs": [
144
- "Enqueued SendEmailJob (Job ID: 2ee83a02-2e93-4287-b1a9-80950eee537d) to Inline(default) with arguments: \"4604\", {:user_id=>99}",
145
- "/Users/julien.bourdeau/Personal/debugbar/debugbar/lib/debugbar/subscribers/active_job.rb:22:in `enqueue'"
146
- ]
147
- },
148
- {
149
- "id": "e7c3e08a-53c7-4564-832b-286d43a2f73d",
150
- "class": "SendEmailJob",
151
- "queue": "Inline(default)",
152
- "args": [
153
- "4604",
154
- {
155
- "user_id": 1,
156
- "admin": true
157
- }
158
- ],
159
- "successfully_enqueued": true,
160
- "scheduled_at": null,
161
- "logs": [
162
- "Enqueued SendEmailJob (Job ID: e7c3e08a-53c7-4564-832b-286d43a2f73d) to Inline(default) with arguments: \"4604\", {:user_id=>1, :admin=>true}",
163
- "/Users/julien.bourdeau/Personal/debugbar/debugbar/lib/debugbar/subscribers/active_job.rb:22:in `enqueue'"
164
- ]
165
- }
166
- ],
167
- "messages": [
168
-
169
- ],
170
- "cache": [
171
-
172
- ],
173
- "logs": [
174
-
175
- ]
176
- }
@@ -1,119 +0,0 @@
1
- {
2
- "id": "2922e5b4-2720-4d3f-9bac-4e27f5a8b5a3",
3
- "meta": {
4
- "controller": "ApiController",
5
- "action": "jobs",
6
- "params": {
7
- "name": "refresh",
8
- "post_id": "3720",
9
- "controller": "api",
10
- "action": "jobs"
11
- },
12
- "format": "*/*",
13
- "method": "GET",
14
- "path": "/api/jobs?name=refresh&post_id=3720",
15
- "status": 200,
16
- "view_runtime": null,
17
- "db_runtime": 0.2989999484270811,
18
- "duration": 10.365000009536743,
19
- "cpu_time": 9.867709000000001,
20
- "idle_time": 0.49729100953674177,
21
- "allocations": 5504
22
- },
23
- "request": {
24
- "method": "GET",
25
- "path": "/api/jobs",
26
- "format": "*/*",
27
- "params": {
28
- "name": "refresh",
29
- "post_id": "3720",
30
- "controller": "api",
31
- "action": "jobs"
32
- },
33
- "headers": {
34
- "Accept": "*/*",
35
- "Accept-Encoding": "gzip, deflate, br",
36
- "Accept-Language": "fr,en;q=0.9",
37
- "Connection": "keep-alive",
38
- "Cookie": "_demo_app_session=eq1z3nueUv0xrZcSj%2FWeJq73FFRrM0IZNT2KPq8mb195ScqdPPuP6bgBBpjRh3iZRPDoFVc%2BtALhiLF1Wu%2BPunVuuM%2F4muqZL8PIbAJHTsTx3eXbFVvVuJXYnrwCIhcg4BWtzeyWN9LrddjrkTpre8dcCFpZ8A0xQXuqBzBeOEMWj2eCnU%2Fq8q%2Bgff18iHhHzLsK5AUmd2jSm09usHS%2Bv1rf7b1V4pMP33Xuw66UxQiQUFW0Vn8Lld6ptzyB3pEswMdOwMLM7uWwh4oWP2q1xDgrIBhWhWrWCw%3D%3D--yu91yFNij6NW0A4N--RM%2FMVqNZrsoyC%2FXBBStDww%3D%3D",
39
- "Dnt": "1",
40
- "Host": "127.0.0.1:3000",
41
- "Referer": "http://127.0.0.1:3000/post-list",
42
- "Sec-Ch-Ua": "\"Not_A Brand\";v=\"8\", \"Chromium\";v=\"120\", \"Google Chrome\";v=\"120\"",
43
- "Sec-Ch-Ua-Mobile": "?0",
44
- "Sec-Ch-Ua-Platform": "\"macOS\"",
45
- "Sec-Fetch-Dest": "empty",
46
- "Sec-Fetch-Mode": "cors",
47
- "Sec-Fetch-Site": "same-origin",
48
- "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
49
- "Version": "HTTP/1.1"
50
- }
51
- },
52
- "response": {
53
- "status": 200,
54
- "headers": {
55
- "X-Frame-Options": "SAMEORIGIN",
56
- "X-Xss-Protection": "0",
57
- "X-Content-Type-Options": "nosniff",
58
- "X-Permitted-Cross-Domain-Policies": "none",
59
- "Referrer-Policy": "strict-origin-when-cross-origin",
60
- "Content-Type": "text/html",
61
- "Cache-Control": "no-cache"
62
- },
63
- "body": ""
64
- },
65
- "models": {
66
- "Post": 1
67
- },
68
- "queries": [
69
- {
70
- "id": "a49beead96b5a5e5ec7b",
71
- "title": "Post Load (0.3ms)",
72
- "name": "Post Load",
73
- "sql": "SELECT `posts`.* FROM `posts` WHERE `posts`.`id` = 3720 LIMIT 1 ",
74
- "cached": false,
75
- "async": false,
76
- "duration": 0.3,
77
- "lock_wait": null,
78
- "binds": null,
79
- "source": [
80
- "/Users/julien.bourdeau/Personal/rails/demo_app/app/jobs/refresh_post_job.rb:5",
81
- " `perform'"
82
- ]
83
- }
84
- ],
85
- "jobs": [
86
- {
87
- "id": "d7fd3ac8-514d-4e8e-b695-cf147edf726c",
88
- "class": "RefreshPostJob",
89
- "queue": "Inline(default)",
90
- "args": [
91
- "3720"
92
- ],
93
- "successfully_enqueued": true,
94
- "scheduled_at": null,
95
- "logs": [
96
- "Enqueued RefreshPostJob (Job ID: d7fd3ac8-514d-4e8e-b695-cf147edf726c) to Inline(default) with arguments: \"3720\"",
97
- "/Users/julien.bourdeau/Personal/debugbar/debugbar/lib/debugbar/subscribers/active_job.rb:22:in `enqueue'"
98
- ]
99
- }
100
- ],
101
- "messages": [
102
-
103
- ],
104
- "cache": [
105
- {
106
- "key": "post:3720",
107
- "store": "ActiveSupport::Cache::NullStore",
108
- "compress": true,
109
- "compress_threshold": 1024,
110
- "name": "cache_write.active_support",
111
- "transaction_id": "76191bfe4aff9d1334d7",
112
- "time": "17:28:36.894",
113
- "label": "write"
114
- }
115
- ],
116
- "logs": [
117
-
118
- ]
119
- }
@@ -1,130 +0,0 @@
1
- {
2
- "id": "9ef55b46-3953-4901-868b-19b86c80a1b4",
3
- "meta": {
4
- "controller": "DemoController",
5
- "action": "slow_page",
6
- "params": {
7
- "controller": "demo",
8
- "action": "slow_page"
9
- },
10
- "format": "html",
11
- "method": "GET",
12
- "path": "/slow-page",
13
- "status": 200,
14
- "view_runtime": 52.8460000641644,
15
- "db_runtime": 3.154000034555793,
16
- "duration": 5069.930000066757,
17
- "cpu_time": 50.03016699999999,
18
- "idle_time": 5019.899833066757,
19
- "allocations": 27333
20
- },
21
- "request": {
22
- "method": "GET",
23
- "path": "/slow-page",
24
- "format": "html",
25
- "params": {
26
- "controller": "demo",
27
- "action": "slow_page"
28
- },
29
- "headers": {
30
- "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
31
- "Accept-Encoding": "gzip, deflate, br",
32
- "Accept-Language": "fr,en;q=0.9",
33
- "Connection": "keep-alive",
34
- "Cookie": "_demo_app_session=eq1z3nueUv0xrZcSj%2FWeJq73FFRrM0IZNT2KPq8mb195ScqdPPuP6bgBBpjRh3iZRPDoFVc%2BtALhiLF1Wu%2BPunVuuM%2F4muqZL8PIbAJHTsTx3eXbFVvVuJXYnrwCIhcg4BWtzeyWN9LrddjrkTpre8dcCFpZ8A0xQXuqBzBeOEMWj2eCnU%2Fq8q%2Bgff18iHhHzLsK5AUmd2jSm09usHS%2Bv1rf7b1V4pMP33Xuw66UxQiQUFW0Vn8Lld6ptzyB3pEswMdOwMLM7uWwh4oWP2q1xDgrIBhWhWrWCw%3D%3D--yu91yFNij6NW0A4N--RM%2FMVqNZrsoyC%2FXBBStDww%3D%3D",
35
- "Dnt": "1",
36
- "Host": "127.0.0.1:3000",
37
- "If-None-Match": "W/\"9ec262e15d1de5a948ea376aadf0467f\"",
38
- "Referer": "http://127.0.0.1:3000/post-list",
39
- "Sec-Ch-Ua": "\"Not_A Brand\";v=\"8\", \"Chromium\";v=\"120\", \"Google Chrome\";v=\"120\"",
40
- "Sec-Ch-Ua-Mobile": "?0",
41
- "Sec-Ch-Ua-Platform": "\"macOS\"",
42
- "Sec-Fetch-Dest": "document",
43
- "Sec-Fetch-Mode": "navigate",
44
- "Sec-Fetch-Site": "same-origin",
45
- "Sec-Fetch-User": "?1",
46
- "Upgrade-Insecure-Requests": "1",
47
- "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
48
- "Version": "HTTP/1.1"
49
- }
50
- },
51
- "response": {
52
- "status": 200,
53
- "headers": {
54
- "X-Frame-Options": "SAMEORIGIN",
55
- "X-Xss-Protection": "0",
56
- "X-Content-Type-Options": "nosniff",
57
- "X-Permitted-Cross-Domain-Policies": "none",
58
- "Referrer-Policy": "strict-origin-when-cross-origin",
59
- "Link": "</assets/application-f8c090dd3cd5575b45894e4b6478d0b328f7a89e69c744e74f1153c5eca55e4e.css>; rel=preload; as=style; nopush,</assets/es-module-shims.min-4ca9b3dd5e434131e3bb4b0c1d7dff3bfd4035672a5086deec6f73979a49be73.js>; rel=preload; as=script; nopush",
60
- "Content-Type": "text/html; charset=utf-8",
61
- "Etag": "W/\"864d5fabd6f11d8c86c28559b93ec819\"",
62
- "Cache-Control": "max-age=0, private, must-revalidate"
63
- },
64
- "body": "<!DOCTYPE html>\n<html>\n <head>\n <title>DemoApp</title>\n <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n <meta name=\"csrf-param\" content=\"authenticity_token\" />\n<meta name=\"csrf-token\" content=\"jkANCVc1y22rmM8YKU9seDSeSv3Jau1PJl99VLJo39ZICB3vzDcvN8r1xzwOrE713viWxdWsSZfx_pYnPAaNMQ\" />\n \n\n\n <link rel=\"stylesheet\" href=\"/assets/application-f8c090dd3cd5575b45894e4b6478d0b328f7a89e69c744e74f1153c5eca55e4e.css\" data-turbo-track=\"reload\" />\n <script type=\"importmap\" data-turbo-track=\"reload\">{\n \"imports\": {\n \"application\": \"/assets/application-f3e871e7be89ccb0adccd09d1fb0f2c5f0583d0626142906e3b227e5641284be.js\",\n \"@hotwired/turbo-rails\": \"/assets/turbo.min-dfd93b3092d1d0ff56557294538d069bdbb28977d3987cb39bc0dd892f32fc57.js\",\n \"@hotwired/stimulus\": \"/assets/stimulus.min-dd364f16ec9504dfb72672295637a1c8838773b01c0b441bd41008124c407894.js\",\n \"@hotwired/stimulus-loading\": \"/assets/stimulus-loading-3576ce92b149ad5d6959438c6f291e2426c86df3b874c525b30faad51b0d96b3.js\",\n \"controllers/application\": \"/assets/controllers/application-368d98631bccbf2349e0d4f8269afb3fe9625118341966de054759d96ea86c7e.js\",\n \"controllers/hello_controller\": \"/assets/controllers/hello_controller-549135e8e7c683a538c3d6d517339ba470fcfb79d62f738a0a089ba41851a554.js\",\n \"controllers\": \"/assets/controllers/index-2db729dddcc5b979110e98de4b6720f83f91a123172e87281d5a58410fc43806.js\"\n }\n}</script>\n<link rel=\"modulepreload\" href=\"/assets/application-f3e871e7be89ccb0adccd09d1fb0f2c5f0583d0626142906e3b227e5641284be.js\">\n<link rel=\"modulepreload\" href=\"/assets/turbo.min-dfd93b3092d1d0ff56557294538d069bdbb28977d3987cb39bc0dd892f32fc57.js\">\n<link rel=\"modulepreload\" href=\"/assets/stimulus.min-dd364f16ec9504dfb72672295637a1c8838773b01c0b441bd41008124c407894.js\">\n<link rel=\"modulepreload\" href=\"/assets/stimulus-loading-3576ce92b149ad5d6959438c6f291e2426c86df3b874c525b30faad51b0d96b3.js\">\n<script src=\"/assets/es-module-shims.min-4ca9b3dd5e434131e3bb4b0c1d7dff3bfd4035672a5086deec6f73979a49be73.js\" async=\"async\" data-turbo-track=\"reload\"></script>\n<script type=\"module\">import \"application\"</script>\n\n </head>\n\n <body>\n <div class=\"container mb-5\">\n\n\n <nav class=\"mt-2 mb-4 navbar navbar-expand-lg navbar-light bg-light\">\n <div class=\"container-fluid\">\n <a class=\"navbar-brand\" href=\"#\">Rails Demo app</a>\n <button class=\"navbar-toggler\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbarText\" aria-controls=\"navbarText\" aria-expanded=\"false\" aria-label=\"Toggle navigation\">\n <span class=\"navbar-toggler-icon\"></span>\n </button>\n <div class=\"collapse navbar-collapse\" id=\"navbarText\">\n <ul class=\"navbar-nav me-auto mb-2 mb-lg-0\">\n <li class=\"nav-item\">\n <a class=\"nav-link\" aria-current=\"page\" href=\"/post-list\">Post List</a>\n </li>\n <li class=\"nav-item\">\n <a class=\"nav-link\" aria-current=\"page\" href=\"/random\">Random</a>\n </li>\n <li class=\"nav-item\">\n <a class=\"nav-link\" aria-current=\"page\" href=\"/slow-page\">Slow page</a>\n </li>\n </ul>\n <ul class=\"navbar-nav\">\n <li class=\"nav-item\">\n <button type=\"button\" class=\"nav-link\" onclick=\"fetch('/api/errors?code=404'); fetch('/api/errors?code=401'); fetch('/api/errors?code=500')\">Errors</button>\n </li>\n </ul>\n </div>\n </div>\n </nav>\n\n <div class=\"mb-5\">\n <div class=\"d-grid gap-5\">\n\n <h1>\n Mother Night\n <span class=\"text-muted\">(#5000)</span>\n </h1>\n\n <div>\n <h4>Quo</h4>\n\n<p>Aperiam modi et. Eius vel sit. Illum corporis hic.\n<code>Voluptatem.</code></p>\n\n </div>\n\n <pre>\n #### Quo\nAperiam modi et. Eius vel sit. Illum corporis hic.\n`Voluptatem.`\n </pre>\n\n <div class=\"d-flex gap-5\">\n <button type=\"button\" onclick=\"fetch('/api/add_reaction?name=up&post_id=5000')\" class=\"btn btn-primary position-relative\">\n Like 👍\n <span class=\"position-absolute top-0 start-100 translate-middle badge rounded-pill bg-black\">\n 242\n </span>\n </button>\n\n <button type=\"button\" onclick=\"fetch('/api/add_reaction?name=down&post_id=5000')\" class=\"btn btn-danger position-relative\">\n Nope 👎\n <span class=\"position-absolute top-0 start-100 translate-middle badge rounded-pill bg-black\">\n 220\n </span>\n </button>\n\n <button type=\"button\" onclick=\"fetch('/api/add_reaction?name=star&post_id=5000')\" class=\"btn btn-success position-relative\">\n Awesome 🤩\n <span class=\"position-absolute top-0 start-100 translate-middle badge rounded-pill bg-black\">\n 226\n </span>\n </button>\n </div>\n\n</div>\n\n </div>\n\n </div>\n\n <div id=\"__debugbar\"></div>\n <script type=\"text/javascript\">\n window._debugbarConfigOptions = {}\n </script>\n <script defer src=\"/_debugbar/assets/script\"></script>\n <script type=\"module\">\n import sheet from '/_debugbar/assets/style' assert { type: 'css' }\n const debugbar = document.getElementById('__debugbar-shadow-root')\n debugbar.shadowRoot.adoptedStyleSheets = [sheet];\n </script>\n\n </body>\n</html>\n"
65
- },
66
- "models": {
67
- "Post": 1,
68
- "Reaction": 688
69
- },
70
- "queries": [
71
- {
72
- "id": "a49beead96b5a5e5ec7b",
73
- "title": "Post Load (0.9ms)",
74
- "name": "Post Load",
75
- "sql": "SELECT `posts`.* FROM `posts` ORDER BY `posts`.`id` DESC LIMIT 1 ",
76
- "cached": false,
77
- "async": false,
78
- "duration": 0.9,
79
- "lock_wait": null,
80
- "binds": null,
81
- "source": [
82
- "/Users/julien.bourdeau/Personal/rails/demo_app/app/controllers/demo_controller.rb:26",
83
- " `slow_page'"
84
- ]
85
- },
86
- {
87
- "id": "a49beead96b5a5e5ec7b",
88
- "title": "Reaction Load (2.3ms)",
89
- "name": "Reaction Load",
90
- "sql": "SELECT `reactions`.* FROM `reactions` WHERE `reactions`.`post_id` = 5000 ",
91
- "cached": false,
92
- "async": false,
93
- "duration": 2.3,
94
- "lock_wait": null,
95
- "binds": null,
96
- "source": [
97
- "/Users/julien.bourdeau/Personal/rails/demo_app/app/views/demo/post.html.erb:20",
98
- " `_app_views_demo_post_html_erb__3830923846294067042_28740'"
99
- ]
100
- }
101
- ],
102
- "jobs": [
103
-
104
- ],
105
- "messages": [
106
- {
107
- "msg": "before_action",
108
- "extra": [
109
- {
110
- "params": {
111
- "controller": "demo",
112
- "action": "slow_page"
113
- }
114
- }
115
- ]
116
- },
117
- {
118
- "msg": "Rendering navigation",
119
- "extra": [
120
-
121
- ]
122
- }
123
- ],
124
- "cache": [
125
-
126
- ],
127
- "logs": [
128
-
129
- ]
130
- }
@@ -1,164 +0,0 @@
1
- {
2
- "id": "7462bd75-373f-4eba-95f0-86717d9e3fb9",
3
- "meta": {
4
- "controller": "DemoController",
5
- "action": "post",
6
- "params": {
7
- "controller": "demo",
8
- "action": "post",
9
- "id": "930"
10
- },
11
- "format": "html",
12
- "method": "GET",
13
- "path": "/post/930",
14
- "status": 200,
15
- "view_runtime": 3.9580001030117273,
16
- "db_runtime": 3.467999864369631,
17
- "duration": 16.772000074386597,
18
- "cpu_time": 13.348917,
19
- "idle_time": 3.4230830743865965,
20
- "allocations": 14349
21
- },
22
- "request": {
23
- "method": "GET",
24
- "path": "/post/930",
25
- "format": "html",
26
- "params": {
27
- "controller": "demo",
28
- "action": "post",
29
- "id": "930"
30
- },
31
- "headers": {
32
- "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
33
- "Accept-Encoding": "gzip, deflate, br",
34
- "Accept-Language": "fr,en;q=0.9",
35
- "Connection": "keep-alive",
36
- "Cookie": "_demo_app_session=BQrfrqwaDxQLlcrCZCSwiiJrCVN6pWaGEmTUMl5s%2BWP2xDdT5GgSbZ1GjUxNevxh9zy%2FCWIXiCSkpd1bAMAEefyD7BUi4cgt%2BQ4xclmmUfebk8Hnl1sw0fhO0uGUk%2BsR6rZdEHZf%2FOQcUtzhuvk%2BNO4JdOoqLPqD6Z9A%2FuvUroWg3NHedrkYIx5yESdgdL7vYseAorT%2B2BtUH%2BRCftEXrEWRWdWyBHDgAanAcwu96zfwLBURN9h%2FAUBPn8wtvCc%2BoZPQXJlDGXSVEUxLd%2FiZ4INeR707T7HyCw%3D%3D--xI%2FllNiOtCHGENRn--%2Bh1H%2FRmTDAzWYcvTavhbTQ%3D%3D",
37
- "Dnt": "1",
38
- "Host": "127.0.0.1:3000",
39
- "Referer": "http://127.0.0.1:3000/slow-page",
40
- "Sec-Ch-Ua": "\"Not_A Brand\";v=\"8\", \"Chromium\";v=\"120\", \"Google Chrome\";v=\"120\"",
41
- "Sec-Ch-Ua-Mobile": "?0",
42
- "Sec-Ch-Ua-Platform": "\"macOS\"",
43
- "Sec-Fetch-Dest": "document",
44
- "Sec-Fetch-Mode": "navigate",
45
- "Sec-Fetch-Site": "same-origin",
46
- "Sec-Fetch-User": "?1",
47
- "Upgrade-Insecure-Requests": "1",
48
- "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
49
- "Version": "HTTP/1.1"
50
- }
51
- },
52
- "response": {
53
- "status": 200,
54
- "headers": {
55
- "X-Frame-Options": "SAMEORIGIN",
56
- "X-Xss-Protection": "0",
57
- "X-Content-Type-Options": "nosniff",
58
- "X-Permitted-Cross-Domain-Policies": "none",
59
- "Referrer-Policy": "strict-origin-when-cross-origin",
60
- "Link": "</assets/application-f8c090dd3cd5575b45894e4b6478d0b328f7a89e69c744e74f1153c5eca55e4e.css>; rel=preload; as=style; nopush,</assets/es-module-shims.min-4ca9b3dd5e434131e3bb4b0c1d7dff3bfd4035672a5086deec6f73979a49be73.js>; rel=preload; as=script; nopush",
61
- "Content-Type": "text/html; charset=utf-8",
62
- "Etag": "W/\"fe2dfd1a73e8caa6703d73252e559d37\"",
63
- "Cache-Control": "max-age=0, private, must-revalidate"
64
- },
65
- "body": "<!DOCTYPE html>\n<html>\n <head>\n <title>DemoApp</title>\n <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n <meta name=\"csrf-param\" content=\"authenticity_token\" />\n<meta name=\"csrf-token\" content=\"hGJ5kpdI-WKAtpjuRFfnVM6gTxN09O5LvuOwISKu3MJCKml0DEodOOHbkMpjtMXZJMaTK2gySpNpQltSrMCOJQ\" />\n \n\n\n <link rel=\"stylesheet\" href=\"/assets/application-f8c090dd3cd5575b45894e4b6478d0b328f7a89e69c744e74f1153c5eca55e4e.css\" data-turbo-track=\"reload\" />\n <script type=\"importmap\" data-turbo-track=\"reload\">{\n \"imports\": {\n \"application\": \"/assets/application-f3e871e7be89ccb0adccd09d1fb0f2c5f0583d0626142906e3b227e5641284be.js\",\n \"@hotwired/turbo-rails\": \"/assets/turbo.min-dfd93b3092d1d0ff56557294538d069bdbb28977d3987cb39bc0dd892f32fc57.js\",\n \"@hotwired/stimulus\": \"/assets/stimulus.min-dd364f16ec9504dfb72672295637a1c8838773b01c0b441bd41008124c407894.js\",\n \"@hotwired/stimulus-loading\": \"/assets/stimulus-loading-3576ce92b149ad5d6959438c6f291e2426c86df3b874c525b30faad51b0d96b3.js\",\n \"controllers/application\": \"/assets/controllers/application-368d98631bccbf2349e0d4f8269afb3fe9625118341966de054759d96ea86c7e.js\",\n \"controllers/hello_controller\": \"/assets/controllers/hello_controller-549135e8e7c683a538c3d6d517339ba470fcfb79d62f738a0a089ba41851a554.js\",\n \"controllers\": \"/assets/controllers/index-2db729dddcc5b979110e98de4b6720f83f91a123172e87281d5a58410fc43806.js\"\n }\n}</script>\n<link rel=\"modulepreload\" href=\"/assets/application-f3e871e7be89ccb0adccd09d1fb0f2c5f0583d0626142906e3b227e5641284be.js\">\n<link rel=\"modulepreload\" href=\"/assets/turbo.min-dfd93b3092d1d0ff56557294538d069bdbb28977d3987cb39bc0dd892f32fc57.js\">\n<link rel=\"modulepreload\" href=\"/assets/stimulus.min-dd364f16ec9504dfb72672295637a1c8838773b01c0b441bd41008124c407894.js\">\n<link rel=\"modulepreload\" href=\"/assets/stimulus-loading-3576ce92b149ad5d6959438c6f291e2426c86df3b874c525b30faad51b0d96b3.js\">\n<script src=\"/assets/es-module-shims.min-4ca9b3dd5e434131e3bb4b0c1d7dff3bfd4035672a5086deec6f73979a49be73.js\" async=\"async\" data-turbo-track=\"reload\"></script>\n<script type=\"module\">import \"application\"</script>\n\n </head>\n\n <body>\n <div class=\"container mb-5\">\n\n\n <nav class=\"mt-2 mb-4 navbar navbar-expand-lg navbar-light bg-light\">\n <div class=\"container-fluid\">\n <a class=\"navbar-brand\" href=\"#\">Rails Demo app</a>\n <button class=\"navbar-toggler\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#navbarText\" aria-controls=\"navbarText\" aria-expanded=\"false\" aria-label=\"Toggle navigation\">\n <span class=\"navbar-toggler-icon\"></span>\n </button>\n <div class=\"collapse navbar-collapse\" id=\"navbarText\">\n <ul class=\"navbar-nav me-auto mb-2 mb-lg-0\">\n <li class=\"nav-item\">\n <a class=\"nav-link\" aria-current=\"page\" href=\"/post-list\">Post List</a>\n </li>\n <li class=\"nav-item\">\n <a class=\"nav-link\" aria-current=\"page\" href=\"/random\">Random</a>\n </li>\n <li class=\"nav-item\">\n <a class=\"nav-link\" aria-current=\"page\" href=\"/slow-page\">Slow page</a>\n </li>\n </ul>\n <ul class=\"navbar-nav\">\n <li class=\"nav-item\">\n <button type=\"button\" class=\"nav-link\" onclick=\"fetch('/api/errors?code=404'); fetch('/api/errors?code=401'); fetch('/api/errors?code=500')\">Errors</button>\n </li>\n </ul>\n </div>\n </div>\n </nav>\n\n <div class=\"mb-5\">\n <div class=\"d-grid gap-5\">\n\n <h1>\n The Wind&#39;s Twelve Quarters\n <span class=\"text-muted\">(#930)</span>\n </h1>\n\n <div>\n <h1>Voluptas</h1>\n\n<p>Ullam culpa voluptates. Nobis est eos. Debitis architecto odio.\n0. Nemo. \n1. Quidem. \n2. Eos. \n3. Incidunt. \n4. Expedita. \n5. Autem. </p>\n\n </div>\n\n <pre>\n # Voluptas\nUllam culpa voluptates. Nobis est eos. Debitis architecto odio.\n0. Nemo. \n1. Quidem. \n2. Eos. \n3. Incidunt. \n4. Expedita. \n5. Autem. \n\n </pre>\n\n <div class=\"d-flex gap-5\">\n <button type=\"button\" onclick=\"fetch('/api/add_reaction?name=up&post_id=930')\" class=\"btn btn-primary position-relative\">\n Like 👍\n <span class=\"position-absolute top-0 start-100 translate-middle badge rounded-pill bg-black\">\n 59\n </span>\n </button>\n\n <button type=\"button\" onclick=\"fetch('/api/add_reaction?name=down&post_id=930')\" class=\"btn btn-danger position-relative\">\n Nope 👎\n <span class=\"position-absolute top-0 start-100 translate-middle badge rounded-pill bg-black\">\n 57\n </span>\n </button>\n\n <button type=\"button\" onclick=\"fetch('/api/add_reaction?name=star&post_id=930')\" class=\"btn btn-success position-relative\">\n Awesome 🤩\n <span class=\"position-absolute top-0 start-100 translate-middle badge rounded-pill bg-black\">\n 60\n </span>\n </button>\n </div>\n\n</div>\n\n </div>\n\n </div>\n\n <div id=\"__debugbar\"></div>\n <script type=\"text/javascript\">\n window._debugbarConfigOptions = {}\n </script>\n <script defer src=\"/_debugbar/assets/script\"></script>\n <script type=\"module\">\n import sheet from '/_debugbar/assets/style' assert { type: 'css' }\n const debugbar = document.getElementById('__debugbar-shadow-root')\n debugbar.shadowRoot.adoptedStyleSheets = [sheet];\n </script>\n\n </body>\n</html>\n"
66
- },
67
- "models": {
68
- "Post": 1,
69
- "PostAuthor": 9,
70
- "Author": 9,
71
- "Reaction": 176
72
- },
73
- "queries": [
74
- {
75
- "id": "a49beead96b5a5e5ec7b",
76
- "title": "Post Load (0.4ms)",
77
- "name": "Post Load",
78
- "sql": "SELECT `posts`.* FROM `posts` WHERE `posts`.`id` = 930 LIMIT 1 ",
79
- "cached": false,
80
- "async": false,
81
- "duration": 0.4,
82
- "lock_wait": null,
83
- "binds": null,
84
- "source": [
85
- "/Users/julien.bourdeau/Personal/rails/demo_app/app/controllers/demo_controller.rb:16",
86
- " `post'"
87
- ]
88
- },
89
- {
90
- "id": "a49beead96b5a5e5ec7b",
91
- "title": "PostAuthor Load (1.0ms)",
92
- "name": "PostAuthor Load",
93
- "sql": "SELECT `post_authors`.* FROM `post_authors` WHERE `post_authors`.`post_id` = 930 ",
94
- "cached": false,
95
- "async": false,
96
- "duration": 1.0,
97
- "lock_wait": null,
98
- "binds": null,
99
- "source": [
100
- "/Users/julien.bourdeau/Personal/rails/demo_app/app/controllers/demo_controller.rb:16",
101
- " `post'"
102
- ]
103
- },
104
- {
105
- "id": "a49beead96b5a5e5ec7b",
106
- "title": "Author Load (0.3ms)",
107
- "name": "Author Load",
108
- "sql": "SELECT `authors`.* FROM `authors` WHERE `authors`.`id` IN (1684, 804, 1785, 1306, 188, 376, 165, 1009, 1809) ",
109
- "cached": false,
110
- "async": false,
111
- "duration": 0.3,
112
- "lock_wait": null,
113
- "binds": null,
114
- "source": [
115
- "/Users/julien.bourdeau/Personal/rails/demo_app/app/controllers/demo_controller.rb:16",
116
- " `post'"
117
- ]
118
- },
119
- {
120
- "id": "a49beead96b5a5e5ec7b",
121
- "title": "Reaction Load (1.8ms)",
122
- "name": "Reaction Load",
123
- "sql": "SELECT `reactions`.* FROM `reactions` WHERE `reactions`.`post_id` = 930 ",
124
- "cached": false,
125
- "async": false,
126
- "duration": 1.8,
127
- "lock_wait": null,
128
- "binds": null,
129
- "source": [
130
- "/Users/julien.bourdeau/Personal/rails/demo_app/app/controllers/demo_controller.rb:16",
131
- " `post'"
132
- ]
133
- }
134
- ],
135
- "jobs": [
136
-
137
- ],
138
- "messages": [
139
- {
140
- "msg": "before_action",
141
- "extra": [
142
- {
143
- "params": {
144
- "controller": "demo",
145
- "action": "post",
146
- "id": "930"
147
- }
148
- }
149
- ]
150
- },
151
- {
152
- "msg": "Rendering navigation",
153
- "extra": [
154
-
155
- ]
156
- }
157
- ],
158
- "cache": [
159
-
160
- ],
161
- "logs": [
162
-
163
- ]
164
- }