300 likes | 453 Views
Gary Johnston, Performance Focal Point, Design Manager Server Architecture Team IBM Software, Rational Tuesday September 18, 2012. Design Manager Server Instrumentation Instrumentation Data Documentation. Contents. Introduction Overview Opening the instrumentation web page Controls & JVM
E N D
Gary Johnston, Performance Focal Point, Design Manager Server Architecture Team IBM Software, Rational Tuesday September 18, 2012 Design Manager Server InstrumentationInstrumentation Data Documentation
Contents • Introduction • Overview • Opening the instrumentation web page • Controls & JVM • Service provider activity • HttpClient usage activity
Introduction • These slides document the information displayed on the Design Manager Server Instrumentation web page. • It is assumed that instrumentation has already been installed and enabled on the server. Installation and enablement is documented elsewhere and is beyond the scope of these slides. • Instrumentation provides details on the internal state of a running Design Manager server that may be useful for problem determination and diagnosis, especially for performance-related issues. • Instrumentation data is intended primarily for those who are familiar with the architecture of Design Manager and other Jazz-based applications, and with JEE, HTTP, etc. • Some instrumentation data may make sense only to Design Management development.
Overview • Access instrumentation data on Design Manager server using web browser. • The instrumentation page has several sections. • JVM information • CPU & memory usage • Service provider activity • Service information (e.g., request paths) • Call response time statistics, with link to details • HttpClient usage activity • Information and statistics on each HttpClient used by Design Manager (for invoking other services) • Information and statistics on each open HTTP client connection • Provides ability to force garbage collection and reset all instrumentation data & statistics. Source: If applicable, describe source origin (date, author, publication)
Opening the Instrumentation web page • Browse to the instrumentation page that is now available on the Design Manager server: Source: If applicable, describe source origin (date, author, publication)
Controls & JVM Timestamp of when page was fetched.Refresh page to get updated data.
Controls & JVM Click to reset/clear instrumentation data.
Controls & JVM Click to force garbage collection. Results are reflected here.
Controls & JVM • Basic JVM information • Instance, vendor, version • Start time and uptime • Total CPU time used so far
Controls & JVM • CPU load details (as reported by the JVM) • Max is the useful one. • Min is almost always zero. • Current is usually zero.
Controls & JVM • JVM memory pools • Java heap – Java object instances. The main pool we're usually interested in, and almost always the largest. • Class storage – Where loaded classes reside. • JIT code & data caches – Where code compiled by the “just-in-time” bytecode compiler resides. • Miscellaneous non-heap storage
Controls & JVM • Current vs. Peak • Current – As of when page was loaded. • Peak – Maximum seen since JVM started.
Controls & JVM • Allocation types • Initial – Allocated when JVM started. • Used – How much is currently being used. This is typically what we're most interested in. • Committed – How much has been allocated from the host system. • Limit – The maximum it will attempt to allocate.
Controls & JVM • Garbage collection results • Appears only if someone has ever clicked the [GC] link at the top. • Last GC command – The time [GC] was most recently clicked. • Memory freed – The amount of memory freed as a result.
Service provider activity Provides information and statistics for each Design Manager service that has been invoked.
Service provider activity • Two subsections: • IRestService providers (here) – Top-level services • Annotated service providers (below) – Internally dispatched to by the AnnotationFrontService top-level service • The same information is provided for both kinds.
Service provider activity There is a table of information for each service that has been invoked.
Service provider activity • The caption shows: • The URIs that invoke the service • The class that implements the service • A developer-provided comment about the service (if any).
Service provider activity There is a row for each service method that has been invoked.
Service provider activity • Service Method Statistics • Count – The number of times its been invoked • Total Time – The total amount of time spent during all invocations • Mean/Min/Max – The average, minimum and maximum time, respectively, of all invocations • Std Dev – The standard deviation of the invocation times • Top – Next slide... • Active – Number of invocations in progress when the page was fetched • Max Active – The maximum number of concurrent invocations
Service provider activity Click on the “top” link to get a table of the top ten longest invocations. Shows the duration, start time, and URL
HttpClient usage activity Design Manager uses HttpClients to invoke other services (both internal and external). There is a table for each HttpClient that has been used.
HttpClient usage activity The caption shows instance information.
HttpClient usage activity • You'll probably only ever see a single row, “execute”, but others are possible. • Statistics for each row: • Count – Number of times its been invoked • Total Time – Total amount of time spent on all invocations • Mean/Min/Max – Average, minimum and maximum invocation times • Std Dev – Standard deviation of invocation times • Top – A link to details about the top ten longest invocations • Active – The number of invocations in progress when the page was fetched • Max Active – The most invocations that have been active at the same time
HttpClient usage activity • The table footer shows: • Instance information on the client's connection manager • The minimum, current and maximum simultaneously open connections for this client's connection manager
HttpClient usage activity There is a separate table that shows all currently active ClientConnectionManagers and the minimum, current and maximum number of open connections for each.
HttpClient usage activity The current total is important. If it keeps growing, it may mean Design Manager has a “connection leak”.
HttpClient usage activity • Finally, there is a table of open connections: • Connection Age – How long the connection has been open • Metrics Age – How long metrics have been being collected for this connection • Bytes Sent/Received – How many bytes of data have been sent and received on this connection • Request Sent / Responses Received – How many requests have been sent and responses received on this connection. • Extra – The target (other end) of this connection