| RemoteIpValve |  | 0% |  | 0% | 88 | 88 | 214 | 214 | 33 | 33 | 1 | 1 |
| AccessLogValve |  | 0% |  | 0% | 87 | 87 | 206 | 206 | 33 | 33 | 1 | 1 |
| AbstractAccessLogValve |  | 0% |  | 0% | 108 | 108 | 197 | 197 | 32 | 32 | 1 | 1 |
| ErrorReportValve |  | 0% |  | 0% | 59 | 59 | 210 | 210 | 12 | 12 | 1 | 1 |
| ExtendedAccessLogValve |  | 0% |  | 0% | 78 | 78 | 189 | 189 | 11 | 11 | 1 | 1 |
| JDBCAccessLogValve |  | 0% |  | 0% | 52 | 52 | 178 | 178 | 31 | 31 | 1 | 1 |
| JsonAccessLogValve |  | 0% |  | 0% | 19 | 19 | 90 | 90 | 6 | 6 | 1 | 1 |
| StuckThreadDetectionValve |  | 0% |  | 0% | 34 | 34 | 85 | 85 | 15 | 15 | 1 | 1 |
| PersistentValve |  | 0% |  | 0% | 45 | 45 | 100 | 100 | 10 | 10 | 1 | 1 |
| CrawlerSessionManagerValve |  | 0% |  | 0% | 42 | 42 | 87 | 87 | 16 | 16 | 1 | 1 |
| AbstractAccessLogValve.DateFormatCache.Cache |  | 0% |  | 0% | 21 | 21 | 70 | 70 | 4 | 4 | 1 | 1 |
| ProxyErrorReportValve |  | 0% |  | 0% | 26 | 26 | 98 | 98 | 8 | 8 | 1 | 1 |
| RemoteCIDRValve |  | 0% |  | 0% | 32 | 32 | 80 | 80 | 10 | 10 | 1 | 1 |
| AbstractAccessLogValve.DateAndTimeElement |  | 0% |  | 0% | 31 | 31 | 87 | 87 | 4 | 4 | 1 | 1 |
| RequestFilterValve |  | 0% |  | 0% | 40 | 40 | 81 | 81 | 20 | 20 | 1 | 1 |
| LoadBalancerDrainingValve |  | 0% |  | 0% | 26 | 26 | 55 | 55 | 7 | 7 | 1 | 1 |
| ExtendedAccessLogValve.PatternTokenizer |  | 0% |  | 0% | 23 | 23 | 67 | 67 | 8 | 8 | 1 | 1 |
| SSLValve |  | 0% |  | 0% | 23 | 23 | 65 | 65 | 14 | 14 | 1 | 1 |
| StuckThreadDetectionValve.MonitoredThread |  | 0% |  | 0% | 18 | 18 | 39 | 39 | 10 | 10 | 1 | 1 |
| ValveBase |  | 0% |  | 0% | 24 | 24 | 54 | 54 | 16 | 16 | 1 | 1 |
| JsonErrorReportValve |  | 0% |  | 0% | 14 | 14 | 41 | 41 | 2 | 2 | 1 | 1 |
| SemaphoreValve |  | 0% |  | 0% | 19 | 19 | 48 | 48 | 14 | 14 | 1 | 1 |
| JsonAccessLogValve.JsonWrappedElement |  | 0% |  | 0% | 13 | 13 | 26 | 26 | 6 | 6 | 1 | 1 |
| HealthCheckValve |  | 0% |  | 0% | 15 | 15 | 29 | 29 | 8 | 8 | 1 | 1 |
| AbstractAccessLogValve.DateFormatCache |  | 0% |  | 0% | 8 | 8 | 27 | 27 | 4 | 4 | 1 | 1 |
| AbstractAccessLogValve.RemoteAddrElement |  | 0% |  | 0% | 12 | 12 | 31 | 31 | 4 | 4 | 1 | 1 |
| AbstractAccessLogValve.PortElement |  | 0% |  | 0% | 11 | 11 | 25 | 25 | 4 | 4 | 1 | 1 |
| AbstractAccessLogValve.ConnectionStatusElement |  | 0% |  | 0% | 9 | 9 | 21 | 21 | 2 | 2 | 1 | 1 |
| AbstractAccessLogValve.CookieElement |  | 0% |  | 0% | 7 | 7 | 17 | 17 | 2 | 2 | 1 | 1 |
| ExtendedAccessLogValve.CookieElement |  | 0% |  | 0% | 7 | 7 | 16 | 16 | 2 | 2 | 1 | 1 |
| AbstractAccessLogValve.ElapsedTimeElement |  | 0% |  | 0% | 3 | 3 | 13 | 13 | 2 | 2 | 1 | 1 |
| ExtendedAccessLogValve.TimeElement |  | 0% |  | 0% | 6 | 6 | 10 | 10 | 4 | 4 | 1 | 1 |
| ExtendedAccessLogValve.DateElement |  | 0% |  | 0% | 6 | 6 | 10 | 10 | 4 | 4 | 1 | 1 |
| AbstractAccessLogValve.HostElement |  | 0% |  | 0% | 11 | 11 | 17 | 17 | 3 | 3 | 1 | 1 |
| AbstractAccessLogValve.RequestElement |  | 0% |  | 0% | 5 | 5 | 16 | 16 | 2 | 2 | 1 | 1 |
| ExtendedAccessLogValve.ResponseAllHeaderElement |  | 0% |  | 0% | 6 | 6 | 17 | 17 | 2 | 2 | 1 | 1 |
| AbstractAccessLogValve.FormatType |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 | 1 | 1 |
| AbstractAccessLogValve.ByteSentElement |  | 0% |  | 0% | 7 | 7 | 14 | 14 | 2 | 2 | 1 | 1 |
| AbstractAccessLogValve.HttpStatusCodeElement |  | 0% |  | 0% | 5 | 5 | 10 | 10 | 2 | 2 | 1 | 1 |
| AbstractAccessLogValve.LocalServerNameElement |  | 0% |  | 0% | 9 | 9 | 14 | 14 | 2 | 2 | 1 | 1 |
| AbstractAccessLogValve.SessionAttributeElement |  | 0% |  | 0% | 6 | 6 | 16 | 16 | 2 | 2 | 1 | 1 |
| RemoteAddrValve |  | 0% |  | 0% | 6 | 6 | 10 | 10 | 4 | 4 | 1 | 1 |
| AbstractAccessLogValve.ResponseHeaderElement |  | 0% |  | 0% | 5 | 5 | 13 | 13 | 2 | 2 | 1 | 1 |
| AbstractAccessLogValve.HeaderElement |  | 0% |  | 0% | 4 | 4 | 12 | 12 | 2 | 2 | 1 | 1 |
| AbstractAccessLogValve.RequestAttributeElement |  | 0% |  | 0% | 5 | 5 | 13 | 13 | 2 | 2 | 1 | 1 |
| RemoteHostValve |  | 0% |  | 0% | 5 | 5 | 8 | 8 | 4 | 4 | 1 | 1 |
| StuckThreadDetectionValve.MonitoredThreadState |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 | 1 | 1 |
| AbstractAccessLogValve.ProtocolElement |  | 0% |  | 0% | 4 | 4 | 9 | 9 | 2 | 2 | 1 | 1 |
| ExtendedAccessLogValve.new AbstractAccessLogValve.AccessLogElement() {...} |  | 0% |  | 0% | 3 | 3 | 8 | 8 | 2 | 2 | 1 | 1 |
| ExtendedAccessLogValve.RequestParameterElement |  | 0% |  | 0% | 5 | 5 | 8 | 8 | 3 | 3 | 1 | 1 |
| AbstractAccessLogValve.LocalAddrElement |  | 0% |  | 0% | 3 | 3 | 12 | 12 | 2 | 2 | 1 | 1 |
| AbstractAccessLogValve.FirstByteTimeElement |  | 0% |  | 0% | 3 | 3 | 7 | 7 | 2 | 2 | 1 | 1 |
| AbstractAccessLogValve.SessionIdElement |  | 0% |  | 0% | 4 | 4 | 8 | 8 | 2 | 2 | 1 | 1 |
| ExtendedAccessLogValve.SessionAttributeElement |  | 0% |  | 0% | 4 | 4 | 9 | 9 | 2 | 2 | 1 | 1 |
| CrawlerSessionManagerValve.CrawlerHttpSessionBindingListener |  | 0% |  | 0% | 4 | 4 | 7 | 7 | 2 | 2 | 1 | 1 |
| AbstractAccessLogValve.RemoteAddressType |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 | 1 | 1 |
| AbstractAccessLogValve.PortType |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 | 1 | 1 |
| AbstractAccessLogValve.UserElement |  | 0% |  | 0% | 4 | 4 | 9 | 9 | 2 | 2 | 1 | 1 |
| StuckThreadDetectionValve.CompletedStuckThread |  | 0% | | n/a | 4 | 4 | 8 | 8 | 4 | 4 | 1 | 1 |
| AbstractAccessLogValve.QueryElement |  | 0% |  | 0% | 4 | 4 | 8 | 8 | 2 | 2 | 1 | 1 |
| ExtendedAccessLogValve.ElementTimestampStruct |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 | 1 | 1 |
| ExtendedAccessLogValve.new AbstractAccessLogValve.AccessLogElement() {...} |  | 0% |  | 0% | 3 | 3 | 6 | 6 | 2 | 2 | 1 | 1 |
| ExtendedAccessLogValve.new AbstractAccessLogValve.AccessLogElement() {...} |  | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| AbstractAccessLogValve.ThreadNameElement |  | 0% |  | 0% | 3 | 3 | 6 | 6 | 2 | 2 | 1 | 1 |
| ExtendedAccessLogValve.new AbstractAccessLogValve.AccessLogElement() {...} |  | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| ExtendedAccessLogValve.new AbstractAccessLogValve.AccessLogElement() {...} |  | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| ExtendedAccessLogValve.new AbstractAccessLogValve.AccessLogElement() {...} |  | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| ExtendedAccessLogValve.new AbstractAccessLogValve.AccessLogElement() {...} |  | 0% | | n/a | 2 | 2 | 8 | 8 | 2 | 2 | 1 | 1 |
| ExtendedAccessLogValve.ServletContextElement |  | 0% | | n/a | 2 | 2 | 5 | 5 | 2 | 2 | 1 | 1 |
| AbstractAccessLogValve.RequestURIElement |  | 0% |  | 0% | 3 | 3 | 5 | 5 | 2 | 2 | 1 | 1 |
| ExtendedAccessLogValve.ResponseHeaderElement |  | 0% | | n/a | 2 | 2 | 5 | 5 | 2 | 2 | 1 | 1 |
| ExtendedAccessLogValve.RequestHeaderElement |  | 0% | | n/a | 2 | 2 | 5 | 5 | 2 | 2 | 1 | 1 |
| ExtendedAccessLogValve.RequestAttributeElement |  | 0% | | n/a | 2 | 2 | 5 | 5 | 2 | 2 | 1 | 1 |
| ExtendedAccessLogValve.new AbstractAccessLogValve.AccessLogElement() {...} |  | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| ExtendedAccessLogValve.new AbstractAccessLogValve.AccessLogElement() {...} |  | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| ExtendedAccessLogValve.new AbstractAccessLogValve.AccessLogElement() {...} |  | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| ExtendedAccessLogValve.new AbstractAccessLogValve.AccessLogElement() {...} |  | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| ExtendedAccessLogValve.new AbstractAccessLogValve.AccessLogElement() {...} |  | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| ExtendedAccessLogValve.new AbstractAccessLogValve.AccessLogElement() {...} |  | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| ExtendedAccessLogValve.new AbstractAccessLogValve.AccessLogElement() {...} |  | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| AbstractAccessLogValve.StringElement |  | 0% | | n/a | 2 | 2 | 5 | 5 | 2 | 2 | 1 | 1 |
| JsonAccessLogValve.CharElement |  | 0% | | n/a | 2 | 2 | 5 | 5 | 2 | 2 | 1 | 1 |
| AbstractAccessLogValve.MethodElement |  | 0% |  | 0% | 3 | 3 | 4 | 4 | 2 | 2 | 1 | 1 |
| AbstractAccessLogValve.LogicalUserNameElement |  | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| Constants.AccessLog | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| Constants | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |