Skip to content

JetBrains/teamcity-dottrace

Repository files navigation

JetBrains dotTrace plugin for

This plugin provides the ability to run a build step under the JetBrains dotTrace Command-Line Profiler. It is integrated into all .NET-related TeamCity build runners.

How to Use It

The main purpose of the plugin is doing performance profiling as one of the continuous integration steps.

All you need is to:

  1. Write a number of integration tests that cover performance-critical functionality of your app.
  2. Add a 'unit testing' build step to your build configuration in TeamCity.
  3. In the build step parameters:
  • Enable Run build step under dotTrace profiler.
  • Set performance thresholds for your tests (or any of the underlying methods). The threshold can be set as an absolute number in ms for the method's own or total (own + call subtree) time. Another option is to check the method's execution time against previous successful builds.

That's it! Once the build is run, the plugin runs the tests and checks the execution time of the specified methods. If any of the thresholds are exceeded, the build is considered failed. After running the build step, dotTrace plugin saves a performance snapshot. Analyze it in the standalone dotTrace profiler and find out the cause of performance issues.

Installation

To install the plugin, put the zip archive to the 'plugins' directory under TeamCity data directory. Restart the server. JetBrains dotTrace command-line profiler is a free separate tool that contains a self-profiling API. To be used, the JetBrains dotTrace command-line profiler is required on each TeamCity agent where it will be run.

Implemention

This project contains 3 modules: 'dotTrace-server', 'dotTrace-agent', and 'dotTrace-common'. They contain code for the server and agent parts, and a common part available to both (agent and server). When implementing components for the server and agent parts, remember to update spring context files under 'main/resources/META-INF'. See TeamCity documentation for details on plugin development.

Build

Use the 'mvn package' command from the root project to build your plugin. The resulting package 'dotTrace.zip' will be placed in the 'target' directory. The build is configured on the JetBrains TeamCity build server.

License

The JetBrains dotTrace plugin for TeamCity is under the Apache License.

Contributors

Resources

Releases

No releases published

Packages

No packages published

Languages