From prwolfe at sandia.gov Mon May 8 12:56:22 2017 From: prwolfe at sandia.gov (Wolfenbarger, Paul R) Date: Mon, 8 May 2017 16:56:22 +0000 Subject: [CDash] [EXTERNAL] RE: slow label query In-Reply-To: <0863544ce310402a9d7b33b3f4f86cac@azdexchstore3.AZD.LOCAL> References: <0863544ce310402a9d7b33b3f4f86cac@azdexchstore3.AZD.LOCAL> Message-ID: I found some time and set up a copy of our installation, modified the build2test table as referenced in your mail thread and noted 2 things 1. I stopped getting duplicate entries in this table. Since our size is in the 10?s of millions anyway that is a welcome change. 2. Query times are not changed. Running explain on that query still shows a write to a temporary table. I will get a pull request together as I see this change as somewhat helpful, but it does not solve my initial problem ---------------------------------------------------------------------------------------- At the heart of science is an essential tension between two seemingly contradictory attitudes -- an openness to new ideas, no matter how bizarre or counterintuitive they may be, and the most ruthless skeptical scrutiny of all ideas, old and new. This is how deep truths are winnowed from deep nonsense. Of course, scientists make mistakes in trying to understand the world, but there is a built-in error-correcting mechanism: The collective enterprise of creative thinking and skeptical thinking together keeps the field on track. -- Carl Sagan, "The Fine Art of Baloney Detection" Paul R. Wolfenbarger, P.E., M.S. Computational Simulation Infrastructure DevOps Product Owner Sandia National Laboratories P.O. Box 5800 MS 0845 Albuquerque, NM 87185-0845 505-844-5458 phone prwolfe at sandia.gov ---------------------------------------------------------------------------------------- From: "Mat?j? Miroslav, Ing." Date: Monday, February 27, 2017 at 12:31 AM To: "Wolfenbarger, Paul R" Cc: "cdash at public.kitware.com" Subject: [EXTERNAL] RE: slow label query Hi Paul, As far as I know (but I am rather a C++ programmer like you than a DB expert), it is better to let MySQL do as much as possible and avoid the overhead of transfers and conversions between MySQL and PHP. I think your issue is related to my problem with build2test table performance that I described in the mail thread Optimizing build2test table. Unfortunately, I haven?t been able to test and push the solution yet but it is quite easy to implement in an existing installation: Just add the testid column as the second column to the buildid index for the build2test table. I have done it using PhpMyAdmin on my production machine. It took about 2 hours (for more than 100 million rows) and the submissions (which were the main issue for me) begun to be processed about 3 times faster after that. Hope this helps, Ing. Miroslav Mat?j? Programmer Analyst A?D Praha s.r.o. Technology Division Research and Development ?irovnick? 2/3146, 106 17 Prague Czech Republic Phone: +420 267 287 476 Web: www.azd.cz From: CDash [mailto:cdash-bounces at public.kitware.com] On Behalf Of Wolfenbarger, Paul R Sent: Thursday, February 23, 2017 5:35 PM To: cdash at public.kitware.com Subject: [CDash] slow label query I am hoping for someone with more sql understanding than I have to help with an issue. In api/v1/index.php at line 1004 there is a label query that is causing a bottleneck in my installation $label_query_base = "SELECT b2t.status, b2t.newstatus FROM build2test AS b2t INNER JOIN label2test AS l2t ON (l2t.testid=b2t.testid AND l2t.buildid=b2t.buildid) WHERE b2t.buildid = '$buildid' AND l2t.labelid IN $label_ids"; $label_filter_query = $label_query_base . $limit_sql; $labels_result = pdo_query($label_filter_query); This is returning two non-indexed fields from build2test and joining on indexed fields and since my build2test and label2test tables are each about 43 million records, this takes 20 to 300 seconds each. Multipled by at least 40 builds in the loop and you can see my issue. As a c++ programmer my first instinct was to split the query and make all the operations work on indexes. I did some queries at the command line and got sub-second returns from each query and the php would now look something like $testids = pdo_query( ?select testid from label2test where label2test.buildid=$buildid and label2test.labelid in $label_ids") ; $test_ids = implode("','", $testids) ; $label_filter_query = "select status, newstatus from build2test where buildid = $buildid and testid in $test_ids" ; However, from my reading it seems that multiple queries of this sort are frowned on in the sql world. Before I set up a test instance to check this out do any of you have any insight into how to re-structure the query to get the kind of performance I need? Thanks! ---------------------------------------------------------------------------------------- "If you understand what you're doing, you're not learning anything." -- A. L. Paul R. Wolfenbarger, P.E., M.S. Computational Simulation Infrastructure DevOps Product Owner Sandia National Laboratories P.O. Box 5800 MS 0845 Albuquerque, NM 87185-0845 505-844-5458 phone prwolfe at sandia.gov ---------------------------------------------------------------------------------------- -------------- next part -------------- An HTML attachment was scrubbed... URL: From daibane at sandia.gov Fri May 19 13:35:16 2017 From: daibane at sandia.gov (Ibanez, Daniel Alejandro) Date: Fri, 19 May 2017 17:35:16 +0000 Subject: [CDash] Reducing upload size Message-ID: <5F9B307D-D76B-4AF1-96E4-0BC483E3447B@sandia.gov> Hello, We operate the following site: http://my.cdash.org/index.php?project=Albany It seems that we?re exceeding the upload quota. I?m also told that the paid subscription plans are going away or gone. So the first question is: In the long-term is it a good idea for us to plan on hosting our own CDash instance? Will my.cdash.org be around much longer? We control the whole process using the scripting feature of CTest and a fairly elaborate set of scripts, for example see this important file: https://github.com/gahansen/Albany/blob/42f52bb3ab84deab088ef35448658e9aa12cec76/doc/LCM/build/snl_helpers.cmake Ideally, we would like to reduce the amount of information uploaded. My guess is the vast majority of the data is in test output. I know there is a way to stop CTest from printing test output to the console unless the test actually fails, is there an equivalent option that affects the uploaded XML file? Thanks, Dan -------------- next part -------------- An HTML attachment was scrubbed... URL: From DLRdave at aol.com Fri May 19 15:15:48 2017 From: DLRdave at aol.com (David Cole) Date: Fri, 19 May 2017 15:15:48 -0400 Subject: [CDash] Reducing upload size In-Reply-To: <5F9B307D-D76B-4AF1-96E4-0BC483E3447B@sandia.gov> References: <5F9B307D-D76B-4AF1-96E4-0BC483E3447B@sandia.gov> Message-ID: You can set the variable https://cmake.org/cmake/help/latest/variable/CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE.html in a CTestCustom file to limit the amount of output which is recorded in the uploaded XML files for passed tests. (Typically this output is the same from run to run, and does not need to be reported to the dashboard.) Since your project uses the stuff from Trilinos, I suspect there's a setting in there somewhere which sets this very high to make it easy for your devs to see the test output generated by "other computers". If you can find a way to set it in your project's CTestCustom file(s) then you should be able to reduce your uploaded volume of data significantly. I think the default value for this parameter is something like 1k. (You could check the CMake/CTest source code to verify.) HTH, David C. On Fri, May 19, 2017 at 1:35 PM, Ibanez, Daniel Alejandro wrote: > Hello, > > > > We operate the following site: > > > > http://my.cdash.org/index.php?project=Albany > > > > It seems that we?re exceeding the upload quota. > > I?m also told that the paid subscription plans are going away or gone. > > So the first question is: > > > > In the long-term is it a good idea for us to plan on hosting our own CDash > instance? Will my.cdash.org be around much longer? > > > > We control the whole process using the scripting feature of CTest and a > fairly elaborate set of scripts, for example see this important file: > > > > https://github.com/gahansen/Albany/blob/42f52bb3ab84deab088ef35448658e9aa12cec76/doc/LCM/build/snl_helpers.cmake > > > > Ideally, we would like to reduce the amount of information uploaded. My > guess is the vast majority of the data is in test output. I know there is a > way to stop CTest from printing test output to the console unless the test > actually fails, is there an equivalent option that affects the uploaded XML > file? > > > > Thanks, > > Dan > > > > > _______________________________________________ > CDash mailing list > CDash at public.kitware.com > http://public.kitware.com/mailman/listinfo/cdash > From daibane at sandia.gov Fri May 19 15:22:30 2017 From: daibane at sandia.gov (Ibanez, Daniel Alejandro) Date: Fri, 19 May 2017 19:22:30 +0000 Subject: [CDash] [EXTERNAL] Re: Reducing upload size In-Reply-To: References: <5F9B307D-D76B-4AF1-96E4-0BC483E3447B@sandia.gov> Message-ID: Thanks, David. We have full control of how to do this, so that?s good. I?m not familiar with CTestCustom (as opposed to CTestConfig), but here is my best guess at usage: 1. Create CTestCustom.cmake, put it next to the CTest script. 2. In the CTest script, do configure_file(${CMAKE_CURRENT_LIST_DIR}/CTestCustom.cmake ${CTEST_BINARY_DIRECTORY}/CTestCustom.cmake COPYONLY) prior to calling ctest_start(). Does that sound right? I?ll give it a try. Dan On 5/19/17, 1:15 PM, "David Cole" wrote: You can set the variable https://cmake.org/cmake/help/latest/variable/CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE.html in a CTestCustom file to limit the amount of output which is recorded in the uploaded XML files for passed tests. (Typically this output is the same from run to run, and does not need to be reported to the dashboard.) Since your project uses the stuff from Trilinos, I suspect there's a setting in there somewhere which sets this very high to make it easy for your devs to see the test output generated by "other computers". If you can find a way to set it in your project's CTestCustom file(s) then you should be able to reduce your uploaded volume of data significantly. I think the default value for this parameter is something like 1k. (You could check the CMake/CTest source code to verify.) HTH, David C. On Fri, May 19, 2017 at 1:35 PM, Ibanez, Daniel Alejandro wrote: > Hello, > > > > We operate the following site: > > > > http://my.cdash.org/index.php?project=Albany > > > > It seems that we?re exceeding the upload quota. > > I?m also told that the paid subscription plans are going away or gone. > > So the first question is: > > > > In the long-term is it a good idea for us to plan on hosting our own CDash > instance? Will my.cdash.org be around much longer? > > > > We control the whole process using the scripting feature of CTest and a > fairly elaborate set of scripts, for example see this important file: > > > > https://github.com/gahansen/Albany/blob/42f52bb3ab84deab088ef35448658e9aa12cec76/doc/LCM/build/snl_helpers.cmake > > > > Ideally, we would like to reduce the amount of information uploaded. My > guess is the vast majority of the data is in test output. I know there is a > way to stop CTest from printing test output to the console unless the test > actually fails, is there an equivalent option that affects the uploaded XML > file? > > > > Thanks, > > Dan > > > > > _______________________________________________ > CDash mailing list > CDash at public.kitware.com > http://public.kitware.com/mailman/listinfo/cdash > From DLRdave at aol.com Fri May 19 15:30:14 2017 From: DLRdave at aol.com (David Cole) Date: Fri, 19 May 2017 15:30:14 -0400 Subject: [CDash] [EXTERNAL] Re: Reducing upload size In-Reply-To: References: <5F9B307D-D76B-4AF1-96E4-0BC483E3447B@sandia.gov> Message-ID: Sounds like it will almost work. You'll also likely need a call to https://cmake.org/cmake/help/latest/command/ctest_read_custom_files.html#command:ctest_read_custom_files in your ctest script after the configure step. Let us know if it works out, David On Fri, May 19, 2017 at 3:22 PM, Ibanez, Daniel Alejandro wrote: > Thanks, David. > > We have full control of how to do this, so that?s good. > I?m not familiar with CTestCustom (as opposed to CTestConfig), > but here is my best guess at usage: > > 1. Create CTestCustom.cmake, put it next to the CTest script. > 2. In the CTest script, do > > configure_file(${CMAKE_CURRENT_LIST_DIR}/CTestCustom.cmake ${CTEST_BINARY_DIRECTORY}/CTestCustom.cmake COPYONLY) > > prior to calling ctest_start(). > > Does that sound right? > I?ll give it a try. > > Dan > > On 5/19/17, 1:15 PM, "David Cole" wrote: > > You can set the variable > https://cmake.org/cmake/help/latest/variable/CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE.html > in a CTestCustom file to limit the amount of output which is recorded > in the uploaded XML files for passed tests. (Typically this output is > the same from run to run, and does not need to be reported to the > dashboard.) > > Since your project uses the stuff from Trilinos, I suspect there's a > setting in there somewhere which sets this very high to make it easy > for your devs to see the test output generated by "other computers". > If you can find a way to set it in your project's CTestCustom file(s) > then you should be able to reduce your uploaded volume of data > significantly. > > I think the default value for this parameter is something like 1k. > (You could check the CMake/CTest source code to verify.) > > > HTH, > David C. > > > > On Fri, May 19, 2017 at 1:35 PM, Ibanez, Daniel Alejandro > wrote: > > Hello, > > > > > > > > We operate the following site: > > > > > > > > http://my.cdash.org/index.php?project=Albany > > > > > > > > It seems that we?re exceeding the upload quota. > > > > I?m also told that the paid subscription plans are going away or gone. > > > > So the first question is: > > > > > > > > In the long-term is it a good idea for us to plan on hosting our own CDash > > instance? Will my.cdash.org be around much longer? > > > > > > > > We control the whole process using the scripting feature of CTest and a > > fairly elaborate set of scripts, for example see this important file: > > > > > > > > https://github.com/gahansen/Albany/blob/42f52bb3ab84deab088ef35448658e9aa12cec76/doc/LCM/build/snl_helpers.cmake > > > > > > > > Ideally, we would like to reduce the amount of information uploaded. My > > guess is the vast majority of the data is in test output. I know there is a > > way to stop CTest from printing test output to the console unless the test > > actually fails, is there an equivalent option that affects the uploaded XML > > file? > > > > > > > > Thanks, > > > > Dan > > > > > > > > > > _______________________________________________ > > CDash mailing list > > CDash at public.kitware.com > > http://public.kitware.com/mailman/listinfo/cdash > > > > From prwolfe at sandia.gov Mon May 8 16:56:22 2017 From: prwolfe at sandia.gov (Wolfenbarger, Paul R) Date: Mon, 8 May 2017 16:56:22 +0000 Subject: [CDash] [EXTERNAL] RE: slow label query In-Reply-To: <0863544ce310402a9d7b33b3f4f86cac@azdexchstore3.AZD.LOCAL> References: <0863544ce310402a9d7b33b3f4f86cac@azdexchstore3.AZD.LOCAL> Message-ID: I found some time and set up a copy of our installation, modified the build2test table as referenced in your mail thread and noted 2 things 1. I stopped getting duplicate entries in this table. Since our size is in the 10?s of millions anyway that is a welcome change. 2. Query times are not changed. Running explain on that query still shows a write to a temporary table. I will get a pull request together as I see this change as somewhat helpful, but it does not solve my initial problem ---------------------------------------------------------------------------------------- At the heart of science is an essential tension between two seemingly contradictory attitudes -- an openness to new ideas, no matter how bizarre or counterintuitive they may be, and the most ruthless skeptical scrutiny of all ideas, old and new. This is how deep truths are winnowed from deep nonsense. Of course, scientists make mistakes in trying to understand the world, but there is a built-in error-correcting mechanism: The collective enterprise of creative thinking and skeptical thinking together keeps the field on track. -- Carl Sagan, "The Fine Art of Baloney Detection" Paul R. Wolfenbarger, P.E., M.S. Computational Simulation Infrastructure DevOps Product Owner Sandia National Laboratories P.O. Box 5800 MS 0845 Albuquerque, NM 87185-0845 505-844-5458 phone prwolfe at sandia.gov ---------------------------------------------------------------------------------------- From: "Mat?j? Miroslav, Ing." Date: Monday, February 27, 2017 at 12:31 AM To: "Wolfenbarger, Paul R" Cc: "cdash at public.kitware.com" Subject: [EXTERNAL] RE: slow label query Hi Paul, As far as I know (but I am rather a C++ programmer like you than a DB expert), it is better to let MySQL do as much as possible and avoid the overhead of transfers and conversions between MySQL and PHP. I think your issue is related to my problem with build2test table performance that I described in the mail thread Optimizing build2test table. Unfortunately, I haven?t been able to test and push the solution yet but it is quite easy to implement in an existing installation: Just add the testid column as the second column to the buildid index for the build2test table. I have done it using PhpMyAdmin on my production machine. It took about 2 hours (for more than 100 million rows) and the submissions (which were the main issue for me) begun to be processed about 3 times faster after that. Hope this helps, Ing. Miroslav Mat?j? Programmer Analyst A?D Praha s.r.o. Technology Division Research and Development ?irovnick? 2/3146, 106 17 Prague Czech Republic Phone: +420 267 287 476 Web: www.azd.cz From: CDash [mailto:cdash-bounces at public.kitware.com] On Behalf Of Wolfenbarger, Paul R Sent: Thursday, February 23, 2017 5:35 PM To: cdash at public.kitware.com Subject: [CDash] slow label query I am hoping for someone with more sql understanding than I have to help with an issue. In api/v1/index.php at line 1004 there is a label query that is causing a bottleneck in my installation $label_query_base = "SELECT b2t.status, b2t.newstatus FROM build2test AS b2t INNER JOIN label2test AS l2t ON (l2t.testid=b2t.testid AND l2t.buildid=b2t.buildid) WHERE b2t.buildid = '$buildid' AND l2t.labelid IN $label_ids"; $label_filter_query = $label_query_base . $limit_sql; $labels_result = pdo_query($label_filter_query); This is returning two non-indexed fields from build2test and joining on indexed fields and since my build2test and label2test tables are each about 43 million records, this takes 20 to 300 seconds each. Multipled by at least 40 builds in the loop and you can see my issue. As a c++ programmer my first instinct was to split the query and make all the operations work on indexes. I did some queries at the command line and got sub-second returns from each query and the php would now look something like $testids = pdo_query( ?select testid from label2test where label2test.buildid=$buildid and label2test.labelid in $label_ids") ; $test_ids = implode("','", $testids) ; $label_filter_query = "select status, newstatus from build2test where buildid = $buildid and testid in $test_ids" ; However, from my reading it seems that multiple queries of this sort are frowned on in the sql world. Before I set up a test instance to check this out do any of you have any insight into how to re-structure the query to get the kind of performance I need? Thanks! ---------------------------------------------------------------------------------------- "If you understand what you're doing, you're not learning anything." -- A. L. Paul R. Wolfenbarger, P.E., M.S. Computational Simulation Infrastructure DevOps Product Owner Sandia National Laboratories P.O. Box 5800 MS 0845 Albuquerque, NM 87185-0845 505-844-5458 phone prwolfe at sandia.gov ---------------------------------------------------------------------------------------- -------------- next part -------------- An HTML attachment was scrubbed... URL: From daibane at sandia.gov Fri May 19 17:35:16 2017 From: daibane at sandia.gov (Ibanez, Daniel Alejandro) Date: Fri, 19 May 2017 17:35:16 +0000 Subject: [CDash] Reducing upload size Message-ID: <5F9B307D-D76B-4AF1-96E4-0BC483E3447B@sandia.gov> Hello, We operate the following site: http://my.cdash.org/index.php?project=Albany It seems that we?re exceeding the upload quota. I?m also told that the paid subscription plans are going away or gone. So the first question is: In the long-term is it a good idea for us to plan on hosting our own CDash instance? Will my.cdash.org be around much longer? We control the whole process using the scripting feature of CTest and a fairly elaborate set of scripts, for example see this important file: https://github.com/gahansen/Albany/blob/42f52bb3ab84deab088ef35448658e9aa12cec76/doc/LCM/build/snl_helpers.cmake Ideally, we would like to reduce the amount of information uploaded. My guess is the vast majority of the data is in test output. I know there is a way to stop CTest from printing test output to the console unless the test actually fails, is there an equivalent option that affects the uploaded XML file? Thanks, Dan -------------- next part -------------- An HTML attachment was scrubbed... URL: From DLRdave at aol.com Fri May 19 19:15:48 2017 From: DLRdave at aol.com (David Cole) Date: Fri, 19 May 2017 15:15:48 -0400 Subject: [CDash] Reducing upload size In-Reply-To: <5F9B307D-D76B-4AF1-96E4-0BC483E3447B@sandia.gov> References: <5F9B307D-D76B-4AF1-96E4-0BC483E3447B@sandia.gov> Message-ID: You can set the variable https://cmake.org/cmake/help/latest/variable/CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE.html in a CTestCustom file to limit the amount of output which is recorded in the uploaded XML files for passed tests. (Typically this output is the same from run to run, and does not need to be reported to the dashboard.) Since your project uses the stuff from Trilinos, I suspect there's a setting in there somewhere which sets this very high to make it easy for your devs to see the test output generated by "other computers". If you can find a way to set it in your project's CTestCustom file(s) then you should be able to reduce your uploaded volume of data significantly. I think the default value for this parameter is something like 1k. (You could check the CMake/CTest source code to verify.) HTH, David C. On Fri, May 19, 2017 at 1:35 PM, Ibanez, Daniel Alejandro wrote: > Hello, > > > > We operate the following site: > > > > http://my.cdash.org/index.php?project=Albany > > > > It seems that we?re exceeding the upload quota. > > I?m also told that the paid subscription plans are going away or gone. > > So the first question is: > > > > In the long-term is it a good idea for us to plan on hosting our own CDash > instance? Will my.cdash.org be around much longer? > > > > We control the whole process using the scripting feature of CTest and a > fairly elaborate set of scripts, for example see this important file: > > > > https://github.com/gahansen/Albany/blob/42f52bb3ab84deab088ef35448658e9aa12cec76/doc/LCM/build/snl_helpers.cmake > > > > Ideally, we would like to reduce the amount of information uploaded. My > guess is the vast majority of the data is in test output. I know there is a > way to stop CTest from printing test output to the console unless the test > actually fails, is there an equivalent option that affects the uploaded XML > file? > > > > Thanks, > > Dan > > > > > _______________________________________________ > CDash mailing list > CDash at public.kitware.com > http://public.kitware.com/mailman/listinfo/cdash > From daibane at sandia.gov Fri May 19 19:22:30 2017 From: daibane at sandia.gov (Ibanez, Daniel Alejandro) Date: Fri, 19 May 2017 19:22:30 +0000 Subject: [CDash] [EXTERNAL] Re: Reducing upload size In-Reply-To: References: <5F9B307D-D76B-4AF1-96E4-0BC483E3447B@sandia.gov> Message-ID: Thanks, David. We have full control of how to do this, so that?s good. I?m not familiar with CTestCustom (as opposed to CTestConfig), but here is my best guess at usage: 1. Create CTestCustom.cmake, put it next to the CTest script. 2. In the CTest script, do configure_file(${CMAKE_CURRENT_LIST_DIR}/CTestCustom.cmake ${CTEST_BINARY_DIRECTORY}/CTestCustom.cmake COPYONLY) prior to calling ctest_start(). Does that sound right? I?ll give it a try. Dan On 5/19/17, 1:15 PM, "David Cole" wrote: You can set the variable https://cmake.org/cmake/help/latest/variable/CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE.html in a CTestCustom file to limit the amount of output which is recorded in the uploaded XML files for passed tests. (Typically this output is the same from run to run, and does not need to be reported to the dashboard.) Since your project uses the stuff from Trilinos, I suspect there's a setting in there somewhere which sets this very high to make it easy for your devs to see the test output generated by "other computers". If you can find a way to set it in your project's CTestCustom file(s) then you should be able to reduce your uploaded volume of data significantly. I think the default value for this parameter is something like 1k. (You could check the CMake/CTest source code to verify.) HTH, David C. On Fri, May 19, 2017 at 1:35 PM, Ibanez, Daniel Alejandro wrote: > Hello, > > > > We operate the following site: > > > > http://my.cdash.org/index.php?project=Albany > > > > It seems that we?re exceeding the upload quota. > > I?m also told that the paid subscription plans are going away or gone. > > So the first question is: > > > > In the long-term is it a good idea for us to plan on hosting our own CDash > instance? Will my.cdash.org be around much longer? > > > > We control the whole process using the scripting feature of CTest and a > fairly elaborate set of scripts, for example see this important file: > > > > https://github.com/gahansen/Albany/blob/42f52bb3ab84deab088ef35448658e9aa12cec76/doc/LCM/build/snl_helpers.cmake > > > > Ideally, we would like to reduce the amount of information uploaded. My > guess is the vast majority of the data is in test output. I know there is a > way to stop CTest from printing test output to the console unless the test > actually fails, is there an equivalent option that affects the uploaded XML > file? > > > > Thanks, > > Dan > > > > > _______________________________________________ > CDash mailing list > CDash at public.kitware.com > http://public.kitware.com/mailman/listinfo/cdash > From DLRdave at aol.com Fri May 19 19:30:14 2017 From: DLRdave at aol.com (David Cole) Date: Fri, 19 May 2017 15:30:14 -0400 Subject: [CDash] [EXTERNAL] Re: Reducing upload size In-Reply-To: References: <5F9B307D-D76B-4AF1-96E4-0BC483E3447B@sandia.gov> Message-ID: Sounds like it will almost work. You'll also likely need a call to https://cmake.org/cmake/help/latest/command/ctest_read_custom_files.html#command:ctest_read_custom_files in your ctest script after the configure step. Let us know if it works out, David On Fri, May 19, 2017 at 3:22 PM, Ibanez, Daniel Alejandro wrote: > Thanks, David. > > We have full control of how to do this, so that?s good. > I?m not familiar with CTestCustom (as opposed to CTestConfig), > but here is my best guess at usage: > > 1. Create CTestCustom.cmake, put it next to the CTest script. > 2. In the CTest script, do > > configure_file(${CMAKE_CURRENT_LIST_DIR}/CTestCustom.cmake ${CTEST_BINARY_DIRECTORY}/CTestCustom.cmake COPYONLY) > > prior to calling ctest_start(). > > Does that sound right? > I?ll give it a try. > > Dan > > On 5/19/17, 1:15 PM, "David Cole" wrote: > > You can set the variable > https://cmake.org/cmake/help/latest/variable/CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE.html > in a CTestCustom file to limit the amount of output which is recorded > in the uploaded XML files for passed tests. (Typically this output is > the same from run to run, and does not need to be reported to the > dashboard.) > > Since your project uses the stuff from Trilinos, I suspect there's a > setting in there somewhere which sets this very high to make it easy > for your devs to see the test output generated by "other computers". > If you can find a way to set it in your project's CTestCustom file(s) > then you should be able to reduce your uploaded volume of data > significantly. > > I think the default value for this parameter is something like 1k. > (You could check the CMake/CTest source code to verify.) > > > HTH, > David C. > > > > On Fri, May 19, 2017 at 1:35 PM, Ibanez, Daniel Alejandro > wrote: > > Hello, > > > > > > > > We operate the following site: > > > > > > > > http://my.cdash.org/index.php?project=Albany > > > > > > > > It seems that we?re exceeding the upload quota. > > > > I?m also told that the paid subscription plans are going away or gone. > > > > So the first question is: > > > > > > > > In the long-term is it a good idea for us to plan on hosting our own CDash > > instance? Will my.cdash.org be around much longer? > > > > > > > > We control the whole process using the scripting feature of CTest and a > > fairly elaborate set of scripts, for example see this important file: > > > > > > > > https://github.com/gahansen/Albany/blob/42f52bb3ab84deab088ef35448658e9aa12cec76/doc/LCM/build/snl_helpers.cmake > > > > > > > > Ideally, we would like to reduce the amount of information uploaded. My > > guess is the vast majority of the data is in test output. I know there is a > > way to stop CTest from printing test output to the console unless the test > > actually fails, is there an equivalent option that affects the uploaded XML > > file? > > > > > > > > Thanks, > > > > Dan > > > > > > > > > > _______________________________________________ > > CDash mailing list > > CDash at public.kitware.com > > http://public.kitware.com/mailman/listinfo/cdash > > > > From prwolfe at sandia.gov Mon May 8 16:56:22 2017 From: prwolfe at sandia.gov (Wolfenbarger, Paul R) Date: Mon, 8 May 2017 16:56:22 +0000 Subject: [CDash] [EXTERNAL] RE: slow label query In-Reply-To: <0863544ce310402a9d7b33b3f4f86cac@azdexchstore3.AZD.LOCAL> References: <0863544ce310402a9d7b33b3f4f86cac@azdexchstore3.AZD.LOCAL> Message-ID: I found some time and set up a copy of our installation, modified the build2test table as referenced in your mail thread and noted 2 things 1. I stopped getting duplicate entries in this table. Since our size is in the 10?s of millions anyway that is a welcome change. 2. Query times are not changed. Running explain on that query still shows a write to a temporary table. I will get a pull request together as I see this change as somewhat helpful, but it does not solve my initial problem ---------------------------------------------------------------------------------------- At the heart of science is an essential tension between two seemingly contradictory attitudes -- an openness to new ideas, no matter how bizarre or counterintuitive they may be, and the most ruthless skeptical scrutiny of all ideas, old and new. This is how deep truths are winnowed from deep nonsense. Of course, scientists make mistakes in trying to understand the world, but there is a built-in error-correcting mechanism: The collective enterprise of creative thinking and skeptical thinking together keeps the field on track. -- Carl Sagan, "The Fine Art of Baloney Detection" Paul R. Wolfenbarger, P.E., M.S. Computational Simulation Infrastructure DevOps Product Owner Sandia National Laboratories P.O. Box 5800 MS 0845 Albuquerque, NM 87185-0845 505-844-5458 phone prwolfe at sandia.gov ---------------------------------------------------------------------------------------- From: "Mat?j? Miroslav, Ing." Date: Monday, February 27, 2017 at 12:31 AM To: "Wolfenbarger, Paul R" Cc: "cdash at public.kitware.com" Subject: [EXTERNAL] RE: slow label query Hi Paul, As far as I know (but I am rather a C++ programmer like you than a DB expert), it is better to let MySQL do as much as possible and avoid the overhead of transfers and conversions between MySQL and PHP. I think your issue is related to my problem with build2test table performance that I described in the mail thread Optimizing build2test table. Unfortunately, I haven?t been able to test and push the solution yet but it is quite easy to implement in an existing installation: Just add the testid column as the second column to the buildid index for the build2test table. I have done it using PhpMyAdmin on my production machine. It took about 2 hours (for more than 100 million rows) and the submissions (which were the main issue for me) begun to be processed about 3 times faster after that. Hope this helps, Ing. Miroslav Mat?j? Programmer Analyst A?D Praha s.r.o. Technology Division Research and Development ?irovnick? 2/3146, 106 17 Prague Czech Republic Phone: +420 267 287 476 Web: www.azd.cz From: CDash [mailto:cdash-bounces at public.kitware.com] On Behalf Of Wolfenbarger, Paul R Sent: Thursday, February 23, 2017 5:35 PM To: cdash at public.kitware.com Subject: [CDash] slow label query I am hoping for someone with more sql understanding than I have to help with an issue. In api/v1/index.php at line 1004 there is a label query that is causing a bottleneck in my installation $label_query_base = "SELECT b2t.status, b2t.newstatus FROM build2test AS b2t INNER JOIN label2test AS l2t ON (l2t.testid=b2t.testid AND l2t.buildid=b2t.buildid) WHERE b2t.buildid = '$buildid' AND l2t.labelid IN $label_ids"; $label_filter_query = $label_query_base . $limit_sql; $labels_result = pdo_query($label_filter_query); This is returning two non-indexed fields from build2test and joining on indexed fields and since my build2test and label2test tables are each about 43 million records, this takes 20 to 300 seconds each. Multipled by at least 40 builds in the loop and you can see my issue. As a c++ programmer my first instinct was to split the query and make all the operations work on indexes. I did some queries at the command line and got sub-second returns from each query and the php would now look something like $testids = pdo_query( ?select testid from label2test where label2test.buildid=$buildid and label2test.labelid in $label_ids") ; $test_ids = implode("','", $testids) ; $label_filter_query = "select status, newstatus from build2test where buildid = $buildid and testid in $test_ids" ; However, from my reading it seems that multiple queries of this sort are frowned on in the sql world. Before I set up a test instance to check this out do any of you have any insight into how to re-structure the query to get the kind of performance I need? Thanks! ---------------------------------------------------------------------------------------- "If you understand what you're doing, you're not learning anything." -- A. L. Paul R. Wolfenbarger, P.E., M.S. Computational Simulation Infrastructure DevOps Product Owner Sandia National Laboratories P.O. Box 5800 MS 0845 Albuquerque, NM 87185-0845 505-844-5458 phone prwolfe at sandia.gov ---------------------------------------------------------------------------------------- -------------- next part -------------- An HTML attachment was scrubbed... URL: From daibane at sandia.gov Fri May 19 17:35:16 2017 From: daibane at sandia.gov (Ibanez, Daniel Alejandro) Date: Fri, 19 May 2017 17:35:16 +0000 Subject: [CDash] Reducing upload size Message-ID: <5F9B307D-D76B-4AF1-96E4-0BC483E3447B@sandia.gov> Hello, We operate the following site: http://my.cdash.org/index.php?project=Albany It seems that we?re exceeding the upload quota. I?m also told that the paid subscription plans are going away or gone. So the first question is: In the long-term is it a good idea for us to plan on hosting our own CDash instance? Will my.cdash.org be around much longer? We control the whole process using the scripting feature of CTest and a fairly elaborate set of scripts, for example see this important file: https://github.com/gahansen/Albany/blob/42f52bb3ab84deab088ef35448658e9aa12cec76/doc/LCM/build/snl_helpers.cmake Ideally, we would like to reduce the amount of information uploaded. My guess is the vast majority of the data is in test output. I know there is a way to stop CTest from printing test output to the console unless the test actually fails, is there an equivalent option that affects the uploaded XML file? Thanks, Dan -------------- next part -------------- An HTML attachment was scrubbed... URL: From DLRdave at aol.com Fri May 19 19:15:48 2017 From: DLRdave at aol.com (David Cole) Date: Fri, 19 May 2017 15:15:48 -0400 Subject: [CDash] Reducing upload size In-Reply-To: <5F9B307D-D76B-4AF1-96E4-0BC483E3447B@sandia.gov> References: <5F9B307D-D76B-4AF1-96E4-0BC483E3447B@sandia.gov> Message-ID: You can set the variable https://cmake.org/cmake/help/latest/variable/CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE.html in a CTestCustom file to limit the amount of output which is recorded in the uploaded XML files for passed tests. (Typically this output is the same from run to run, and does not need to be reported to the dashboard.) Since your project uses the stuff from Trilinos, I suspect there's a setting in there somewhere which sets this very high to make it easy for your devs to see the test output generated by "other computers". If you can find a way to set it in your project's CTestCustom file(s) then you should be able to reduce your uploaded volume of data significantly. I think the default value for this parameter is something like 1k. (You could check the CMake/CTest source code to verify.) HTH, David C. On Fri, May 19, 2017 at 1:35 PM, Ibanez, Daniel Alejandro wrote: > Hello, > > > > We operate the following site: > > > > http://my.cdash.org/index.php?project=Albany > > > > It seems that we?re exceeding the upload quota. > > I?m also told that the paid subscription plans are going away or gone. > > So the first question is: > > > > In the long-term is it a good idea for us to plan on hosting our own CDash > instance? Will my.cdash.org be around much longer? > > > > We control the whole process using the scripting feature of CTest and a > fairly elaborate set of scripts, for example see this important file: > > > > https://github.com/gahansen/Albany/blob/42f52bb3ab84deab088ef35448658e9aa12cec76/doc/LCM/build/snl_helpers.cmake > > > > Ideally, we would like to reduce the amount of information uploaded. My > guess is the vast majority of the data is in test output. I know there is a > way to stop CTest from printing test output to the console unless the test > actually fails, is there an equivalent option that affects the uploaded XML > file? > > > > Thanks, > > Dan > > > > > _______________________________________________ > CDash mailing list > CDash at public.kitware.com > http://public.kitware.com/mailman/listinfo/cdash > From daibane at sandia.gov Fri May 19 19:22:30 2017 From: daibane at sandia.gov (Ibanez, Daniel Alejandro) Date: Fri, 19 May 2017 19:22:30 +0000 Subject: [CDash] [EXTERNAL] Re: Reducing upload size In-Reply-To: References: <5F9B307D-D76B-4AF1-96E4-0BC483E3447B@sandia.gov> Message-ID: Thanks, David. We have full control of how to do this, so that?s good. I?m not familiar with CTestCustom (as opposed to CTestConfig), but here is my best guess at usage: 1. Create CTestCustom.cmake, put it next to the CTest script. 2. In the CTest script, do configure_file(${CMAKE_CURRENT_LIST_DIR}/CTestCustom.cmake ${CTEST_BINARY_DIRECTORY}/CTestCustom.cmake COPYONLY) prior to calling ctest_start(). Does that sound right? I?ll give it a try. Dan On 5/19/17, 1:15 PM, "David Cole" wrote: You can set the variable https://cmake.org/cmake/help/latest/variable/CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE.html in a CTestCustom file to limit the amount of output which is recorded in the uploaded XML files for passed tests. (Typically this output is the same from run to run, and does not need to be reported to the dashboard.) Since your project uses the stuff from Trilinos, I suspect there's a setting in there somewhere which sets this very high to make it easy for your devs to see the test output generated by "other computers". If you can find a way to set it in your project's CTestCustom file(s) then you should be able to reduce your uploaded volume of data significantly. I think the default value for this parameter is something like 1k. (You could check the CMake/CTest source code to verify.) HTH, David C. On Fri, May 19, 2017 at 1:35 PM, Ibanez, Daniel Alejandro wrote: > Hello, > > > > We operate the following site: > > > > http://my.cdash.org/index.php?project=Albany > > > > It seems that we?re exceeding the upload quota. > > I?m also told that the paid subscription plans are going away or gone. > > So the first question is: > > > > In the long-term is it a good idea for us to plan on hosting our own CDash > instance? Will my.cdash.org be around much longer? > > > > We control the whole process using the scripting feature of CTest and a > fairly elaborate set of scripts, for example see this important file: > > > > https://github.com/gahansen/Albany/blob/42f52bb3ab84deab088ef35448658e9aa12cec76/doc/LCM/build/snl_helpers.cmake > > > > Ideally, we would like to reduce the amount of information uploaded. My > guess is the vast majority of the data is in test output. I know there is a > way to stop CTest from printing test output to the console unless the test > actually fails, is there an equivalent option that affects the uploaded XML > file? > > > > Thanks, > > Dan > > > > > _______________________________________________ > CDash mailing list > CDash at public.kitware.com > http://public.kitware.com/mailman/listinfo/cdash > From DLRdave at aol.com Fri May 19 19:30:14 2017 From: DLRdave at aol.com (David Cole) Date: Fri, 19 May 2017 15:30:14 -0400 Subject: [CDash] [EXTERNAL] Re: Reducing upload size In-Reply-To: References: <5F9B307D-D76B-4AF1-96E4-0BC483E3447B@sandia.gov> Message-ID: Sounds like it will almost work. You'll also likely need a call to https://cmake.org/cmake/help/latest/command/ctest_read_custom_files.html#command:ctest_read_custom_files in your ctest script after the configure step. Let us know if it works out, David On Fri, May 19, 2017 at 3:22 PM, Ibanez, Daniel Alejandro wrote: > Thanks, David. > > We have full control of how to do this, so that?s good. > I?m not familiar with CTestCustom (as opposed to CTestConfig), > but here is my best guess at usage: > > 1. Create CTestCustom.cmake, put it next to the CTest script. > 2. In the CTest script, do > > configure_file(${CMAKE_CURRENT_LIST_DIR}/CTestCustom.cmake ${CTEST_BINARY_DIRECTORY}/CTestCustom.cmake COPYONLY) > > prior to calling ctest_start(). > > Does that sound right? > I?ll give it a try. > > Dan > > On 5/19/17, 1:15 PM, "David Cole" wrote: > > You can set the variable > https://cmake.org/cmake/help/latest/variable/CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE.html > in a CTestCustom file to limit the amount of output which is recorded > in the uploaded XML files for passed tests. (Typically this output is > the same from run to run, and does not need to be reported to the > dashboard.) > > Since your project uses the stuff from Trilinos, I suspect there's a > setting in there somewhere which sets this very high to make it easy > for your devs to see the test output generated by "other computers". > If you can find a way to set it in your project's CTestCustom file(s) > then you should be able to reduce your uploaded volume of data > significantly. > > I think the default value for this parameter is something like 1k. > (You could check the CMake/CTest source code to verify.) > > > HTH, > David C. > > > > On Fri, May 19, 2017 at 1:35 PM, Ibanez, Daniel Alejandro > wrote: > > Hello, > > > > > > > > We operate the following site: > > > > > > > > http://my.cdash.org/index.php?project=Albany > > > > > > > > It seems that we?re exceeding the upload quota. > > > > I?m also told that the paid subscription plans are going away or gone. > > > > So the first question is: > > > > > > > > In the long-term is it a good idea for us to plan on hosting our own CDash > > instance? Will my.cdash.org be around much longer? > > > > > > > > We control the whole process using the scripting feature of CTest and a > > fairly elaborate set of scripts, for example see this important file: > > > > > > > > https://github.com/gahansen/Albany/blob/42f52bb3ab84deab088ef35448658e9aa12cec76/doc/LCM/build/snl_helpers.cmake > > > > > > > > Ideally, we would like to reduce the amount of information uploaded. My > > guess is the vast majority of the data is in test output. I know there is a > > way to stop CTest from printing test output to the console unless the test > > actually fails, is there an equivalent option that affects the uploaded XML > > file? > > > > > > > > Thanks, > > > > Dan > > > > > > > > > > _______________________________________________ > > CDash mailing list > > CDash at public.kitware.com > > http://public.kitware.com/mailman/listinfo/cdash > > > >