Icon

Comments have been closed on this page. Please use AppMon & UEM Open Q & A forum for questions about this plugin.

Overview

 

The Performance Signature collects performance values during a build and evaluates and compares the result with previous builds and non-functional requirements. Several software tests can be run and evaluated automatically, so that the most important key performance indicators (KPI) can be summarized and be available for all project participants very quickly.

 

 

Name and Version

Performance Signature Plugin for Jenkins

Compatible with

Dynatrace AppMon >= 7.0; Dynatrace API Version 1

Author

Raphael Pionke, T-Systems Multimedia Solutions GmbH

License

Apache License 2.0

Support Level

Supported by T-Systems Multimedia Solutions GmbH

Download

Jenkins: via Plugin Manager or manual download

Hudson (deprecated): via Plugin Manager or manual download

PerfSigDashboards.dtp

Source Code

https://github.com/T-Systems-MMS/perfsig-jenkins

https://github.com/T-Systems-MMS/perfsig-hudson (deprecated)

DocumentationPerformance Signature Documentation

Awards

  • Winner of the Dynatrace Solution Innovation Award EMEA 2016 

  • Winner of the Dynatrace EMEA API Challenge 2018

Changelog

https://github.com/jenkinsci/performance-signature-dynatrace-plugin/blob/master/CHANGELOG.md

Documentation

https://github.com/jenkinsci/performance-signature-dynatrace-plugin/blob/master/README.md

 

  1. Anonymous (login to see details)

    I'm getting the following error when I try to install the latest plugin. Is it possible to eliminate these dependencies?

    Failure -
    java.io.IOException: Failed to dynamically deploy this plugin
    	at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:1317)
    	at hudson.model.UpdateCenter$DownloadJob.run(UpdateCenter.java:1116)
    	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    	at hudson.remoting.AtmostOneThreadExecutor$Worker.run(AtmostOneThreadExecutor.java:104)
    	at java.lang.Thread.run(Thread.java:745)
    Caused by: java.io.IOException: Failed to install performance-signature-dynatrace plugin
    	at hudson.PluginManager.dynamicLoad(PluginManager.java:450)
    	at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:1313)
    	... 5 more
    Caused by: java.io.IOException: Dependency junit (1.2-beta-4) doesn't exist
    	at hudson.PluginWrapper.resolvePluginDependencies(PluginWrapper.java:488)
    	at hudson.PluginManager.dynamicLoad(PluginManager.java:440)
    	... 6 more
  2. Anonymous (login to see details)

    Hi Magnus,

    you are trying to install the plugin offline manually. The plugin has 2 dependencies: credentials > 1.18 and junit > 1.2-beta-4

    If your Jenkins has no internet connection, you have to install the dependencies via plugin center:
    https://updates.jenkins-ci.org/download/plugins/junit/
    https://updates.jenkins-ci.org/download/plugins/credentials/

     

  3. Anonymous (login to see details)

    Hi, we tried to use this plugin and always end up at the last saying in pulling the report to Jenkins, any help is much appreciated we have been struggling to get this done from last 1 month or so

    verifying connection to Dynatrace server REST interface ...

    sleeping for the configured delay of 10 sec last successful build: #47 connection successful, getting reports for this build and testcase loadtest waiting for 10 more seconds to get the Dynatrace session ... 1 try out of 5 waiting for 10 more seconds to get the Dynatrace session ... 2 try out of 5 waiting for 10 more seconds to get the Dynatrace session ... 3 try out of 5 waiting for 10 more seconds to get the Dynatrace session ... 4 try out of 5 waiting for 10 more seconds to get the Dynatrace session ... 5 try out of 5 ERROR: Step ‘Publish Performance Signature reports’ aborted due to exception: de.tsystems.mms.apm.performancesignature.dynatrace.rest.RESTErrorException: session null is not available, cannot proceed with this build step!  at de.tsystems.mms.apm.performancesignature.dynatrace.PerfSigRecorder.perform(PerfSigRecorder.java:154)  at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:78)  at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)  at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:779)  at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:720)  at hudson.model.Build$BuildExecution.post2(Build.java:185)  at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:665)  at hudson.model.Run.execute(Run.java:1766)  at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)  at hudson.model.ResourceController.execute(ResourceController.java:98)  at hudson.model.Executor.run(Executor.java:410)

    1. Anonymous (login to see details)

      Hi Amardeep,

      which Jenkins version and plugin version do you use? Can you describe your job configuration? It is similar to the job configuration example in the plugin documentation? 

      1. Anonymous (login to see details)

        Hi Rahael,

         

        I am using Jenkins version 2.7.3  and plaugin is 2.3, I have done my scripts in JMeter, so the job configuration is a bit different from what is there in the screenshots. had all the privileges like what is described in the document

         

        I had configured Performance signature in Configure jenkins

        Job configuration details

        1. Start Recording 
        2. Invoke ANT (am running my build file)
        3. Stop Recording.
        4. Publish the Performance Signature Report.

        I also did some research and found that DT_TESTRUN_ID = ${dtTestrunID} have to be placed in environmental variables, hence also tried with below configuration

         

        1. Start Recording 
        2. Injecting Environmental variables
        3. Invoke ANT (am running my build file)
        4. Stop Recording.
        5. Publish the Performance Signature Report.


        Fournd that dtTestrunID which is being generated is not able to capture to pass as variables

        1. Anonymous (login to see details)

          I just wondering about the fact, that the session is null ... Can you please send me your console output to raphael.pionke@t-systems.com?
          Did you already defined a property "dtagent" like this: <property name="dtagent" value="-agentpath:/dynatrace/dynatrace-6.3/agent/lib64/libdtagent.so=name=Ant_JMeter,server=<DT_Server>,loglevel=warning" /> in your ant file?

          additionally you need to place this: <property environment="env"/> at the top of your ant file. Afterwards you can use ${env.DYNATRACE_TESTRUN_ID1} instead of ${dtTestrunID}. If you have more than one test run increase the TESTRUN_ID like this: <jvmarg value="${dtagent},optionTestRunIdJava=${env.DYNATRACE_TESTRUN_ID2}"/>

        2. Anonymous (login to see details)

          Hi Amardeep,

          we released a BugFix yesterday. Please upgrade to 2.3.1 to fix your adressed issue.

          1. Anonymous (login to see details)

            Hi Raphael,

             

            As you said I had updated plugin now the problem what I find is the session which is being created with name for example : "system profile name-jebnkinsbuild-testcasename" is not being created at Dynatarce, all it is doing is creating system profile name from offline, is their something am missing"  and because off this its not able to pull the report

  4. Anonymous (login to see details)

    I noticed 2 behaviors with the plugin.

    1.  The test name isn't appended to the end of session created.  For instance if I set a test case name of loadtest and have a profile called PROFILE1; on the Dynatrace server the session PROFILE1 is created without the loadtest suffix.
    2. The plugin removes spaces from the test cases.  I tried to add a space in the test case to see if it would pick up the session but I noticed the spaces were removed resulting in DT not able to find the session.

    Does anyone know why the suffix wouldn't be added to the session name and does the plugin have escape characters for spaces?

     

    1. Anonymous (login to see details)

      Hi Cedric,

      which Jenkins version and plugin version do you use? How did you configure your job?

      The plugin removes spaces, cause the Dynatrace REST interface has issues finding sessions with escaped characters in the session name.

      1. Anonymous (login to see details)

        Hi Raphael-

        Jenkins Version 2.16

        Performance Signature with Dynatrace version 2.3.0

        I setup the start and stop session and provided a test case name for the build.  I also added the Publish Performance Signature report to the post-build actions.

        My Dynatrace profile does contain spaces.

        1. Anonymous (login to see details)

          Hi Cedric,

          i use the following pipeline to verify your issue:

          We have a white space inside the profile name and everything works as expected. 

  5. Anonymous (login to see details)

    Hello!

    Some folks here started trying out this plugin and ran into an interesting problem, whereas everything with the integration seems to be working fine the reports that are being generated have no chart data  yet other information such as web requests shows up fine. I have tried opening up the reports via the REST interface and all of the charts show up fine so I am not sure where this could be breaking.

    Has anyone run into this or does anyone have any ideas?

    Thanks!

    James

    1. Anonymous (login to see details)

      It seems it may be an issue with the versions of Jenkins that are being used as some work while others do not. Regardless I think we have an understanding of the issue now. 

      James

  6. Anonymous (login to see details)

    Hi James,

    which Jenkins version do you use with which plugin version?

    Raphael

  7. Anonymous (login to see details)

    Hi,

    I have installed the Performance Signature plugin. I created a Jenkins job to test Performance Signature plugin.

    I am trying to get the environment variables in a .txt file after starting the recording of session.

    Batch file content - echo %DYNATRACE_TESTRUN_ID%> %workspace%\DynatraceID.txt

    Created a batch file with below command, to capture "DYNATRACE_TESTRUN_ID" in a text file. I cannot capture the Unique Alpha numeric id that is generated by the testRun API internal call. I get only "Echo On Statement" in the text file. But I am able to see the unique id on the console log though. 

    I have few other build parameters that I pass to the jenkins job, which I can capture the echo statements.

     

    My jenkins version is 1.625.3. Please help

    1. Anonymous (login to see details)

      Hi,

      you should use DYNATRACE_TESTRUN_ID1 to output the first TestRunId. The DYNATRACE_SESSIONCOUNT variable outputs the number of TestRuns in a build.

      Raphael

      1. Anonymous (login to see details)

        Hi Raphael

        It Worked. Great Thanks.

  8. Anonymous (login to see details)

    Hi 

    I overcame the environment variable issue I had. Now after the closing of Dynatrace session, when trying to connect to server get pdf, getting timeout errors.

    I have "Delay" = 60 and Retry Count" as 20. Still timeout.

    Can you please suggest if there are any other parameters to adjust. Console log given below with error at the bottom..

     

    starting session recording ...

    started recording on SIPD_IGECORE_PAC with session name SIPD_IGECORE_PAC_default_Build-13_CRUD_Test

    registering new TestRun
    started TestRun on SIPD_IGECORE_PAC with TestRunID 7ea296ea-b722-4022-aea9-1b0fab3ae2b6
    Dynatrace: registered test run 7ea296ea-b722-4022-aea9-1b0fab3ae2b6 (available as environment variables DYNATRACE_TESTRUN_ID and DYNATRACE_SESSIONCOUNT)
    [default] $ cmd /c call C:\Users\a599490\AppData\Local\Temp\2\hudson9190243158324742249.bat
    
    stopping session recording ...
    timeframe start: Tue Nov 15 12:05:05 EST 2016
    timeframe stop: Tue Nov 15 12:08:18 EST 2016
    stopped recording on SIPD_IGECORE_PAC with SessionName SIPD_IGECORE_PAC_default_Build-13_CRUD_Test
    [default] $ cmd /c call C:\Users\a599490\AppData\Local\Temp\2\hudson929932886752696529.bat
    
    Report archiving mode is set to: PUBLISH_HTML_REPORT
    Zipping report folder: C:\JENKINS\workspace\LoadTestJob_Trace_Plugin\default\8df16e
    verifying connection to Dynatrace server REST interface ...
    sleeping for the configured delay of 30 sec
    last successful build: #12
    connection successful, getting reports for this build and testcase CRUD_Test
    getting PDF report: Singlereport_SIPD_IGECORE_PAC_default_Build-13_CRUD_Test_PAF_Rest_Analysis.pdf
    ERROR: Build step failed with exception
    de.tsystems.mms.apm.performancesignature.dynatrace.rest.CommandExecutionException: error downloading PDF Report: Read timed out
    	at de.tsystems.mms.apm.performancesignature.dynatrace.rest.DTServerConnection.getPDFReport(DTServerConnection.java:542)
    	at de.tsystems.mms.apm.performancesignature.dynatrace.PerfSigRecorder.perform(PerfSigRecorder.java:161)
    	at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:75)
    	at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
    	at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:785)
    	at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:726)
    	at hudson.model.Build$BuildExecution.post2(Build.java:185)
    	at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:671)
    	at hudson.model.Run.execute(Run.java:1766)
    	at hudson.matrix.MatrixRun.run(MatrixRun.java:146)
    	at hudson.model.ResourceController.execute(ResourceController.java:98)
    	at hudson.model.Executor.run(Executor.java:408)
    Caused by: java.net.SocketTimeoutException: Read timed out
    	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    	at java.lang.reflect.Constructor.newInstance(Unknown Source)
    	at sun.net.www.protocol.http.HttpURLConnection$6.run(Unknown Source)
    	at sun.net.www.protocol.http.HttpURLConnection$6.run(Unknown Source)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at sun.net.www.protocol.http.HttpURLConnection.getChainedException(Unknown Source)
    	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
    	at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source)
    	at de.tsystems.mms.apm.performancesignature.dynatrace.rest.DTServerConnection.handleInputStream(DTServerConnection.java:228)
    	at de.tsystems.mms.apm.performancesignature.dynatrace.rest.DTServerConnection.getInputStream(DTServerConnection.java:192)
    	at de.tsystems.mms.apm.performancesignature.dynatrace.rest.DTServerConnection.getPDFReport(DTServerConnection.java:539)
    	... 11 more
    Build step 'Publish Performance Signature reports' marked build as failure
    Finished: FAILURE
    1. Anonymous (login to see details)

      Hi,

      the plugin has a hardcoded read timeout of 120 seconds. Your Dynatrace server is not able to generate PDF reports within this period of time.

      This issue is not plugin related, instead you should investigate why your Dynatrace server takes that long to generate a PDF report.

      1. Anonymous (login to see details)

        Hi Raphael

        We had to adjust the "Session" under Source tab on the Dashboard, to one of the most recent Sessions created by Jenkins build, through Dynatrace client. The default dashboard was pulling last 24 hours of data and hence , took long time(8 mins) to build, Hence the time out. After we changed the Session name, the PDF gets generated. The XML report is failing...Any thoughts would help.

        Also  I used "_webapi" as suffix to the testcase name. Is this valid. ?

         

        connection successful, getting reports for this build and testcase CRUD_Test_webapi
        getting PDF report: Singlereport_SIPD_IGECORE_PAC_default_Build-40_CRUD_Test_webapi_PAF_Rest_Analysis.pdf
        
        getting PDF report: Comparisonreport_SIPD_IGECORE_PAC_default_Build-40_39_CRUD_Test_webapi_PAF_Rest_Analysis.pdf
        
        parsing XML report
        
        ERROR: Step ‘Publish Performance Signature reports’ aborted due to exception: 
        de.tsystems.mms.apm.performancesignature.dynatrace.rest.RESTErrorException: failed to download Dynatrace XML report, xml report seems to be empty or contains no chartdashlets
        	at de.tsystems.mms.apm.performancesignature.dynatrace.PerfSigRecorder.perform(PerfSigRecorder.java:182)
        1. Anonymous (login to see details)

          Hi Martin,

          your XML report Dynatrace dashboard does not contain any chartdashlets. The plugin is only able to visualise chart dashlets.

          We created some sample Dynatrace dashboards here: https://github.com/T-Systems-MMS/perfsig-fastpack/

  9. Anonymous (login to see details)

    Hi

    I am using plugin but i am seeing the session are recording in my dynatrace warehouse  . i don't want to store the session in my dynatrace servers is there any way to restrict or anyway to delete automatically after the test .

    Please let me know if we have any options for this

    Regards,

    Venkat

     

    1. Anonymous (login to see details)

      Hi Venkat,

      unfortunately there is no option to automatically delete the recorded session. We are trying to implement this in version 2.5.

      Regards,

      Raphael

  10. Anonymous (login to see details)

    Hi all,

    We have disabled comments on this plugin page.

    Please use the AppMon & UEM Plugins forum for questions about this plugin.

    Sorry to interrupt ongoing discussions. Please re-post your last question in AppMon & UEM Plugins forum.