Monitoring

Skip to end of metadata
Go to start of metadata

Plugin Information

Plugin ID monitoring Changes In Latest Release
Since Latest Release
Latest Release
Latest Release Date
Required Core
Dependencies
1.50.0
Mar 27, 2014
1.424.1
Source Code
Issue Tracking
Maintainer(s)
GitHub
Open Issues
Emeric Vernat (id: evernat)
Usage Installations 2013-Apr 3193
2013-May 3283
2013-Jun 3379
2013-Jul 3647
2013-Aug 3712
2013-Sep 3859
2013-Oct 4004
2013-Nov 4052
2013-Dec 4073
2014-Jan 4428
2014-Feb 4665
2014-Mar 4896

Summary


 Monitoring plugin: Monitoring of Jenkins itself with JavaMelody. Open the report (or http://yourhost/monitoring) after installation.

Features summarized

  • Charts of memory, cpu, system load average, http response times by day, week, month, year or custom period
  • Statistics of http requests with mean response times, mean cpu times, mean response size by request and by day, week, month, year or custom period
  • Errors and logs
  • Current http requests
  • Threads
  • Heap histogram (instances and sizes by class)
  • Http sessions
  • Process list of OS
  • MBeans
  • Actions for GC, heap dump and invalidate session(s)
  • Report in html or pdf
  • In English, German, French, Portuguese or Chinese
  • Jenkins security
  • For Jenkins nodes (slaves in general):
    • The report for the nodes is available at http://yourhost/monitoring/nodes
    • Charts aggregated for all nodes of memory, cpu, system load average, number of running builds, build queue length, build times by period
    • Detailed statistics of the build times by period
    • Threads, process list and MBeans for each nodes
    • Heap histogram aggregated for all nodes
  • For each individual node (each node in http://yourhost/computer), reports and actions are available from the "Monitoring" page in the contextual menu or in the detail of the node (since v1.49):
    • Threads, process list, MBeans of that node only
    • Heap histogram of that node
    • Actions for GC, heap dump
  • And more...

Online help of JavaMelody

Some Monitoring Scripts can be executed using the Jenkins Script Console.
The "Monitoring" plugin can be installed by point and click in the plugin manager of a Jenkins server, or it can be downloaded from http://mirrors.jenkins-ci.org/plugins/monitoring/.

Release notes

1.50.0 (Mar 27, 2014)

  • Fix icons and links on some Jenkins servers in the new Monitoring page of individual nodes (JENKINS-20935)
  • fix issue issue 370: work around ConcurrentModificationException during Tomcat startup (which is a Tomcat bug)
  • fix issue issue 386: IllegalArgumentException: No enum const class ..., in Turkish
  • improved: In the US, depending on the browser's language or on the javamelody parameter "locale", the paper size is now Letter in the US, instead of A4 like in the other countries. (revision 3679, thanks to Dennis)
  • improved css styles: font finally fixed to Arial/Helvetica (revision 3718).
  • added: Menu. A floating button is available on the right of the main report to drag a menu in or out. The menu displays the list of chapters in the report and allows to jump easily between them (revision 3705).
  • added: Custom reports. Links to custom reports can be included in the floating menu described above.
    For that, add a system property named "javamelody.custom-reports". In the value of this system property, put the list of names of the custom reports separated with commas. Then for each custom report, add a system property with the same name and its path as value. By default, the following properties are already defined:
    -Djavamelody.custom-reports=JenkinsInfo,AboutMonitoring
    -Djavamelody.JenkinsInfo=/systemInfo
    -Djavamelody.AboutMonitoring=https://wiki.jenkins-ci.org/display/JENKINS/Monitoring

1.49.0 (Jan 12, 2014)

  • added: For each individual node (each slave in http://yourhost/computer), reports and actions are available from the "Monitoring" page in the contextual menu or in the detail of the node:
    • Threads, process list, MBeans of that node only
    • Heap histogram of that node
    • Actions for GC, heap dump
    • (JENKINS-20935, with help from Oleg Nenashev)
  • improved: When I call the "Invalidate http sessions" action, invalidate all sessions except mine (I can still invalidate my session individually after that)
  • improved: In the list of http sessions, a bullet shows which one is my own session, if I have a session
  • improved css styles with the come back of shadows in Firefox and with hovers for images, see JavaMelody Demo (revision 3614)

1.48.0 (Nov 20, 2013)

1.47.0 (Sep 29, 2013)

  • fix issue 339: "One day" memory leak
  • fix issue 346: XSS through X-Forwarded-For header spoofing
  • fix issue 232: Use the path of -XX:HeapDumpPath=/tmp if defined, for the directory of heap dump files (otherwise use the temp directory of the server as before)
  • added: detection of cpu hotspots can be enabled (issue 149, with some ideas from Cédric Lime).
    • In the monitoring reports, the new Hotspots screen displays CPU hotspots in executed methods for all the JVM. Like javamelody, the overhead of hotspots is low: it is based on sampling of stack-traces of threads, without instrumentation. And like javamelody, it is made to be always active if enabled. (It is currently not enabled by default. It may be enabled by default in the future.) Two parameters can be defined as system properties in the jenkins.xml file:
    • "javamelody.sampling-seconds" to enable the sampling and to define its period. A period of 10 seconds can be recommended to have the lowest overhead, but then a few hours may be needed to have significant results for a webapp under real use. If you don't mind having a bit more overhead or want a result faster in test, you can use a value of 1 or 0.1 in second for this parameter.
    • "javamelody.sampling-excluded-packages" to change the list of the excluded packages ("java,sun,com.sun,javax,org.apache,org.hibernate,oracle,org.postgresql,org.eclipse" by default)

1.46.0 (Aug 4, 2013)

  • fix JENKINS-17757 IllegalStateException: Timer already cancelled from NodesCollector.scheduleCollectNow
  • use a timeout for the monitoring of slaves, when a slave is online but does not respond
  • fix NPE when manually purging the obsolete monitoring files of slaves

1.45.0 (Jun 6, 2013)

  • added: button to kill a thread from the current requests (issue issue 302)
  • added: button to donate in the html reports, to better inform users of this possibility

1.44.0 (Mar 30, 2013)

  • fix: it is currently useless to display the sql hits for the current requests
  • fix: better aggregation of http requests in the statistics, for URLs /adjuncts/... and /$stapler/bound/... (also reduces the disk space used to store data)
  • fix issue 289, JENKINS-15529: NoClassDefFoundError: com/sun/management/OperatingSystemMXBean, in JBoss AS 7 without configuration of modules
  • page added: Some Monitoring Scripts can be executed using the Jenkins Script Console.

1.43.0 (Jan 27, 2013)

  • fix issue 270: French Canadians can't choose a customized period
  • fix: in the current requests, use the chosen period to display the statistics of mean times, besides the elapsed times
  • added: PDF report of the current requests
  • added: optional parameter "locale" to fix the locale of the reports, whatever the language in the browser (issue 271, thanks to xiukongtiao). You can add, for example, the system property -Djavamelody.locale=en_US

1.42.0 (Dec 2, 2012)

  • fix issue 262 NullPointerException in MonitoringFilter.doFilter(), when the webapp is undeployed and after a timeout
  • added: New alternative User Interface for the monitoring reports with a Rich Desktop Application. Highlights :
    • All reports and data like in the web UI
    • Exports to PDF, XML and JSON formats, even if the monitored application does not have the dependencies to do the same in the web UI
    • Tabs to view different reports
    • Columns of tables may be sorted, resized and moved
    • Exports with right-click for all tabular data to CSV, PDF, RTF, HTML, XML, JSON formats
    • Shortcuts, such as F5
    • Started in one-click with the "Desktop" link at the top of the web UI. The required libraries are downloaded automatically from googlecode on the first launch.
    • Uses JavaWebStart and requires JRE 1.7 on the client
    • This new UI may be an alternative to the web UI for advanced users or for exports

1.41.0 (Sep 30, 2012)

  • fix issue 252 Add XSS protection
  • fix issue 255 exception while collecting data java.io.FileNotFoundException: Could not open ....rrd existent

1.40.0 (Aug 26, 2012)

  • fix issue 14050, also for the monitoring reports of Nodes.
  • added in the external API: XML and JSON exports of MBeans, and of JNDI tree given a JNDI context path. Documentation is here. For example: MBeans and JNDI.

1.39.0 (Jun 21, 2012)

  • fix issue 14050, also when security is enabled in Jenkins: Unreadable HTML response for the monitoring reports. Compression of the monitoring reports is now disabled in the plugin and the reports will be compressed by Jenkins starting with v1.470.

1.38.0 (Jun 17, 2012)

  • fix issue 14050, but only when security is not enabled in Jenkins: Unreadable HTML response for the monitoring reports

1.37.0 (Apr 29, 2012)

  • fix issue 207: Incompatibility with servlet api 2.4 (Tomcat 5.5) in Monitoring plugin 1.36.0
  • added: Reduce the possibility of storage overload by deleting automatically the obsolete RRD files (which were not updated for the last 3 months), and which were for requests which do not exist anymore. Note: the size of existing RRD files is fixed for ever and old .ser.gz files are already automatically deleted after a year.
  • added: Display the disk usage of the storage at the bottom of the report

1.36.0 (Mar 30, 2012)

  • JavaMelody is used inside the Monitoring plugin. Thanks to CloudBees Jenkins CI, nightly build, javadoc and sources of JavaMelody are available.
    And there is a public demo of JavaMelody. It is based on the latest source in trunk and is continuously deployed. It is currently not a demo in Jenkins, but instead in an application with GWT, services and SQL.
    • First, you can play with this quick and dirty GWT application to have some data (thanks Benjamin)
    • Then you can view the charts and the statistics in the monitoring reports (no password)
  • Other notes:
    • fix blocking issue 194: The jrobin v1.5.9 artifacts are now available in the Maven central repository as you can see here. The external (and currently unreachable) repository in the javamelody pom is now useless and removed.
    • fix issue 201: Unable to render MBeans tree when some JMX-retrieval exception occurs
      added: if there are deadlocked threads in the JVM, print a warning message with the names of the deadlocked threads at the top of threads dump, like in the html and pdf reports (revision 2678)
    • This version requires a Servlet 2.5 container (fixed in 1.37.0)

1.35.0 (Feb 28, 2012)

  • fix issue 178: Since v1.32, "Nb of http sessions" is 0 and "View http sessions" is always empty.
  • added: graphic of "Build queue length" in the monitoring of nodes, next to the graphic of "Running builds" (done in Jenkins Hackathon, with help from Kohsuke Kawaguchi)
  • added: optional parameter (-Djavamelody.dns-lookups-disabled=true) to allow disabling of dns lookups with InetAddress.getLocalHost() to prevent long hangs on startup/shutdown in some particular environments (issue 181, thanks to r6squeegee)

1.34.0 (Jan 28, 2012)

  • Minor bugfixes such as fonts in the PDF reports for Chinese people, when the first PDF report was made for non Chinese people

1.33.0 (Nov 29, 2011)

  • fix issue 11293 Monitoring plugin not installed because of NoClassDefFoundError: org.slf4j.ILoggerFactory on IBM J9 JVM (rev 40073)

1.32.1 (Oct 14, 2011)

  • fix issue 151: a Java 1.6 dependency was introduced in 1.32.0 (NoSuchFieldError: ROOT)

1.32.0 (Oct 13, 2011)

  • fix issue 141: exception while collecting data java.io.IOException: Read failed, file xyz not mapped for I/O (after out of disk space)
  • added: Chinese translation, and fix display of Chinese characters in the JRobin graphics and in the PDF reports (issue 150)
  • added: Action "Generate a heap dump" added for IBM JDK like for Oracle JDK, patch by David Karlsen in the javamelody users' group
  • added: Add link "Dump threads as text" below the list of threads
  • added: Provide an url (monitoring?action=mail_test) to test sending a pdf report by mail (issue 145).

1.31.0 (Aug 14, 2011)

  • fix issue 128: Clean the shutdown process
  • To display the username in the list of http sessions, look at ACEGI_SECURITY_LAST_USERNAME if getRemoteUser() was null.

1.30.0 (Jul 15, 2011)

  • fix issue 116: MBeans overview does not work with java 1.5
  • fix issue 117: Sorting of numbers is based on String comparison in German
  • fix issue 122: Average number of requests per minutes seems to be wrong, with a single day in a custom period
  • fix issue 124: Start date removed from the text at the top of the monitoring page, except if the "All" period is selected.

1.29.0

  • fix issue 106: a few HTTP hits are lost in the statistics for the first hit(s) on new requests (no impact on statistics once requests are known)

1.28.0

  • fix issue 99: NullPointerException when displaying the list of process on AIX

1.27.0

  • added: pdf report of MBeans

1.26.0

  • fix issue 8344 (ClassNotFoundException: net.bull.javamelody.SessionListener)
  • added: Portuguese Brazil translation, including the online help, thanks to Luiz Gonzaga da Mata and Renan Oliveira da Cunha. This translation is the default for all Portuguese people. The first language in the browser settings should be Portuguese (pt) or Portuguese/Brazil (pt-br) to use it. The online help in Portuguese Brazil is also available.
  • added: in the nodes report, chart of the number of the running builds by period

1.25.0

  • fix some issues in the monitoring of Jenkins nodes when the operating systems of the nodes are heterogeneous
  • fix issue 80: Memory histogram should be supported on Mac OS X
  • added: if JRockit, display the JRockit specific MBeans
  • added: pdf reports of http sessions and of heap histogram

1.24.0

  • fix issue 74: "View OS Processes" does not work on MAC OS X Server
  • added: In the system actions, new view "MBeans" with the values and the descriptions of the attributes. (MBeans contain configuration and low-level data on the application server and on the JVM). The values are viewable but not writable and operations can not be performed.
  • added: Monitoring of the Jenkins nodes (slaves in general) similar to the monitoring of the Jenkins master.

    If the monitoring of the Jenkins master is available at http://localhost:8080/monitoring then the monitoring of the Jenkins nodes is available at http://localhost:8080/monitoring/nodes.

    The monitoring of the Jenkins nodes includes:
    • Aggregated "used memory" chart, aggregated "% cpu" chart (between 0 and 100) for day, week, month, year or a custom period.
    • Chart of the build times over time for the selected period
    • Other aggregated charts: % GC, threads count, loaded classes count, system load average, open file descriptors count and more for the selected period
    • Statistics of the build times for the selected period
    • Running builds with time elapsed
    • Threads informations for each node including name, state, stack-trace and an action to kill any thread
    • Heap histogram aggregated for all nodes
    • Current system informations for each node
    • MBeans for each node
    • Last values in charts and MBeans values. For example, the following URLs can be used: 1 and 2 (the plugin-authentication-disabled parameter could be used)
    • Process informations for each node
    • Actions to execute the GC or to generate a heap dump on each node

1.23.0

  • fix issue 66: Since tomcat 6.0.21 and when tomcat based authentication is used, session count is false and there is a possible memory leak for invalidated http sessions in v1.22.0. This is because of the changes for tomcat enhancement 45255. To tomcat experts: Isn't an http session supposed to die first before being able to born a second time?

1.22.0

  • fix: Maximum values in statistics could be incorrect
  • added major feature: graphic of the number of sessions and details on http sessions with the link in "System informations" (this is emulated without httpsessionlistener, because httpsessionlistener can't be used in Jenkins plugins)
  • added: If Jenkins security is enabled, the system property -Djavamelody.plugin-authentication-disabled=true can be added to a Jenkins server in order to disable authentication of the monitoring page in the Monitoring plugin and to be able to add the server to a javamelody centralized collect server. (A system property like -Djavamelody.allowed-addr-pattern=127\.0\.0\.1 can also be added with the ip address of the collect server)

1.21.0

  • fix to display the list of http sessions when Tomcat throws an exception "Session already invalidated"
  • fix to display the list of process when using Windows in Germany
  • added: If Tomcat or JBoss, new graphics in "Other charts" for the number of active http and ajp threads in the server, the number of bytes received per minute and the number of bytes sent per minute by the server.

1.20.0

  • added: German translation thanks to Ewald Arnold. We would like to have feedback here.
  • fix: In the html display of the current requests, put back the complete http request with query parameters and values, like it was displayed before v1.17.0

1.19.0

  • fix NumberFormatException requesting process information.
  • fix (removed) jndi link in Winstone.
  • added debugging logs.

1.18.0

  • other minor bugs fixed.

1.17.0

  • some minor bugs fixed.

1.15.1

  • change to reduce disk usage: Some common http requests are now aggregated in statistics, for example on build numbers.

The javamelody.http-transform-pattern parameter has now the default value of

/\d+/|/site/.+|avadoc/.+|/ws/.+|obertura/.+|estReport/.+|iolations/file/.+|/user/.+|/static/\w+/

and all matches in http URLs will be replaced by "$". Note that it is possible on each Jenkins server to change the value of this parameter with a system property -Djavamelody.http-transform-pattern=xxx in the java command line.

1.15.0

  • change to reduce disk usage: Graphics in http errors and in errors logs are no longer displayed

1.14.0

  • fix: There was an InternalError on ubuntu or debian using the tomcat package with jsvc

1.13.0

  • added: remember the last selected period (with a persistent cookie in the browser)
  • added: UI option to display graphs and statistics for custom periods, via fields of start and end dates of period to display

1.12.0

  • added: New charts "Threads count", "Loaded classes count", "Used non heap memory", "Used physical memory", "Used swap space" (displayed with the new link "Other charts")
  • added: Button to kill a java thread
  • added: parameters can now be specified in environment variables like in system properties or webapp context
  • added: new parameter "monitoring-path" to change the url "/monitoring" of the report to "/admin/monitoring" for example
  • added: new parameter "mail-periods" to change the period of mail reports from weekly to daily or monthly or a combination of the 3
  • added: display the version of JavaMelody at the bottom of the html and pdf reports
  • added: display of "ajax GET" or "ajax POST" in http requests names for ajax requests

1.10.0

  • English: For people outside US, UK and France, default language is now the default locale of the server or English.

1.9.0

  • Fix: The "Monitoring" link in "/manage" page did not work when Jenkins was in a servlet context (not in the root context of the server).
  • JavaMelody fix: someone had an exception in report on Solaris 10 (getPID)

1.8.2

  • Removed jdbc graphs as there is no database in Jenkins,
  • Removed sessions graph, values and links as the javamelody SessionListener can't be registered without modifying web.xml
  • Added a link in "/manage" page
  • Added checkPermission to check authentication if configured

1.8.1

  • Initial

Translations

Translations for other languages such as Spanish, Italian are welcomed.

The files to translate are:
in English: http://code.google.com/p/javamelody/source/browse/trunk/javamelody-core/src/main/resources/net/bull/javamelody/resource/translations.properties
the same in French: http://code.google.com/p/javamelody/source/browse/trunk/javamelody-core/src/main/resources/net/bull/javamelody/resource/translations_fr.properties
the same in German: http://code.google.com/p/javamelody/source/browse/trunk/javamelody-core/src/main/resources/net/bull/javamelody/resource/translations_de.properties
the same in Portuguese: http://code.google.com/p/javamelody/source/browse/trunk/javamelody-core/src/main/resources/net/bull/javamelody/resource/translations_pt.properties
the same in Chinese: http://code.google.com/p/javamelody/source/browse/trunk/javamelody-core/src/main/resources/net/bull/javamelody/resource/translations_zh.properties
If you want to do some translation notify me at evernat at free.fr, then I will include your files in next release.

Labels

Edit
plugin-misc plugin-misc Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.

Add Comment