From jonathan.gibbons at oracle.com Mon Jun 17 11:35:00 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Mon, 17 Jun 2013 11:35:00 -0700 Subject: CodeTools proposal: "friday stats" Message-ID: <51BF56D4.9020603@oracle.com> Name: Friday Stats Summary: A collection of small custom utilities for analyzing the JDK code base. Proposed by: Jonathan Gibbons Rationale: For a while now, some developers on the JDK team have indulged in an occasional practice of generating and publishing "Friday stats". These are emails, typically on a Friday, containing interesting or useful statistics about the OpenJDK code base. The emails are intended to highlight issues needing attention and to highlight progress that has been made. Often, these emails are the result of creating and running small utility programs to analyze the code base and related files, like build logs. It is proposed that we should publish any such utilities to a new repo under the CodeTools umbrella. The goal is to make these utilities more widely available to anyone helping in "code cleanup" or reducing "technical debt" and to explore the usage of these utilities to provide "continuous monitoring" in a CI environment. A popular topic for these emails has been the number of warnings generated when building OpenJDK, which continues to be an issue, even though significant progress has been made on a number of fronts. There are three utilities that we would like publish in this area. 1. A tool to report on the number of lint and doclint messages found in a given set of packages in a project. 2. A tool to analyze a build log and categorize the many various messages that a generated. 3. A simple tool to remove the expected set of "informational" messages from a build log, leaving the set of messages that deserve attention. The number of such lines is also generated, to facilitate generating a trend graph to monitor progress over time. More details on these tools will be provided in due course. Although these initial utilities are focussed on warnings and other diagnostics occurring during an OpenJDK build, the name "Friday stats" is intended to be broad enough to include any utilities to generate any statistics about OpenJDK that might be of interest to OpenJDK developers while working on the OpenJDK code base.code- From stuart.marks at oracle.com Mon Jun 17 17:58:58 2013 From: stuart.marks at oracle.com (Stuart Marks) Date: Mon, 17 Jun 2013 17:58:58 -0700 Subject: CodeTools proposal: "friday stats" In-Reply-To: <51BFAB0A.4060501@oracle.com> References: <51BF56D4.9020603@oracle.com> <51BFAB0A.4060501@oracle.com> Message-ID: <51BFB0D2.6020502@oracle.com> Hi Jon, Great to see this moving forward! Speaking from the warnings cleanup experience, at one point I had posted an awk script to analyze build warnings, and at the time the best way to share it was ... on a wiki page. I heard that the LJC guys had made some changes, but I don't think I ever saw those changes, and they certainly weren't checked in anywhere. Not that this was a big deal. But it does show that even apparently simple things like that really ought to be in a repository where they can be shared and versioned consistently. Anyway I'm all for it. s'marks On 6/17/13 5:34 PM, Jonathan Gibbons wrote: > Subject: CodeTools proposal: "friday stats" > Date: Mon, 17 Jun 2013 11:35:00 -0700 > From: Jonathan Gibbons > To: code-tools-dev at openjdk.java.net > > > > Name: Friday Stats > > Summary: A collection of small custom utilities for analyzing the JDK > code base. > > Proposed by: Jonathan Gibbons > > Rationale: > > For a while now, some developers on the JDK team have indulged in an > occasional practice of generating and publishing "Friday stats". These > are emails, typically on a Friday, containing interesting or useful > statistics about the OpenJDK code base. The emails are intended to > highlight issues needing attention and to highlight progress that has > been made. > > Often, these emails are the result of creating and running small utility > programs to analyze the code base and related files, like build logs. It > is proposed that we should publish any such utilities to a new repo > under the CodeTools umbrella. The goal is to make these utilities more > widely available to anyone helping in "code cleanup" or reducing > "technical debt" and to explore the usage of these utilities to provide > "continuous monitoring" in a CI environment. > > A popular topic for these emails has been the number of warnings > generated when building OpenJDK, which continues to be an issue, even > though significant progress has been made on a number of fronts. There > are three utilities that we would like publish in this area. > > 1. A tool to report on the number of lint and doclint messages found in > a given set of packages in a project. > > 2. A tool to analyze a build log and categorize the many various > messages that a generated. > > 3. A simple tool to remove the expected set of "informational" messages > from a build log, leaving the set of messages that deserve attention. > The number of such lines is also generated, to facilitate generating a > trend graph to monitor progress over time. > > More details on these tools will be provided in due course. Although > these initial utilities are focussed on warnings and other diagnostics > occurring during an OpenJDK build, the name "Friday stats" is intended > to be broad enough to include any utilities to generate any statistics > about OpenJDK that might be of interest to OpenJDK developers while > working on the OpenJDK code base.code- > > > From aleksey.shipilev at oracle.com Mon Jun 17 23:43:39 2013 From: aleksey.shipilev at oracle.com (Aleksey Shipilev) Date: Tue, 18 Jun 2013 10:43:39 +0400 Subject: CodeTools proposal: "friday stats" In-Reply-To: <51BF56D4.9020603@oracle.com> References: <51BF56D4.9020603@oracle.com> Message-ID: <51C0019B.4070103@oracle.com> +1. On the related note, do we want to set up the Sonar [1] instance to analyze OpenJDK codebase? In my experience, _that_ really highlights the problematic areas. -Aleksey. [1] http://sonarsource.org/ On 06/17/2013 10:35 PM, Jonathan Gibbons wrote: > Name: Friday Stats > > Summary: A collection of small custom utilities for analyzing the JDK > code base. > > Proposed by: Jonathan Gibbons > > Rationale: > > For a while now, some developers on the JDK team have indulged in an > occasional practice of generating and publishing "Friday stats". These > are emails, typically on a Friday, containing interesting or useful > statistics about the OpenJDK code base. The emails are intended to > highlight issues needing attention and to highlight progress that has > been made. > > Often, these emails are the result of creating and running small utility > programs to analyze the code base and related files, like build logs. It > is proposed that we should publish any such utilities to a new repo > under the CodeTools umbrella. The goal is to make these utilities more > widely available to anyone helping in "code cleanup" or reducing > "technical debt" and to explore the usage of these utilities to provide > "continuous monitoring" in a CI environment. > > A popular topic for these emails has been the number of warnings > generated when building OpenJDK, which continues to be an issue, even > though significant progress has been made on a number of fronts. There > are three utilities that we would like publish in this area. > > 1. A tool to report on the number of lint and doclint messages found in > a given set of packages in a project. > > 2. A tool to analyze a build log and categorize the many various > messages that a generated. > > 3. A simple tool to remove the expected set of "informational" messages > from a build log, leaving the set of messages that deserve attention. > The number of such lines is also generated, to facilitate generating a > trend graph to monitor progress over time. > > More details on these tools will be provided in due course. Although > these initial utilities are focussed on warnings and other diagnostics > occurring during an OpenJDK build, the name "Friday stats" is intended > to be broad enough to include any utilities to generate any statistics > about OpenJDK that might be of interest to OpenJDK developers while > working on the OpenJDK code base.code- From richard.warburton at gmail.com Fri Jun 21 06:48:14 2013 From: richard.warburton at gmail.com (Richard Warburton) Date: Fri, 21 Jun 2013 14:48:14 +0100 Subject: JTreg Build/Documentation Feedback Message-ID: Hi, Just a bit of feedback on building jtreg myself. Compilation issues are with respect to building the hg head. *Java.net Projects* Documentation and links for jtharness and sigtest both point to the java.netsites. It looks like the code is now hosted in openjdk, in code tools. Is there any reason for the documentation to be somewhere totally different rather than standardised on the openjdk wiki? *Java 7* By default jtreg doesn't seem to compile with a java 7 JDK, because even though target is set to 5, source isn't set and the combination of source=7, target=5 isn't allowed. Proposal: when target is set to 5, set source to 5 as well or tell people to use a Java 6 jvm. *Optional Dependencies* Both junit and testng are listed as optional dependencies, but the default build (make -C make) fails without them available. It would be more friendly to have a better error message around this or not compile junit/testng specific code if the dependency is missing. *Directories* The make script seems to assume that the non-standard directory /java/devtools/share/ exists and puts junit and testng from that path on the classpath. I needed to create this directory and symbol /opt to it, even though junit and testng were in the places referred to by make/build.properties. Again this is using 'make -C make' regards, Dr. Richard Warburton http://insightfullogic.com @RichardWarburto From jonathan.gibbons at oracle.com Fri Jun 21 19:24:11 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Fri, 21 Jun 2013 19:24:11 -0700 Subject: New Code Tools repo: friday-stats Message-ID: <51C50ACB.7070701@oracle.com> I am pleased to announce that we have opened up a new repo in the Code Tools project to host small utility programs for analyzing OpenJDK. For more details, see http://openjdk.java.net/projects/code-tools/friday-stats/ -- Jon From aleksey.shipilev at oracle.com Wed Jun 26 10:05:55 2013 From: aleksey.shipilev at oracle.com (Aleksey Shipilev) Date: Wed, 26 Jun 2013 21:05:55 +0400 Subject: Proposal: Java Concurrency Stress tests (jcstress) Message-ID: <51CB1F73.8090808@oracle.com> Hi, I'd like to propose to include another project in Codetools Project at OpenJDK: ----8<--------------------------------------------------------------- Tool Name: Java Concurrency Stress tests (jcstress) Tool Purpose: jcstress is an experimental harness and a suite of tests to research on correctness of concurrency support in JVM, class libraries, and hardware. Proposed By: Aleksey Shipilev, Oracle, Java SE Performance team Rationale: Proper concurrency testing is black magic. The intricate effects of heavily concurrent code are not easily assertable, and so a test infrastructure is instrumental to get the correct and reliable tests ready. Such infrastructure requires significant expertise to design, build, run, and analyze. Also, the effects span the entire stack, starting from the language itself, then going down to class libraries, runtime, OS, and hardware, which requires a broad set of diverse configurations to perform the appropriate extensive research. By having this experimental project in the OpenJDK, we aim to further explore the testing methodology for the concurrent code, leverage the field experience of world-class experts, and feed on broad userbase to assess the test correctness and usability. ----8<--------------------------------------------------------------- Thanks, Aleksey. From jonathan.gibbons at oracle.com Wed Jun 26 16:04:12 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Wed, 26 Jun 2013 16:04:12 -0700 Subject: Proposal: Java Concurrency Stress tests (jcstress) In-Reply-To: <51CB1F73.8090808@oracle.com> References: <51CB1F73.8090808@oracle.com> Message-ID: <51CB736C.9010701@oracle.com> This sounds interesting and like it will be a good addition to the code-tools collection. -- Jon On 06/26/2013 10:05 AM, Aleksey Shipilev wrote: > Hi, > > I'd like to propose to include another project in Codetools Project at > OpenJDK: > > ----8<--------------------------------------------------------------- > > Tool Name: > Java Concurrency Stress tests (jcstress) > > Tool Purpose: > jcstress is an experimental harness and a suite of tests to research on > correctness of concurrency support in JVM, class libraries, and hardware. > > Proposed By: > Aleksey Shipilev, Oracle, Java SE Performance team > > Rationale: > Proper concurrency testing is black magic. The intricate effects of > heavily concurrent code are not easily assertable, and so a test > infrastructure is instrumental to get the correct and reliable tests > ready. Such infrastructure requires significant expertise to design, > build, run, and analyze. > > Also, the effects span the entire stack, starting from the language > itself, then going down to class libraries, runtime, OS, and hardware, > which requires a broad set of diverse configurations to perform the > appropriate extensive research. > > By having this experimental project in the OpenJDK, we aim to further > explore the testing methodology for the concurrent code, leverage the > field experience of world-class experts, and feed on broad userbase to > assess the test correctness and usability. > > ----8<--------------------------------------------------------------- > > Thanks, > Aleksey.