Server Profiling

General Info

Vendor JetBrains
License Apache 2.0
Type free, open-source

Plugin Description

Allows to take CPU and memory profiling snapshots of the TeamCity server right from the web UI.

Installation

  • Install the plugin (instructions). (The following files are available on the plugin download page.)
    1. remove any previous copy of the plugin if it was installed (remove serverProfile.jar and yjp-controller-api-redist.jar from WEB-INF/lib directory, ensure you do not have .BuildServer/plugins/serverProfiler directory)
    2. copy serverProfile.zip file into .BuildServer/plugins/directory
    3. copy files from the bin/<your platfom> directory on the plugin download page to the <TeamCity Installation Dir>/bin directory. Here <your platfom> is the name of your platform, like win32 for Windows XP, win-amd64 for Windows XP x64 Edition, etc.
      additional step for Linux OS:
      add <TeamCity Installation Dir>/bin to LD_LIBRARY_PATH environment variable (see also http://www.yourkit.com/docs/75/help/getting_started/running_with_profiler/agent.jsp)
    4. add -agentlib:yjpagent JVM parameter to the TeamCity server JVM. Please take a look at the TeamCity documentation on how to add new parameter: http://www.jetbrains.net/confluence/display/TCD4/TeamCity+Startup+Properties
      Note that -agentlib:yjpagent should be specified as is, without -D prefix.
      You can check that the parameter is set correctly by making sure the lines starting with "[YourKit Java Profiler 7.5.11]" appear in your server console/output.

Usage

To start the profiling navigate to the Administration > Server Configuration page, TeamCity Server Profiler section

  • On capturing the snapshot, the path to the saved snapshot is displayed. The profiling activity is logged into the server's console.
  • Send the profiling results to the TeamCity Developers with a description of the problem.

CPU Profiling

  • Click "Start" to start profiling
  • Perform the action to reproduce the CPU load
  • Click "Capture" to capture profiling snapshot, or "Cancel" to cancel profiling.

Memory Profiling

  • When you believe that the memory consumption by the TeamCity server process is high, click "Capture" to capture the snapshot.
    Please note the this operation blocks server until the snapshot is fully captured. The UI for all the server users will not be refreshed until the snapshot is taken.

Development links

Sources
Builds at JetBrains public TeamCity instance.

TeamCity Versions Compatibility

Use this build for TeamCity 4.0 - 4.0.2
Use latest successful build form the builds for TeamCity 4.5 and up.

History

Date Build Changes
January, 16, 2009 15 Changed plugin packaging into .zip, updated plugin installation instructions
January, 12, 2009 14 Added J2EE profiling option
...   updated plugin to match TeamCity 4.0
April, 24, 2008 17 Added memory capturing ability, UI facelift, better errors reporting
April, 21, 2008 15 Initial release

Download

Directly from public TeamCity server:
last stable build
last nightly build (may be unstable)

Labels

 
(None)