rack-mini-profiler 0.1.22 → 0.1.27

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of rack-mini-profiler might be problematic. Click here for more details.

Files changed (35) hide show
  1. checksums.yaml +7 -0
  2. data/Ruby/CHANGELOG +69 -35
  3. data/Ruby/README.md +47 -9
  4. data/Ruby/lib/html/flamegraph.html +351 -0
  5. data/Ruby/lib/html/includes.css +451 -75
  6. data/Ruby/lib/html/includes.js +134 -23
  7. data/Ruby/lib/html/includes.less +38 -35
  8. data/Ruby/lib/html/includes.tmpl +40 -15
  9. data/Ruby/lib/html/jquery.1.7.1.js +1 -1
  10. data/Ruby/lib/html/jquery.tmpl.js +1 -1
  11. data/Ruby/lib/html/list.js +7 -6
  12. data/Ruby/lib/html/profile_handler.js +1 -62
  13. data/Ruby/lib/mini_profiler/client_timer_struct.rb +1 -1
  14. data/Ruby/lib/mini_profiler/config.rb +58 -52
  15. data/Ruby/lib/mini_profiler/context.rb +11 -10
  16. data/Ruby/lib/mini_profiler/custom_timer_struct.rb +22 -0
  17. data/Ruby/lib/mini_profiler/flame_graph.rb +54 -0
  18. data/Ruby/lib/mini_profiler/gc_profiler.rb +8 -4
  19. data/Ruby/lib/mini_profiler/page_timer_struct.rb +7 -2
  20. data/Ruby/lib/mini_profiler/profiler.rb +207 -157
  21. data/Ruby/lib/mini_profiler/profiling_methods.rb +131 -108
  22. data/Ruby/lib/mini_profiler/request_timer_struct.rb +20 -1
  23. data/Ruby/lib/mini_profiler/sql_timer_struct.rb +1 -1
  24. data/Ruby/lib/mini_profiler/storage/abstract_store.rb +31 -27
  25. data/Ruby/lib/mini_profiler/storage/file_store.rb +111 -109
  26. data/Ruby/lib/mini_profiler/storage/memcache_store.rb +11 -9
  27. data/Ruby/lib/mini_profiler/storage/memory_store.rb +65 -63
  28. data/Ruby/lib/mini_profiler/storage/redis_store.rb +54 -44
  29. data/Ruby/lib/mini_profiler/version.rb +5 -0
  30. data/Ruby/lib/mini_profiler_rails/railtie.rb +44 -40
  31. data/Ruby/lib/patches/net_patches.rb +14 -0
  32. data/Ruby/lib/patches/sql_patches.rb +89 -48
  33. data/Ruby/lib/rack-mini-profiler.rb +1 -0
  34. data/rack-mini-profiler.gemspec +1 -1
  35. metadata +41 -52
@@ -1,75 +1,451 @@
1
- .profiler-result,.profiler-queries{color:#555;line-height:1;font-size:12px;}.profiler-result pre,.profiler-queries pre,.profiler-result code,.profiler-queries code,.profiler-result label,.profiler-queries label,.profiler-result table,.profiler-queries table,.profiler-result tbody,.profiler-queries tbody,.profiler-result thead,.profiler-queries thead,.profiler-result tfoot,.profiler-queries tfoot,.profiler-result tr,.profiler-queries tr,.profiler-result th,.profiler-queries th,.profiler-result td,.profiler-queries td{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;background-color:transparent;overflow:visible;max-height:none;}
2
- .profiler-result table,.profiler-queries table{border-collapse:collapse;border-spacing:0;}
3
- .profiler-result a,.profiler-queries a,.profiler-result a:hover,.profiler-queries a:hover{cursor:pointer;color:#0077cc;}
4
- .profiler-result a,.profiler-queries a{text-decoration:none;}.profiler-result a:hover,.profiler-queries a:hover{text-decoration:underline;}
5
- .profiler-result{font-family:Helvetica,Arial,sans-serif;}.profiler-result .profiler-toggle-duration-with-children{float:right;}
6
- .profiler-result table.profiler-client-timings{margin-top:10px;}
7
- .profiler-result .profiler-label{color:#555555;overflow:hidden;text-overflow:ellipsis;}
8
- .profiler-result .profiler-unit{color:#aaaaaa;}
9
- .profiler-result .profiler-trivial{display:none;}.profiler-result .profiler-trivial td,.profiler-result .profiler-trivial td *{color:#aaaaaa !important;}
10
- .profiler-result pre,.profiler-result code,.profiler-result .profiler-number,.profiler-result .profiler-unit{font-family:Consolas,monospace,serif;}
11
- .profiler-result .profiler-number{color:#111111;}
12
- .profiler-result .profiler-info{text-align:right;}.profiler-result .profiler-info .profiler-name{float:left;}
13
- .profiler-result .profiler-info .profiler-server-time{white-space:nowrap;}
14
- .profiler-result .profiler-timings th{background-color:#fff;color:#aaaaaa;text-align:right;}
15
- .profiler-result .profiler-timings th,.profiler-result .profiler-timings td{white-space:nowrap;}
16
- .profiler-result .profiler-timings .profiler-duration-with-children{display:none;}
17
- .profiler-result .profiler-timings .profiler-duration{font-family:Consolas,monospace,serif;color:#111111;text-align:right;}
18
- .profiler-result .profiler-timings .profiler-indent{letter-spacing:4px;}
19
- .profiler-result .profiler-timings .profiler-queries-show .profiler-number,.profiler-result .profiler-timings .profiler-queries-show .profiler-unit{color:#0077cc;}
20
- .profiler-result .profiler-timings .profiler-queries-duration{padding-left:6px;}
21
- .profiler-result .profiler-timings .profiler-percent-in-sql{white-space:nowrap;text-align:right;}
22
- .profiler-result .profiler-timings tfoot td{padding-top:10px;text-align:right;}.profiler-result .profiler-timings tfoot td a{font-size:95%;display:inline-block;margin-left:12px;}.profiler-result .profiler-timings tfoot td a:first-child{float:left;margin-left:0px;}
23
- .profiler-result .profiler-queries{font-family:Helvetica,Arial,sans-serif;}.profiler-result .profiler-queries .profiler-stack-trace{margin-bottom:15px;}
24
- .profiler-result .profiler-queries pre{font-family:Consolas,monospace,serif;white-space:pre-wrap;}
25
- .profiler-result .profiler-queries th{background-color:#fff;border-bottom:1px solid #555;font-weight:bold;padding:15px;white-space:nowrap;}
26
- .profiler-result .profiler-queries td{padding:15px;text-align:left;background-color:#fff;}.profiler-result .profiler-queries td:last-child{padding-right:25px;}
27
- .profiler-result .profiler-queries .profiler-odd td{background-color:#e5e5e5;}
28
- .profiler-result .profiler-queries .profiler-since-start,.profiler-result .profiler-queries .profiler-duration{text-align:right;}
29
- .profiler-result .profiler-queries .profiler-info div{text-align:right;margin-bottom:5px;}
30
- .profiler-result .profiler-queries .profiler-gap-info,.profiler-result .profiler-queries .profiler-gap-info td{background-color:#ccc;}
31
- .profiler-result .profiler-queries .profiler-gap-info .profiler-unit{color:#777;}
32
- .profiler-result .profiler-queries .profiler-gap-info .profiler-info{text-align:right;}
33
- .profiler-result .profiler-queries .profiler-gap-info.profiler-trivial-gaps{display:none;}
34
- .profiler-result .profiler-queries .profiler-trivial-gap-container{text-align:center;}
35
- .profiler-result .profiler-queries .str{color:#800000;}
36
- .profiler-result .profiler-queries .kwd{color:#00008b;}
37
- .profiler-result .profiler-queries .com{color:#808080;}
38
- .profiler-result .profiler-queries .typ{color:#2b91af;}
39
- .profiler-result .profiler-queries .lit{color:#800000;}
40
- .profiler-result .profiler-queries .pun{color:#000000;}
41
- .profiler-result .profiler-queries .pln{color:#000000;}
42
- .profiler-result .profiler-queries .tag{color:#800000;}
43
- .profiler-result .profiler-queries .atn{color:#ff0000;}
44
- .profiler-result .profiler-queries .atv{color:#0000ff;}
45
- .profiler-result .profiler-queries .dec{color:#800080;}
46
- .profiler-result .profiler-warning,.profiler-result .profiler-warning *,.profiler-result .profiler-warning .profiler-queries-show,.profiler-result .profiler-warning .profiler-queries-show .profiler-unit{color:#f00;}.profiler-result .profiler-warning:hover,.profiler-result .profiler-warning *:hover,.profiler-result .profiler-warning .profiler-queries-show:hover,.profiler-result .profiler-warning .profiler-queries-show .profiler-unit:hover{color:#f00;}
47
- .profiler-result .profiler-nuclear{color:#f00;font-weight:bold;padding-right:2px;}.profiler-result .profiler-nuclear:hover{color:#f00;}
48
- .profiler-results{z-index:2147483643;position:fixed;top:0px;}.profiler-results.profiler-left{left:0px;}.profiler-results.profiler-left.profiler-no-controls .profiler-result:last-child .profiler-button,.profiler-results.profiler-left .profiler-controls{-webkit-border-bottom-right-radius:10px;-moz-border-radius-bottomright:10px;border-bottom-right-radius:10px;}
49
- .profiler-results.profiler-left .profiler-button,.profiler-results.profiler-left .profiler-controls{border-right:1px solid #888888;}
50
- .profiler-results.profiler-right{right:0px;}.profiler-results.profiler-right.profiler-no-controls .profiler-result:last-child .profiler-button,.profiler-results.profiler-right .profiler-controls{-webkit-border-bottom-left-radius:10px;-moz-border-radius-bottomleft:10px;border-bottom-left-radius:10px;}
51
- .profiler-results.profiler-right .profiler-button,.profiler-results.profiler-right .profiler-controls{border-left:1px solid #888888;}
52
- .profiler-results .profiler-button,.profiler-results .profiler-controls{display:none;z-index:2147483640;border-bottom:1px solid #888888;background-color:#fff;padding:4px 7px;text-align:right;cursor:pointer;}.profiler-results .profiler-button.profiler-button-active,.profiler-results .profiler-controls.profiler-button-active{background-color:maroon;}.profiler-results .profiler-button.profiler-button-active .profiler-number,.profiler-results .profiler-controls.profiler-button-active .profiler-number,.profiler-results .profiler-button.profiler-button-active .profiler-nuclear,.profiler-results .profiler-controls.profiler-button-active .profiler-nuclear{color:#fff;font-weight:bold;}
53
- .profiler-results .profiler-button.profiler-button-active .profiler-unit,.profiler-results .profiler-controls.profiler-button-active .profiler-unit{color:#fff;font-weight:normal;}
54
- .profiler-results .profiler-controls{display:block;font-size:12px;font-family:Consolas,monospace,serif;cursor:default;text-align:center;}.profiler-results .profiler-controls span{border-right:1px solid #aaaaaa;padding-right:5px;margin-right:5px;cursor:pointer;}
55
- .profiler-results .profiler-controls span:last-child{border-right:none;}
56
- .profiler-results .profiler-popup{display:none;z-index:2147483641;position:absolute;background-color:#fff;border:1px solid #aaa;padding:5px 10px;text-align:left;line-height:18px;overflow:auto;-moz-box-shadow:0px 1px 15px #555555;-webkit-box-shadow:0px 1px 15px #555555;box-shadow:0px 1px 15px #555555;}.profiler-results .profiler-popup .profiler-info{margin-bottom:3px;padding-bottom:2px;border-bottom:1px solid #ddd;}.profiler-results .profiler-popup .profiler-info .profiler-name{font-size:110%;font-weight:bold;}.profiler-results .profiler-popup .profiler-info .profiler-name .profiler-overall-duration{display:none;}
57
- .profiler-results .profiler-popup .profiler-info .profiler-server-time{font-size:95%;}
58
- .profiler-results .profiler-popup .profiler-timings th,.profiler-results .profiler-popup .profiler-timings td{padding-left:6px;padding-right:6px;}
59
- .profiler-results .profiler-popup .profiler-timings th{font-size:95%;padding-bottom:3px;}
60
- .profiler-results .profiler-popup .profiler-timings .profiler-label{max-width:275px;}
61
- .profiler-results .profiler-queries{display:none;z-index:2147483643;position:absolute;overflow-y:auto;overflow-x:auto;background-color:#fff;}.profiler-results .profiler-queries th{font-size:17px;}
62
- .profiler-results.profiler-min .profiler-result{display:none;}
63
- .profiler-results.profiler-min .profiler-controls span{display:none;}
64
- .profiler-results.profiler-min .profiler-controls .profiler-min-max{border-right:none;padding:0px;margin:0px;}
65
- .profiler-queries-bg{z-index:2147483642;display:none;background:#000;opacity:0.7;position:absolute;top:0px;left:0px;min-width:100%;}
66
- .profiler-result-full .profiler-result{width:950px;margin:30px auto;}.profiler-result-full .profiler-result .profiler-button{display:none;}
67
- .profiler-result-full .profiler-result .profiler-popup .profiler-info{font-size:25px;border-bottom:1px solid #aaaaaa;padding-bottom:3px;margin-bottom:25px;}.profiler-result-full .profiler-result .profiler-popup .profiler-info .profiler-overall-duration{padding-right:20px;font-size:80%;color:#888;}
68
- .profiler-result-full .profiler-result .profiler-popup .profiler-timings td,.profiler-result-full .profiler-result .profiler-popup .profiler-timings th{padding-left:8px;padding-right:8px;}
69
- .profiler-result-full .profiler-result .profiler-popup .profiler-timings th{padding-bottom:7px;}
70
- .profiler-result-full .profiler-result .profiler-popup .profiler-timings td{font-size:14px;padding-bottom:4px;}.profiler-result-full .profiler-result .profiler-popup .profiler-timings td:first-child{padding-left:10px;}
71
- .profiler-result-full .profiler-result .profiler-popup .profiler-timings .profiler-label{max-width:550px;}
72
- .profiler-result-full .profiler-result .profiler-queries{margin:25px 0;}.profiler-result-full .profiler-result .profiler-queries table{width:100%;}
73
- .profiler-result-full .profiler-result .profiler-queries th{font-size:16px;color:#555;line-height:20px;}
74
- .profiler-result-full .profiler-result .profiler-queries td{padding:15px 10px;text-align:left;}
75
- .profiler-result-full .profiler-result .profiler-queries .profiler-info div{text-align:right;margin-bottom:5px;}
1
+ .profiler-result,
2
+ .profiler-queries {
3
+ color: #555;
4
+ line-height: 1;
5
+ font-size: 12px;
6
+ }
7
+ .profiler-result pre,
8
+ .profiler-queries pre,
9
+ .profiler-result code,
10
+ .profiler-queries code,
11
+ .profiler-result label,
12
+ .profiler-queries label,
13
+ .profiler-result table,
14
+ .profiler-queries table,
15
+ .profiler-result tbody,
16
+ .profiler-queries tbody,
17
+ .profiler-result thead,
18
+ .profiler-queries thead,
19
+ .profiler-result tfoot,
20
+ .profiler-queries tfoot,
21
+ .profiler-result tr,
22
+ .profiler-queries tr,
23
+ .profiler-result th,
24
+ .profiler-queries th,
25
+ .profiler-result td,
26
+ .profiler-queries td {
27
+ margin: 0;
28
+ padding: 0;
29
+ border: 0;
30
+ font-size: 100%;
31
+ font: inherit;
32
+ vertical-align: baseline;
33
+ background-color: transparent;
34
+ overflow: visible;
35
+ max-height: none;
36
+ }
37
+ .profiler-result table,
38
+ .profiler-queries table {
39
+ border-collapse: collapse;
40
+ border-spacing: 0;
41
+ }
42
+ .profiler-result a,
43
+ .profiler-queries a,
44
+ .profiler-result a:hover,
45
+ .profiler-queries a:hover {
46
+ cursor: pointer;
47
+ color: #0077cc;
48
+ }
49
+ .profiler-result a,
50
+ .profiler-queries a {
51
+ text-decoration: none;
52
+ }
53
+ .profiler-result a:hover,
54
+ .profiler-queries a:hover {
55
+ text-decoration: underline;
56
+ }
57
+ .profiler-result {
58
+ font-family: Helvetica, Arial, sans-serif;
59
+ }
60
+ .profiler-result .profiler-toggle-duration-with-children {
61
+ float: right;
62
+ }
63
+ .profiler-result table.profiler-client-timings {
64
+ margin-top: 10px;
65
+ }
66
+ .profiler-result .profiler-label {
67
+ color: #555555;
68
+ overflow: hidden;
69
+ text-overflow: ellipsis;
70
+ }
71
+ .profiler-result .profiler-unit {
72
+ color: #aaaaaa;
73
+ }
74
+ .profiler-result .profiler-trivial {
75
+ display: none;
76
+ }
77
+ .profiler-result .profiler-trivial td,
78
+ .profiler-result .profiler-trivial td * {
79
+ color: #aaaaaa !important;
80
+ }
81
+ .profiler-result pre,
82
+ .profiler-result code,
83
+ .profiler-result .profiler-number,
84
+ .profiler-result .profiler-unit {
85
+ font-family: Consolas, monospace, serif;
86
+ }
87
+ .profiler-result .profiler-number {
88
+ color: #111111;
89
+ }
90
+ .profiler-result .profiler-info {
91
+ text-align: right;
92
+ }
93
+ .profiler-result .profiler-info .profiler-name {
94
+ float: left;
95
+ }
96
+ .profiler-result .profiler-info .profiler-server-time {
97
+ white-space: nowrap;
98
+ }
99
+ .profiler-result .profiler-timings th {
100
+ background-color: #fff;
101
+ color: #aaaaaa;
102
+ text-align: right;
103
+ }
104
+ .profiler-result .profiler-timings th,
105
+ .profiler-result .profiler-timings td {
106
+ white-space: nowrap;
107
+ }
108
+ .profiler-result .profiler-timings .profiler-duration-with-children {
109
+ display: none;
110
+ }
111
+ .profiler-result .profiler-timings .profiler-duration {
112
+ font-family: Consolas, monospace, serif;
113
+ color: #111111;
114
+ text-align: right;
115
+ }
116
+ .profiler-result .profiler-timings .profiler-indent {
117
+ letter-spacing: 4px;
118
+ }
119
+ .profiler-result .profiler-timings .profiler-queries-show .profiler-number,
120
+ .profiler-result .profiler-timings .profiler-queries-show .profiler-unit {
121
+ color: #0077cc;
122
+ }
123
+ .profiler-result .profiler-timings .profiler-queries-duration {
124
+ padding-left: 6px;
125
+ }
126
+ .profiler-result .profiler-timings .profiler-percent-in-sql {
127
+ white-space: nowrap;
128
+ text-align: right;
129
+ }
130
+ .profiler-result .profiler-timings tfoot td {
131
+ padding-top: 10px;
132
+ text-align: right;
133
+ }
134
+ .profiler-result .profiler-timings tfoot td a {
135
+ font-size: 95%;
136
+ display: inline-block;
137
+ margin-left: 12px;
138
+ }
139
+ .profiler-result .profiler-timings tfoot td a:first-child {
140
+ float: left;
141
+ margin-left: 0px;
142
+ }
143
+ .profiler-result .profiler-timings tfoot td a.profiler-custom-link {
144
+ float: left;
145
+ }
146
+ .profiler-result .profiler-queries {
147
+ font-family: Helvetica, Arial, sans-serif;
148
+ }
149
+ .profiler-result .profiler-queries .profiler-stack-trace {
150
+ margin-bottom: 15px;
151
+ }
152
+ .profiler-result .profiler-queries pre {
153
+ font-family: Consolas, monospace, serif;
154
+ white-space: pre-wrap;
155
+ }
156
+ .profiler-result .profiler-queries th {
157
+ background-color: #fff;
158
+ border-bottom: 1px solid #555;
159
+ font-weight: bold;
160
+ padding: 15px;
161
+ white-space: nowrap;
162
+ }
163
+ .profiler-result .profiler-queries td {
164
+ padding: 15px;
165
+ text-align: left;
166
+ background-color: #fff;
167
+ }
168
+ .profiler-result .profiler-queries td:last-child {
169
+ padding-right: 25px;
170
+ }
171
+ .profiler-result .profiler-queries .profiler-odd td {
172
+ background-color: #e5e5e5;
173
+ }
174
+ .profiler-result .profiler-queries .profiler-since-start,
175
+ .profiler-result .profiler-queries .profiler-duration {
176
+ text-align: right;
177
+ }
178
+ .profiler-result .profiler-queries .profiler-info div {
179
+ text-align: right;
180
+ margin-bottom: 5px;
181
+ }
182
+ .profiler-result .profiler-queries .profiler-gap-info,
183
+ .profiler-result .profiler-queries .profiler-gap-info td {
184
+ background-color: #ccc;
185
+ }
186
+ .profiler-result .profiler-queries .profiler-gap-info .profiler-unit {
187
+ color: #777;
188
+ }
189
+ .profiler-result .profiler-queries .profiler-gap-info .profiler-info {
190
+ text-align: right;
191
+ }
192
+ .profiler-result .profiler-queries .profiler-gap-info.profiler-trivial-gaps {
193
+ display: none;
194
+ }
195
+ .profiler-result .profiler-queries .profiler-trivial-gap-container {
196
+ text-align: center;
197
+ }
198
+ .profiler-result .profiler-queries .str {
199
+ color: #800000;
200
+ }
201
+ .profiler-result .profiler-queries .kwd {
202
+ color: #00008b;
203
+ }
204
+ .profiler-result .profiler-queries .com {
205
+ color: #808080;
206
+ }
207
+ .profiler-result .profiler-queries .typ {
208
+ color: #2b91af;
209
+ }
210
+ .profiler-result .profiler-queries .lit {
211
+ color: #800000;
212
+ }
213
+ .profiler-result .profiler-queries .pun {
214
+ color: #000000;
215
+ }
216
+ .profiler-result .profiler-queries .pln {
217
+ color: #000000;
218
+ }
219
+ .profiler-result .profiler-queries .tag {
220
+ color: #800000;
221
+ }
222
+ .profiler-result .profiler-queries .atn {
223
+ color: #ff0000;
224
+ }
225
+ .profiler-result .profiler-queries .atv {
226
+ color: #0000ff;
227
+ }
228
+ .profiler-result .profiler-queries .dec {
229
+ color: #800080;
230
+ }
231
+ .profiler-result .profiler-warning,
232
+ .profiler-result .profiler-warning *,
233
+ .profiler-result .profiler-warning .profiler-queries-show,
234
+ .profiler-result .profiler-warning .profiler-queries-show .profiler-unit {
235
+ color: #f00;
236
+ }
237
+ .profiler-result .profiler-warning:hover,
238
+ .profiler-result .profiler-warning *:hover,
239
+ .profiler-result .profiler-warning .profiler-queries-show:hover,
240
+ .profiler-result .profiler-warning .profiler-queries-show .profiler-unit:hover {
241
+ color: #f00;
242
+ }
243
+ .profiler-result .profiler-nuclear {
244
+ color: #f00;
245
+ font-weight: bold;
246
+ padding-right: 2px;
247
+ }
248
+ .profiler-result .profiler-nuclear:hover {
249
+ color: #f00;
250
+ }
251
+ .profiler-results {
252
+ z-index: 2147483643;
253
+ position: fixed;
254
+ top: 0px;
255
+ }
256
+ .profiler-results.profiler-left {
257
+ left: 0px;
258
+ }
259
+ .profiler-results.profiler-left.profiler-no-controls .profiler-result:last-child .profiler-button,
260
+ .profiler-results.profiler-left .profiler-controls {
261
+ -webkit-border-bottom-right-radius: 10px;
262
+ -moz-border-radius-bottomright: 10px;
263
+ border-bottom-right-radius: 10px;
264
+ }
265
+ .profiler-results.profiler-left .profiler-button,
266
+ .profiler-results.profiler-left .profiler-controls {
267
+ border-right: 1px solid #888888;
268
+ }
269
+ .profiler-results.profiler-right {
270
+ right: 0px;
271
+ }
272
+ .profiler-results.profiler-right.profiler-no-controls .profiler-result:last-child .profiler-button,
273
+ .profiler-results.profiler-right .profiler-controls {
274
+ -webkit-border-bottom-left-radius: 10px;
275
+ -moz-border-radius-bottomleft: 10px;
276
+ border-bottom-left-radius: 10px;
277
+ }
278
+ .profiler-results.profiler-right .profiler-button,
279
+ .profiler-results.profiler-right .profiler-controls {
280
+ border-left: 1px solid #888888;
281
+ }
282
+ .profiler-results .profiler-button,
283
+ .profiler-results .profiler-controls {
284
+ display: none;
285
+ z-index: 2147483640;
286
+ border-bottom: 1px solid #888888;
287
+ background-color: #fff;
288
+ padding: 4px 7px;
289
+ text-align: right;
290
+ cursor: pointer;
291
+ }
292
+ .profiler-results .profiler-button.profiler-button-active,
293
+ .profiler-results .profiler-controls.profiler-button-active {
294
+ background-color: maroon;
295
+ }
296
+ .profiler-results .profiler-button.profiler-button-active .profiler-number,
297
+ .profiler-results .profiler-controls.profiler-button-active .profiler-number,
298
+ .profiler-results .profiler-button.profiler-button-active .profiler-nuclear,
299
+ .profiler-results .profiler-controls.profiler-button-active .profiler-nuclear {
300
+ color: #fff;
301
+ font-weight: bold;
302
+ }
303
+ .profiler-results .profiler-button.profiler-button-active .profiler-unit,
304
+ .profiler-results .profiler-controls.profiler-button-active .profiler-unit {
305
+ color: #fff;
306
+ font-weight: normal;
307
+ }
308
+ .profiler-results .profiler-controls {
309
+ display: block;
310
+ font-size: 12px;
311
+ font-family: Consolas, monospace, serif;
312
+ cursor: default;
313
+ text-align: center;
314
+ }
315
+ .profiler-results .profiler-controls span {
316
+ border-right: 1px solid #aaaaaa;
317
+ padding-right: 5px;
318
+ margin-right: 5px;
319
+ cursor: pointer;
320
+ }
321
+ .profiler-results .profiler-controls span:last-child {
322
+ border-right: none;
323
+ }
324
+ .profiler-results .profiler-popup {
325
+ display: none;
326
+ z-index: 2147483641;
327
+ position: absolute;
328
+ background-color: #fff;
329
+ border: 1px solid #aaa;
330
+ padding: 5px 10px;
331
+ text-align: left;
332
+ line-height: 18px;
333
+ overflow: auto;
334
+ -moz-box-shadow: 0px 1px 15px #555555;
335
+ -webkit-box-shadow: 0px 1px 15px #555555;
336
+ box-shadow: 0px 1px 15px #555555;
337
+ }
338
+ .profiler-results .profiler-popup .profiler-info {
339
+ margin-bottom: 3px;
340
+ padding-bottom: 2px;
341
+ border-bottom: 1px solid #ddd;
342
+ }
343
+ .profiler-results .profiler-popup .profiler-info .profiler-name {
344
+ font-size: 110%;
345
+ font-weight: bold;
346
+ }
347
+ .profiler-results .profiler-popup .profiler-info .profiler-name .profiler-overall-duration {
348
+ display: none;
349
+ }
350
+ .profiler-results .profiler-popup .profiler-info .profiler-server-time {
351
+ font-size: 95%;
352
+ }
353
+ .profiler-results .profiler-popup .profiler-timings th,
354
+ .profiler-results .profiler-popup .profiler-timings td {
355
+ padding-left: 6px;
356
+ padding-right: 6px;
357
+ }
358
+ .profiler-results .profiler-popup .profiler-timings th {
359
+ font-size: 95%;
360
+ padding-bottom: 3px;
361
+ }
362
+ .profiler-results .profiler-popup .profiler-timings .profiler-label {
363
+ max-width: 275px;
364
+ }
365
+ .profiler-results .profiler-queries {
366
+ display: none;
367
+ z-index: 2147483643;
368
+ position: absolute;
369
+ overflow-y: auto;
370
+ overflow-x: auto;
371
+ background-color: #fff;
372
+ }
373
+ .profiler-results .profiler-queries th {
374
+ font-size: 17px;
375
+ }
376
+ .profiler-results.profiler-min .profiler-result {
377
+ display: none;
378
+ }
379
+ .profiler-results.profiler-min .profiler-controls span {
380
+ display: none;
381
+ }
382
+ .profiler-results.profiler-min .profiler-controls .profiler-min-max {
383
+ border-right: none;
384
+ padding: 0px;
385
+ margin: 0px;
386
+ }
387
+ .profiler-queries-bg {
388
+ z-index: 2147483642;
389
+ display: none;
390
+ background: #000;
391
+ opacity: 0.7;
392
+ position: absolute;
393
+ top: 0px;
394
+ left: 0px;
395
+ min-width: 100%;
396
+ }
397
+ .profiler-result-full .profiler-result {
398
+ width: 950px;
399
+ margin: 30px auto;
400
+ }
401
+ .profiler-result-full .profiler-result .profiler-button {
402
+ display: none;
403
+ }
404
+ .profiler-result-full .profiler-result .profiler-popup .profiler-info {
405
+ font-size: 25px;
406
+ border-bottom: 1px solid #aaaaaa;
407
+ padding-bottom: 3px;
408
+ margin-bottom: 25px;
409
+ }
410
+ .profiler-result-full .profiler-result .profiler-popup .profiler-info .profiler-overall-duration {
411
+ padding-right: 20px;
412
+ font-size: 80%;
413
+ color: #888;
414
+ }
415
+ .profiler-result-full .profiler-result .profiler-popup .profiler-timings td,
416
+ .profiler-result-full .profiler-result .profiler-popup .profiler-timings th {
417
+ padding-left: 8px;
418
+ padding-right: 8px;
419
+ }
420
+ .profiler-result-full .profiler-result .profiler-popup .profiler-timings th {
421
+ padding-bottom: 7px;
422
+ }
423
+ .profiler-result-full .profiler-result .profiler-popup .profiler-timings td {
424
+ font-size: 14px;
425
+ padding-bottom: 4px;
426
+ }
427
+ .profiler-result-full .profiler-result .profiler-popup .profiler-timings td:first-child {
428
+ padding-left: 10px;
429
+ }
430
+ .profiler-result-full .profiler-result .profiler-popup .profiler-timings .profiler-label {
431
+ max-width: 550px;
432
+ }
433
+ .profiler-result-full .profiler-result .profiler-queries {
434
+ margin: 25px 0;
435
+ }
436
+ .profiler-result-full .profiler-result .profiler-queries table {
437
+ width: 100%;
438
+ }
439
+ .profiler-result-full .profiler-result .profiler-queries th {
440
+ font-size: 16px;
441
+ color: #555;
442
+ line-height: 20px;
443
+ }
444
+ .profiler-result-full .profiler-result .profiler-queries td {
445
+ padding: 15px 10px;
446
+ text-align: left;
447
+ }
448
+ .profiler-result-full .profiler-result .profiler-queries .profiler-info div {
449
+ text-align: right;
450
+ margin-bottom: 5px;
451
+ }