Branch: refs/heads/master Home: https://github.com/jenkinsci/performance-plugin Commit: abdb63acd6f8e9985a34224fcfeaf20af3c755b4 https://github.com/jenkinsci/performance-plugin/commit/abdb63acd6f8e9985a34224fcfeaf20af3c755b4 Author: Bruno Verachten <gount...@gmail.com> Date: 2023-10-18 (Wed, 18 Oct 2023)
Changed paths: M Jenkinsfile M src/main/java/hudson/plugins/performance/PerformancePublisher.java M src/main/java/hudson/plugins/performance/PerformanceReportMap.java M src/main/java/hudson/plugins/performance/actions/PerformanceBuildAction.java M src/main/java/hudson/plugins/performance/actions/PerformanceProjectAction.java M src/main/java/hudson/plugins/performance/build/PerformanceTestBuild.java M src/main/java/hudson/plugins/performance/constraints/AbstractConstraint.java M src/main/java/hudson/plugins/performance/constraints/RelativeConstraint.java M src/main/java/hudson/plugins/performance/data/HttpSample.java M src/main/java/hudson/plugins/performance/parsers/AbstractParser.java M src/main/java/hudson/plugins/performance/parsers/IagoParser.java M src/main/java/hudson/plugins/performance/parsers/JMeterCsvParser.java M src/main/java/hudson/plugins/performance/parsers/JMeterParser.java M src/main/java/hudson/plugins/performance/parsers/JmeterSummarizerParser.java M src/main/java/hudson/plugins/performance/parsers/LocustParser.java M src/main/java/hudson/plugins/performance/parsers/ParserDetector.java M src/main/java/hudson/plugins/performance/parsers/TaurusParser.java M src/main/java/hudson/plugins/performance/parsers/WrkSummarizerParser.java M src/main/java/hudson/plugins/performance/reports/ConstraintReport.java M src/main/java/hudson/plugins/performance/reports/PerformanceReport.java M src/main/java/hudson/plugins/performance/reports/UriReport.java Log Message: ----------- Update parent POM, update dependencies, solve spotbug errors, test with Java 21 #105 (#243) * Test with Java 21. * Found reliance on default encoding [ERROR] High: Found reliance on default encoding in hudson.plugins.performance.PerformancePublisher.writeErrorThresholdReportInXML(Run, PerformanceReport): new java.io.FileWriter(File) [hudson.plugins.performance.PerformancePublisher] At PerformancePublisher.java:[line 650] DM_DEFAULT_ENCODING * Found reliance on default encoding [ERROR] High: Found reliance on default encoding in hudson.plugins.performance.PerformancePublisher.writeRelativeThresholdReportInXML(Run, StringBuilder, StringBuilder, StringBuilder): new java.io.FileWriter(File) [hudson.plugins.performance.PerformancePublisher] At PerformancePublisher.java:[line 884] DM_DEFAULT_ENCODING * Found reliance on default encoding [ERROR] High: Found reliance on default encoding in hudson.plugins.performance.PerformancePublisher.writeStandardResultsToXML(Run, Collection): new java.io.FileWriter(File) [hudson.plugins.performance.PerformancePublisher] At PerformancePublisher.java:[line 606] DM_DEFAULT_ENCODING * Possible null pointer dereference [ERROR] Medium: Possible null pointer dereference in hudson.plugins.performance.PerformancePublisher.evaluateInExpertMode(Run, FilePath, TaskListener) due to return value of called method [hudson.plugins.performance.PerformancePublisher, hudson.plugins.performance.PerformancePublisher] Dereferenced at PerformancePublisher.java:[line 1056]Known null at PerformancePublisher.java:[line 1056] NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE * Possible null pointer dereference [ERROR] Medium: Possible null pointer dereference in hudson.plugins.performance.PerformancePublisher.evaluateInExpertMode(Run, FilePath, TaskListener) due to return value of called method [hudson.plugins.performance.PerformancePublisher, hudson.plugins.performance.PerformancePublisher] Dereferenced at PerformancePublisher.java:[line 1055]Known null at PerformancePublisher.java:[line 1055] NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE * Possible null pointer dereference [ERROR] Medium: Possible null pointer dereference in hudson.plugins.performance.PerformancePublisher.evaluateInExpertMode(Run, FilePath, TaskListener) due to return value of called method [hudson.plugins.performance.PerformancePublisher, hudson.plugins.performance.PerformancePublisher] Dereferenced at PerformancePublisher.java:[line 1055]Known null at PerformancePublisher.java:[line 1055] NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE * Possible null pointer dereference [ERROR] Medium: Possible null pointer dereference in hudson.plugins.performance.PerformanceReportMap.parseReports(Run, TaskListener, PerformanceReportMap$PerformanceReportCollector, String) due to return value of called method [hudson.plugins.performance.PerformanceReportMap, hudson.plugins.performance.PerformanceReportMap] Method invoked at PerformanceReportMap.java:[line 515]Known null at PerformanceReportMap.java:[line 502] NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE * Possible null pointer dereference [ERROR] Medium: Possible null pointer dereference in hudson.plugins.performance.PerformanceReportMap.parseReports(Run, TaskListener, PerformanceReportMap$PerformanceReportCollector, String) due to return value of called method [hudson.plugins.performance.PerformanceReportMap, hudson.plugins.performance.PerformanceReportMap] Method invoked at PerformanceReportMap.java:[line 515]Known null at PerformanceReportMap.java:[line 502] NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE * inefficient use of keySet iterator instead of entrySet iterator [ERROR] Medium: hudson.plugins.performance.PerformanceReportMap.doSummarizerGraph(StaplerRequest, StaplerResponse) makes inefficient use of keySet iterator instead of entrySet iterator [hudson.plugins.performance.PerformanceReportMap] At PerformanceReportMap.java:[line 448] WMI_WRONG_MAP_ITERATOR * Inconsistent synchronization [ERROR] Medium: Inconsistent synchronization of hudson.plugins.performance.actions.PerformanceBuildAction.performanceReportMap; locked 66% of time [hudson.plugins.performance.actions.PerformanceBuildAction, hudson.plugins.performance.actions.PerformanceBuildAction, hudson.plugins.performance.actions.PerformanceBuildAction] Unsynchronized access at PerformanceBuildAction.java:[line 97]Synchronized access at PerformanceBuildAction.java:[line 79]Synchronized access at PerformanceBuildAction.java:[line 91] IS2_INCONSISTENT_SYNC * Possible null pointer dereference [ERROR] Medium: Possible null pointer dereference in hudson.plugins.performance.actions.PerformanceProjectAction.getPerformanceReportList() due to return value of called method [hudson.plugins.performance.actions.PerformanceProjectAction, hudson.plugins.performance.actions.PerformanceProjectAction] Dereferenced at PerformanceProjectAction.java:[line 786]Known null at PerformanceProjectAction.java:[line 786] NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE * Possible null pointer dereference [ERROR] Medium: Possible null pointer dereference in hudson.plugins.performance.actions.PerformanceProjectAction.getPerformanceReportList() due to return value of called method [hudson.plugins.performance.actions.PerformanceProjectAction, hudson.plugins.performance.actions.PerformanceProjectAction] Dereferenced at PerformanceProjectAction.java:[line 786]Known null at PerformanceProjectAction.java:[line 786] NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE * inefficient use of keySet iterator instead of entrySet iterator [ERROR] Medium: hudson.plugins.performance.PerformanceReportMap.doSummarizerGraph(StaplerRequest, StaplerResponse) makes inefficient use of keySet iterator instead of entrySet iterator [hudson.plugins.performance.PerformanceReportMap] At PerformanceReportMap.java:[line 449] WMI_WRONG_MAP_ITERATOR * Inconsistent synchronization [ERROR] Medium: Inconsistent synchronization of hudson.plugins.performance.actions.PerformanceBuildAction.performanceReportMap; locked 66% of time [hudson.plugins.performance.actions.PerformanceBuildAction, hudson.plugins.performance.actions.PerformanceBuildAction, hudson.plugins.performance.actions.PerformanceBuildAction] Unsynchronized access at PerformanceBuildAction.java:[line 99]Synchronized access at PerformanceBuildAction.java:[line 80]Synchronized access at PerformanceBuildAction.java:[line 93] IS2_INCONSISTENT_SYNC * Possible null pointer dereference [ERROR] Medium: Possible null pointer dereference in hudson.plugins.performance.actions.PerformanceProjectAction.getPerformanceReportList() due to return value of called method [hudson.plugins.performance.actions.PerformanceProjectAction, hudson.plugins.performance.actions.PerformanceProjectAction] Method invoked at PerformanceProjectAction.java:[line 783]Known null at PerformanceProjectAction.java:[line 783] NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE * getPerformanceReportMap() is unsynchronized, setPerformanceReportMap(WeakReference) is synchronized [ERROR] Medium: hudson.plugins.performance.actions.PerformanceBuildAction.getPerformanceReportMap() is unsynchronized, hudson.plugins.performance.actions.PerformanceBuildAction.setPerformanceReportMap(WeakReference) is synchronized [hudson.plugins.performance.actions.PerformanceBuildAction] At PerformanceBuildAction.java:[line 74] UG_SYNC_SET_UNSYNC_GET * Possible null pointer dereference [ERROR] Medium: Possible null pointer dereference in hudson.plugins.performance.actions.PerformanceProjectAction.getPerformanceReportList() due to return value of called method [hudson.plugins.performance.actions.PerformanceProjectAction, hudson.plugins.performance.actions.PerformanceProjectAction] Method invoked at PerformanceProjectAction.java:[line 785]Known null at PerformanceProjectAction.java:[line 785] NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE * [ERROR] Medium: hudson.plugins.performance.reports.UriReport defines compareTo(UriReport) and uses Object.equals() [hudson.plugins.performance.reports.UriReport] At UriReport.java:[lines 207-210] EQ_COMPARETO_USE_OBJECT_EQUALS * [ERROR] High: hudson.plugins.performance.reports.UriReport$Sample defines equals and uses Object.hashCode() [hudson.plugins.performance.reports.UriReport$Sample] At UriReport.java:[lines 631-635] HE_EQUALS_USE_HASHCODE * [ERROR] High: hudson.plugins.performance.reports.UriReport defines equals and uses Object.hashCode() [hudson.plugins.performance.reports.UriReport] At UriReport.java:[lines 214-217] HE_EQUALS_USE_HASHCODE * [ERROR] Medium: hudson.plugins.performance.reports.PerformanceReport defines compareTo(PerformanceReport) and uses Object.equals() [hudson.plugins.performance.reports.PerformanceReport] At PerformanceReport.java:[lines 255-258] EQ_COMPARETO_USE_OBJECT_EQUALS * Exceptional return value of java.io.File.mkdirs() ignored [ERROR] Medium: Exceptional return value of java.io.File.mkdirs() ignored in hudson.plugins.performance.reports.ConstraintReport.writeResultsToFile() [hudson.plugins.performance.reports.ConstraintReport] At ConstraintReport.java:[line 314] RV_RETURN_VALUE_IGNORED_BAD_PRACTICE * [ERROR] High: hudson.plugins.performance.reports.PerformanceReport defines equals and uses Object.hashCode() [hudson.plugins.performance.reports.PerformanceReport] At PerformanceReport.java:[lines 263-266] HE_EQUALS_USE_HASHCODE * [ERROR] High: Found reliance on default encoding in hudson.plugins.performance.reports.ConstraintReport.writeResultsToFile(): String.getBytes() [hudson.plugins.performance.reports.ConstraintReport] At ConstraintReport.java:[line 323] DM_DEFAULT_ENCODING * [ERROR] High: Found reliance on default encoding in hudson.plugins.performance.parsers.WrkSummarizerParser.parse(File): new java.util.Scanner(File) [hudson.plugins.performance.parsers.WrkSummarizerParser] At WrkSummarizerParser.java:[line 88] DM_DEFAULT_ENCODING * [ERROR] High: Boxing/unboxing to parse a primitive hudson.plugins.performance.parsers.TaurusParser.getTaurusFinalStats(Element) [hudson.plugins.performance.parsers.TaurusParser, hudson.plugins.performance.parsers.TaurusParser] At TaurusParser.java:[line 96]Another occurrence at TaurusParser.java:[line 100] DM_BOXED_PRIMITIVE_FOR_PARSING * Found reliance on default encoding [ERROR] High: Found reliance on default encoding in hudson.plugins.performance.parsers.ParserDetector.detect(String): new java.io.FileReader(File) [hudson.plugins.performance.parsers.ParserDetector] At ParserDetector.java:[line 34] DM_DEFAULT_ENCODING * Integral division result cast to double or float [ERROR] Medium: Integral division result cast to double or float in hudson.plugins.performance.parsers.LocustParser.parse(File) [hudson.plugins.performance.parsers.LocustParser] At LocustParser.java:[line 69] ICAST_IDIV_CAST_TO_DOUBLE * Found reliance on default encoding [ERROR] High: Found reliance on default encoding in hudson.plugins.performance.parsers.LocustParser.getCsvData(File): new java.io.FileReader(File) [hudson.plugins.performance.parsers.LocustParser] At LocustParser.java:[line 99] DM_DEFAULT_ENCODING * Found reliance on default encoding [ERROR] High: Found reliance on default encoding in hudson.plugins.performance.parsers.JmeterSummarizerParser.parse(File): new java.util.Scanner(File) [hudson.plugins.performance.parsers.JmeterSummarizerParser] At JmeterSummarizerParser.java:[line 53] DM_DEFAULT_ENCODING * Boxing/unboxing to parse a primitive [ERROR] High: Boxing/unboxing to parse a primitive hudson.plugins.performance.parsers.JMeterParser$1.startElement(String, String, String, Attributes) [hudson.plugins.performance.parsers.JMeterParser$1, hudson.plugins.performance.parsers.JMeterParser$1] At JMeterParser.java:[line 131]Another occurrence at JMeterParser.java:[line 139] DM_BOXED_PRIMITIVE_FOR_PARSING * Boxing/unboxing to parse a primitive [ERROR] High: Boxing/unboxing to parse a primitive hudson.plugins.performance.parsers.JMeterParser$1.startElement(String, String, String, Attributes) [hudson.plugins.performance.parsers.JMeterParser$1] At JMeterParser.java:[line 139] DM_BOXED_PRIMITIVE_FOR_PARSING * Found reliance on default encoding [ERROR] High: Found reliance on default encoding in hudson.plugins.performance.parsers.JMeterParser.isXmlFile(File): new java.io.FileReader(File) [hudson.plugins.performance.parsers.JMeterParser] At JMeterParser.java:[line 71] DM_DEFAULT_ENCODING * Found reliance on default encoding [ERROR] High: Found reliance on default encoding in hudson.plugins.performance.parsers.JMeterCsvParser.parse(File): new java.io.FileReader(File) [hudson.plugins.performance.parsers.JMeterCsvParser, hudson.plugins.performance.parsers.JMeterCsvParser] At JMeterCsvParser.java:[line 61]Another occurrence at JMeterCsvParser.java:[line 69] DM_DEFAULT_ENCODING * Boxing/unboxing to parse a primitive [ERROR] High: Boxing/unboxing to parse a primitive hudson.plugins.performance.parsers.JMeterCsvParser.getSample(CSVRecord) [hudson.plugins.performance.parsers.JMeterCsvParser] At JMeterCsvParser.java:[line 138] DM_BOXED_PRIMITIVE_FOR_PARSING * Found reliance on default encoding [ERROR] High: Found reliance on default encoding in hudson.plugins.performance.parsers.JMeterCsvParser.parse(File): new java.io.FileReader(File) [hudson.plugins.performance.parsers.JMeterCsvParser] At JMeterCsvParser.java:[line 58] DM_DEFAULT_ENCODING * Found reliance on default encoding [ERROR] High: Found reliance on default encoding in hudson.plugins.performance.parsers.IagoParser.parse(File): new java.io.FileReader(File) [hudson.plugins.performance.parsers.IagoParser] At IagoParser.java:[line 71] DM_DEFAULT_ENCODING * [ERROR] Medium: hudson.plugins.performance.parsers.AbstractParser.DATE_FORMATS should be package protected [hudson.plugins.performance.parsers.AbstractParser] At AbstractParser.java:[line 56] MS_PKGPROTECT * Boxing/unboxing to parse a primitive [ERROR] High: Boxing/unboxing to parse a primitive hudson.plugins.performance.parsers.AbstractParser.parseTimestamp(String) [hudson.plugins.performance.parsers.AbstractParser] At AbstractParser.java:[line 212] DM_BOXED_PRIMITIVE_FOR_PARSING * [ERROR] Medium: hudson.plugins.performance.data.HttpSample defines compareTo(HttpSample) and uses Object.equals() [hudson.plugins.performance.data.HttpSample] At HttpSample.java:[line 127] EQ_COMPARETO_USE_OBJECT_EQUALS * Possible null pointer dereference [ERROR] Medium: Possible null pointer dereference in hudson.plugins.performance.constraints.RelativeConstraint.evaluatePreviousBuilds(List) due to return value of called method [hudson.plugins.performance.constraints.RelativeConstraint, hudson.plugins.performance.constraints.RelativeConstraint] Dereferenced at RelativeConstraint.java:[line 475]Known null at RelativeConstraint.java:[line 475] NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE * [ERROR] High: hudson.plugins.performance.data.HttpSample defines equals and uses Object.hashCode() [hudson.plugins.performance.data.HttpSample] At HttpSample.java:[lines 132-135] HE_EQUALS_USE_HASHCODE * Possible null pointer dereference [ERROR] Medium: Possible null pointer dereference in hudson.plugins.performance.constraints.RelativeConstraint.evaluatePreviousBuilds(List) due to return value of called method [hudson.plugins.performance.constraints.RelativeConstraint, hudson.plugins.performance.constraints.RelativeConstraint] Dereferenced at RelativeConstraint.java:[line 473]Known null at RelativeConstraint.java:[line 473] NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE * [ERROR] High: hudson.plugins.performance.constraints.RelativeConstraint defines clone() but doesn't implement Cloneable [hudson.plugins.performance.constraints.RelativeConstraint] At RelativeConstraint.java:[line 267] CN_IMPLEMENTS_CLONE_BUT_NOT_CLONEABLE * [ERROR] Medium: hudson.plugins.performance.constraints.AbstractConstraint$Operator.setSelected(boolean) unconditionally sets the field isSelected [hudson.plugins.performance.constraints.AbstractConstraint$Operator] At AbstractConstraint.java:[line 287] ME_ENUM_FIELD_SETTER * Not a clonable object. * [ERROR] Medium: hudson.plugins.performance.constraints.AbstractConstraint$Metric.setSelected(boolean) unconditionally sets the field isSelected [hudson.plugins.performance.constraints.AbstractConstraint$Metric] At AbstractConstraint.java:[line 237] ME_ENUM_FIELD_SETTER * [ERROR] Medium: hudson.plugins.performance.build.PerformanceTestBuild.extractDefaultReportToWorkingDirectory(FilePath) may fail to clean up java.io.InputStream [hudson.plugins.performance.build.PerformanceTestBuild, hudson.plugins.performance.build.PerformanceTestBuild] Obligation to clean up resource created at PerformanceTestBuild.java:[line 431] is not dischargedPath continues at PerformanceTestBuild.java:[line 432] OBL_UNSATISFIED_OBLIGATION * Possible null pointer dereference [ERROR] Medium: Possible null pointer dereference in hudson.plugins.performance.build.PerformanceTestBuild.perform(Run, FilePath, Launcher, TaskListener) due to return value of called method [hudson.plugins.performance.build.PerformanceTestBuild, hudson.plugins.performance.build.PerformanceTestBuild] Dereferenced at PerformanceTestBuild.java:[line 149]Known null at PerformanceTestBuild.java:[line 149] NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE * [ERROR] Medium: hudson.plugins.performance.build.PerformanceTestBuild.CREATE_LOCAL_PYTHON_COMMAND_WITH_SYSTEM_PACKAGES_OPTION should be package protected [hudson.plugins.performance.build.PerformanceTestBuild] At PerformanceTestBuild.java:[line 53] MS_PKGPROTECT * [ERROR] Medium: hudson.plugins.performance.build.PerformanceTestBuild.CREATE_LOCAL_PYTHON_COMMAND should be package protected [hudson.plugins.performance.build.PerformanceTestBuild] At PerformanceTestBuild.java:[line 55] MS_PKGPROTECT * Possible null pointer dereference [ERROR] Medium: Possible null pointer dereference in hudson.plugins.performance.build.PerformanceTestBuild.perform(Run, FilePath, Launcher, TaskListener) due to return value of called method [hudson.plugins.performance.build.PerformanceTestBuild, hudson.plugins.performance.build.PerformanceTestBuild] Method invoked at PerformanceTestBuild.java:[line 146]Known null at PerformanceTestBuild.java:[line 146] NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE * [ERROR] Medium: hudson.plugins.performance.build.PerformanceTestBuild.CHECK_VIRTUALENV_COMMAND should be package protected [hudson.plugins.performance.build.PerformanceTestBuild] At PerformanceTestBuild.java:[line 48] MS_PKGPROTECT * Dead store to files [ERROR] Medium: Dead store to files in hudson.plugins.performance.actions.PerformanceProjectAction.getPerformanceReportList() [hudson.plugins.performance.actions.PerformanceProjectAction] At PerformanceProjectAction.java:[line 783] DLS_DEAD_LOCAL_STORE * Possible null pointer dereference [ERROR] Medium: Possible null pointer dereference in hudson.plugins.performance.actions.PerformanceProjectAction.getPerformanceReportList() due to return value of called method [hudson.plugins.performance.actions.PerformanceProjectAction, hudson.plugins.performance.actions.PerformanceProjectAction] Method invoked at PerformanceProjectAction.java:[line 786]Known null at PerformanceProjectAction.java:[line 786] NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE * Found reliance on default encoding [ERROR] High: Found reliance on default encoding in hudson.plugins.performance.build.PerformanceTestBuild.runCmd(String[], FilePath, OutputStream, Launcher, EnvVars): String.getBytes() [hudson.plugins.performance.build.PerformanceTestBuild, hudson.plugins.performance.build.PerformanceTestBuild] At PerformanceTestBuild.java:[line 419]Another occurrence at PerformanceTestBuild.java:[line 421] DM_DEFAULT_ENCODING * Found reliance on default encoding [ERROR] High: Found reliance on default encoding in hudson.plugins.performance.build.PerformanceTestBuild.runCmd(String[], FilePath, OutputStream, Launcher, EnvVars): String.getBytes() [hudson.plugins.performance.build.PerformanceTestBuild] At PerformanceTestBuild.java:[line 420] DM_DEFAULT_ENCODING * [ERROR] Medium: hudson.plugins.performance.constraints.AbstractConstraint$Escalation.setSelected(boolean) unconditionally sets the field isSelected [hudson.plugins.performance.constraints.AbstractConstraint$Escalation] At AbstractConstraint.java:[line 259] ME_ENUM_FIELD_SETTER -- You received this message because you are subscribed to the Google Groups "Jenkins Commits" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-commits+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-commits/jenkinsci/performance-plugin/push/refs/heads/master/f29bd3-abdb63%40github.com.