You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by "Uri Shachar (Created) (JIRA)" <ji...@apache.org> on 2012/02/02 10:07:54 UTC

[jira] [Created] (TS-1102) Cleanup obsolete debugging code

Cleanup obsolete debugging code
-------------------------------

                 Key: TS-1102
                 URL: https://issues.apache.org/jira/browse/TS-1102
             Project: Traffic Server
          Issue Type: Bug
          Components: Core, Logging, Performance
    Affects Versions: 3.0.2
         Environment: Any
            Reporter: Uri Shachar
            Priority: Minor


The current Diags.h D/EClosure mechanism is obsolete. ATS requires gcc >= 4.1 for all compilation environments, and it includes variadic argument macro support with ##_VA_ARGS_ that deletes the final comma if no arguments are provided.
Removing the added layer should also improve performance when high volume debugging is turned on.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (TS-1102) Cleanup obsolete debugging code

Posted by "Leif Hedstrom (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TS-1102?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13216124#comment-13216124 ] 

Leif Hedstrom commented on TS-1102:
-----------------------------------

Hah! Thanks. Should we close this for now, or you have more goodies coming this way ?
                
> Cleanup obsolete debugging code
> -------------------------------
>
>                 Key: TS-1102
>                 URL: https://issues.apache.org/jira/browse/TS-1102
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Core, Logging, Performance
>    Affects Versions: 3.0.2
>         Environment: Any
>            Reporter: Uri Shachar
>            Assignee: Leif Hedstrom
>            Priority: Minor
>             Fix For: 3.1.3
>
>         Attachments: ats.benchmark, diags_cleanup.patch, diags_perf_and_remove_debugon.patch, diags_remove_debugon.patch, remove_prefix_arg.patch, remove_prefix_arg_v2.patch, remove_prefix_arg_v3.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> The current Diags.h D/EClosure mechanism is obsolete. ATS requires gcc >= 4.1 for all compilation environments, and it includes variadic argument macro support with ##_VA_ARGS_ that deletes the final comma if no arguments are provided.
> Removing the added layer should also improve performance when high volume debugging is turned on.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (TS-1102) Cleanup obsolete debugging code

Posted by "Uri Shachar (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TS-1102?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Uri Shachar updated TS-1102:
----------------------------

    Attachment: remove_prefix_arg.patch

Added patch to remove the unused prefix argument (Includes the previous patch).
                
> Cleanup obsolete debugging code
> -------------------------------
>
>                 Key: TS-1102
>                 URL: https://issues.apache.org/jira/browse/TS-1102
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Core, Logging, Performance
>    Affects Versions: 3.0.2
>         Environment: Any
>            Reporter: Uri Shachar
>            Priority: Minor
>         Attachments: diags_cleanup.patch, remove_prefix_arg.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> The current Diags.h D/EClosure mechanism is obsolete. ATS requires gcc >= 4.1 for all compilation environments, and it includes variadic argument macro support with ##_VA_ARGS_ that deletes the final comma if no arguments are provided.
> Removing the added layer should also improve performance when high volume debugging is turned on.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (TS-1102) Cleanup obsolete debugging code

Posted by "Uri Shachar (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TS-1102?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Uri Shachar updated TS-1102:
----------------------------

    Attachment: diags_remove_debugon.patch

Add a final patch to remove the redundant DebugOn macro -- It doesn't save anything.
                
> Cleanup obsolete debugging code
> -------------------------------
>
>                 Key: TS-1102
>                 URL: https://issues.apache.org/jira/browse/TS-1102
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Core, Logging, Performance
>    Affects Versions: 3.0.2
>         Environment: Any
>            Reporter: Uri Shachar
>            Assignee: Leif Hedstrom
>            Priority: Minor
>             Fix For: 3.1.3
>
>         Attachments: diags_cleanup.patch, diags_remove_debugon.patch, remove_prefix_arg.patch, remove_prefix_arg_v2.patch, remove_prefix_arg_v3.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> The current Diags.h D/EClosure mechanism is obsolete. ATS requires gcc >= 4.1 for all compilation environments, and it includes variadic argument macro support with ##_VA_ARGS_ that deletes the final comma if no arguments are provided.
> Removing the added layer should also improve performance when high volume debugging is turned on.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (TS-1102) Cleanup obsolete debugging code

Posted by "Leif Hedstrom (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TS-1102?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13200789#comment-13200789 ] 

Leif Hedstrom commented on TS-1102:
-----------------------------------

I still get rejected hunks:

{code}
loki (08:12) 363/0 $ patch -p0 < remove_prefix_arg_v2.patch 
patching file lib/records/RecUtils.cc
patching file lib/ts/Diags.cc
patching file lib/ts/Diags.h
Hunk #4 FAILED at 242.
Hunk #5 FAILED at 358.
Hunk #6 succeeded at 437 (offset 8 lines).
2 out of 6 hunks FAILED -- saving rejects to file lib/ts/Diags.h.rej
patching file proxy/Error.cc
patching file proxy/InkAPI.cc
patching file proxy/DiagsConfig.cc
patching file mgmt/api/CoreAPI.cc
patching file mgmt/utils/MgmtUtils.cc
{code}

I'll look at it later tonight. Are you sure you're pulling the latest trunk (from git) ?
                
> Cleanup obsolete debugging code
> -------------------------------
>
>                 Key: TS-1102
>                 URL: https://issues.apache.org/jira/browse/TS-1102
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Core, Logging, Performance
>    Affects Versions: 3.0.2
>         Environment: Any
>            Reporter: Uri Shachar
>            Assignee: Leif Hedstrom
>            Priority: Minor
>             Fix For: 3.1.3
>
>         Attachments: diags_cleanup.patch, remove_prefix_arg.patch, remove_prefix_arg_v2.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> The current Diags.h D/EClosure mechanism is obsolete. ATS requires gcc >= 4.1 for all compilation environments, and it includes variadic argument macro support with ##_VA_ARGS_ that deletes the final comma if no arguments are provided.
> Removing the added layer should also improve performance when high volume debugging is turned on.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (TS-1102) Cleanup obsolete debugging code

Posted by "Leif Hedstrom (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TS-1102?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13203647#comment-13203647 ] 

Leif Hedstrom commented on TS-1102:
-----------------------------------

Yeah, all other build-bots are happy. And yes, icc is generally "gcc 4.x" compatible, and I think llvm tries to be as well. Solaris is well, Solaris, so no big surprise there ...

I have a Solaris build box I can test it on as well, but, this is why we have the buildbots in the first place. :) I'll probably spend some time next to get both icc and llvm to compile again, and then we should aim to get buildbots for those as well.

Thanks for taking the time to work on this, we really appreciate it, and of course, we welcome all new (and old :) committers to work with the project.
                
> Cleanup obsolete debugging code
> -------------------------------
>
>                 Key: TS-1102
>                 URL: https://issues.apache.org/jira/browse/TS-1102
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Core, Logging, Performance
>    Affects Versions: 3.0.2
>         Environment: Any
>            Reporter: Uri Shachar
>            Assignee: Leif Hedstrom
>            Priority: Minor
>             Fix For: 3.1.3
>
>         Attachments: diags_cleanup.patch, remove_prefix_arg.patch, remove_prefix_arg_v2.patch, remove_prefix_arg_v3.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> The current Diags.h D/EClosure mechanism is obsolete. ATS requires gcc >= 4.1 for all compilation environments, and it includes variadic argument macro support with ##_VA_ARGS_ that deletes the final comma if no arguments are provided.
> Removing the added layer should also improve performance when high volume debugging is turned on.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (TS-1102) Cleanup obsolete debugging code

Posted by "Leif Hedstrom (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TS-1102?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13214276#comment-13214276 ] 

Leif Hedstrom commented on TS-1102:
-----------------------------------

Hmmm, now I'm having a difficult time reproducing this consistently... I'll poke around some more tomorrow, but if you have any ideas, let me know.
                
> Cleanup obsolete debugging code
> -------------------------------
>
>                 Key: TS-1102
>                 URL: https://issues.apache.org/jira/browse/TS-1102
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Core, Logging, Performance
>    Affects Versions: 3.0.2
>         Environment: Any
>            Reporter: Uri Shachar
>            Assignee: Leif Hedstrom
>            Priority: Minor
>             Fix For: 3.1.3
>
>         Attachments: diags_cleanup.patch, diags_remove_debugon.patch, remove_prefix_arg.patch, remove_prefix_arg_v2.patch, remove_prefix_arg_v3.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> The current Diags.h D/EClosure mechanism is obsolete. ATS requires gcc >= 4.1 for all compilation environments, and it includes variadic argument macro support with ##_VA_ARGS_ that deletes the final comma if no arguments are provided.
> Removing the added layer should also improve performance when high volume debugging is turned on.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (TS-1102) Cleanup obsolete debugging code

Posted by "Leif Hedstrom (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TS-1102?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13203624#comment-13203624 ] 

Leif Hedstrom commented on TS-1102:
-----------------------------------

Yeah, sorry. What it really means is that we don't support e.g gcc 3.x and earlier. We still want to support as many "modern" compilers as possible, eg Intel icc and clang/llvm.

If you could, fixing this would be great.
                
> Cleanup obsolete debugging code
> -------------------------------
>
>                 Key: TS-1102
>                 URL: https://issues.apache.org/jira/browse/TS-1102
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Core, Logging, Performance
>    Affects Versions: 3.0.2
>         Environment: Any
>            Reporter: Uri Shachar
>            Assignee: Leif Hedstrom
>            Priority: Minor
>             Fix For: 3.1.3
>
>         Attachments: diags_cleanup.patch, remove_prefix_arg.patch, remove_prefix_arg_v2.patch, remove_prefix_arg_v3.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> The current Diags.h D/EClosure mechanism is obsolete. ATS requires gcc >= 4.1 for all compilation environments, and it includes variadic argument macro support with ##_VA_ARGS_ that deletes the final comma if no arguments are provided.
> Removing the added layer should also improve performance when high volume debugging is turned on.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (TS-1102) Cleanup obsolete debugging code

Posted by "Uri Shachar (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TS-1102?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13203646#comment-13203646 ] 

Uri Shachar commented on TS-1102:
---------------------------------

clang/llvm claim to support this out of the box.
Intel icc as well, though it might issue a warning about not being strict C99 compatible (depending on compiler version).

Solaris has #__VA_ARGS__ which does exactly the same thing (Missing the additional # just to be different :-( ), and might also require a "#pragma error_messages (off, E_ARGUEMENT_MISMATCH)".

I'll generate a patch for solaris compiler, but I don't have access to a solaris machine to test it.
Could you verify that the other build-bots pass ok before I get to work on this?
                
> Cleanup obsolete debugging code
> -------------------------------
>
>                 Key: TS-1102
>                 URL: https://issues.apache.org/jira/browse/TS-1102
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Core, Logging, Performance
>    Affects Versions: 3.0.2
>         Environment: Any
>            Reporter: Uri Shachar
>            Assignee: Leif Hedstrom
>            Priority: Minor
>             Fix For: 3.1.3
>
>         Attachments: diags_cleanup.patch, remove_prefix_arg.patch, remove_prefix_arg_v2.patch, remove_prefix_arg_v3.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> The current Diags.h D/EClosure mechanism is obsolete. ATS requires gcc >= 4.1 for all compilation environments, and it includes variadic argument macro support with ##_VA_ARGS_ that deletes the final comma if no arguments are provided.
> Removing the added layer should also improve performance when high volume debugging is turned on.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (TS-1102) Cleanup obsolete debugging code

Posted by "Uri Shachar (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TS-1102?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Uri Shachar updated TS-1102:
----------------------------

    Attachment: ats.benchmark
                diags_perf_and_remove_debugon.patch

First thing first: --disable-diags does not do anything (it sets TS_USE_DIAGS to 0 but Diags.h tests if is defined or not)....

I haven't been able to reproduce anything close to a 15% degradation, but i have seen 1.7%. Looks like the increased overhead of always calling the multiple argument function outweighs everything else. When I do:
-#define Diag(tag, fmt, ...) diags>log(tag, DTA(DL_Diag), fmt, ##_VA_ARGS_)
+#define Diag(tag, fmt, ...) if (diags->on()) diags->log(tag, DTA(DL_Diag), fmt, ##_VA_ARGS_)

We get the slight perf boost I expected when a tag is turned on, and no impact when diags is turned off.
Attaching a patch (with the DebugOn removal) + the benchmark results that I got.

                
> Cleanup obsolete debugging code
> -------------------------------
>
>                 Key: TS-1102
>                 URL: https://issues.apache.org/jira/browse/TS-1102
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Core, Logging, Performance
>    Affects Versions: 3.0.2
>         Environment: Any
>            Reporter: Uri Shachar
>            Assignee: Leif Hedstrom
>            Priority: Minor
>             Fix For: 3.1.3
>
>         Attachments: ats.benchmark, diags_cleanup.patch, diags_perf_and_remove_debugon.patch, diags_remove_debugon.patch, remove_prefix_arg.patch, remove_prefix_arg_v2.patch, remove_prefix_arg_v3.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> The current Diags.h D/EClosure mechanism is obsolete. ATS requires gcc >= 4.1 for all compilation environments, and it includes variadic argument macro support with ##_VA_ARGS_ that deletes the final comma if no arguments are provided.
> Removing the added layer should also improve performance when high volume debugging is turned on.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (TS-1102) Cleanup obsolete debugging code

Posted by "Uri Shachar (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TS-1102?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13200927#comment-13200927 ] 

Uri Shachar commented on TS-1102:
---------------------------------

Sigh... you are right -- SVN updates stopped more than a week ago... 
The commit for TS-1084 breaks my patch.
                
> Cleanup obsolete debugging code
> -------------------------------
>
>                 Key: TS-1102
>                 URL: https://issues.apache.org/jira/browse/TS-1102
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Core, Logging, Performance
>    Affects Versions: 3.0.2
>         Environment: Any
>            Reporter: Uri Shachar
>            Assignee: Leif Hedstrom
>            Priority: Minor
>             Fix For: 3.1.3
>
>         Attachments: diags_cleanup.patch, remove_prefix_arg.patch, remove_prefix_arg_v2.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> The current Diags.h D/EClosure mechanism is obsolete. ATS requires gcc >= 4.1 for all compilation environments, and it includes variadic argument macro support with ##_VA_ARGS_ that deletes the final comma if no arguments are provided.
> Removing the added layer should also improve performance when high volume debugging is turned on.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Closed] (TS-1102) Cleanup obsolete debugging code

Posted by "Uri Shachar (Closed) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TS-1102?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Uri Shachar closed TS-1102.
---------------------------

    Resolution: Fixed
    
> Cleanup obsolete debugging code
> -------------------------------
>
>                 Key: TS-1102
>                 URL: https://issues.apache.org/jira/browse/TS-1102
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Core, Logging, Performance
>    Affects Versions: 3.0.2
>         Environment: Any
>            Reporter: Uri Shachar
>            Assignee: Leif Hedstrom
>            Priority: Minor
>             Fix For: 3.1.3
>
>         Attachments: ats.benchmark, diags_cleanup.patch, diags_perf_and_remove_debugon.patch, diags_remove_debugon.patch, remove_prefix_arg.patch, remove_prefix_arg_v2.patch, remove_prefix_arg_v3.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> The current Diags.h D/EClosure mechanism is obsolete. ATS requires gcc >= 4.1 for all compilation environments, and it includes variadic argument macro support with ##_VA_ARGS_ that deletes the final comma if no arguments are provided.
> Removing the added layer should also improve performance when high volume debugging is turned on.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (TS-1102) Cleanup obsolete debugging code

Posted by "Leif Hedstrom (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TS-1102?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13214285#comment-13214285 ] 

Leif Hedstrom commented on TS-1102:
-----------------------------------

Yeah, I'm still seeing the performance problem :/. Doh.
                
> Cleanup obsolete debugging code
> -------------------------------
>
>                 Key: TS-1102
>                 URL: https://issues.apache.org/jira/browse/TS-1102
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Core, Logging, Performance
>    Affects Versions: 3.0.2
>         Environment: Any
>            Reporter: Uri Shachar
>            Assignee: Leif Hedstrom
>            Priority: Minor
>             Fix For: 3.1.3
>
>         Attachments: diags_cleanup.patch, diags_remove_debugon.patch, remove_prefix_arg.patch, remove_prefix_arg_v2.patch, remove_prefix_arg_v3.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> The current Diags.h D/EClosure mechanism is obsolete. ATS requires gcc >= 4.1 for all compilation environments, and it includes variadic argument macro support with ##_VA_ARGS_ that deletes the final comma if no arguments are provided.
> Removing the added layer should also improve performance when high volume debugging is turned on.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (TS-1102) Cleanup obsolete debugging code

Posted by "Uri Shachar (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TS-1102?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Uri Shachar updated TS-1102:
----------------------------

    Attachment: remove_prefix_arg_v3.patch

Apologies for the confusion... regenerated patch with git. Hope everything is in order this time (First time playing with git).
                
> Cleanup obsolete debugging code
> -------------------------------
>
>                 Key: TS-1102
>                 URL: https://issues.apache.org/jira/browse/TS-1102
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Core, Logging, Performance
>    Affects Versions: 3.0.2
>         Environment: Any
>            Reporter: Uri Shachar
>            Assignee: Leif Hedstrom
>            Priority: Minor
>             Fix For: 3.1.3
>
>         Attachments: diags_cleanup.patch, remove_prefix_arg.patch, remove_prefix_arg_v2.patch, remove_prefix_arg_v3.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> The current Diags.h D/EClosure mechanism is obsolete. ATS requires gcc >= 4.1 for all compilation environments, and it includes variadic argument macro support with ##_VA_ARGS_ that deletes the final comma if no arguments are provided.
> Removing the added layer should also improve performance when high volume debugging is turned on.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Reopened] (TS-1102) Cleanup obsolete debugging code

Posted by "Leif Hedstrom (Reopened) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TS-1102?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Leif Hedstrom reopened TS-1102:
-------------------------------


Getting this on Solaris build-bot: 

{code}
CC -DHAVE_CONFIG_H -I. -I../../lib/ts   -I../../iocore/eventsystem -I../../iocore/net -I../../iocore/aio -I../../iocore/hostdb -I../../iocore/cache -I../../iocore/cluster -I../../iocore/utils -I../../iocore/dns  -I../../lib  -I../../lib/records  -I../../proxy  -I../../proxy/hdrs  -I../../mgmt  -I../../mgmt/preparse  -I../../mgmt/utils -I/export/home/buildbot/tcl/include/amd64 -I/export/home/buildbot/pcre/include/amd64 -D_LARGEFILE64_SOURCE=1 -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -D_REENTRANT -Dsolaris -I/usr/local/ssl/include -I/opt/omni/include/amd64 -I/opt/expat-2.0.1/include -I/export/home/buildbot/pcre/include  -g -mt -m64 -D__WORDSIZE=64 -O3 -library=stlport4 -erroff -c -o Connection.o Connection.cc
"P_NetAccept.h", line 75: Error: Trailing comma in a parameter list.
"Connection.cc", line 250: Error: Trailing comma in a parameter list.
"Connection.cc", line 370: Error: Trailing comma in a parameter list.
3 Error(s) detected.
*** Error code 2
make: Fatal error: Command failed for target `Connection.o'
Current working directory /export/home/buildbot/slave5/tserver-solaris-trunk/build/iocore/net
{code}

I'll look at it tomorrow (but input welcome :).
                
> Cleanup obsolete debugging code
> -------------------------------
>
>                 Key: TS-1102
>                 URL: https://issues.apache.org/jira/browse/TS-1102
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Core, Logging, Performance
>    Affects Versions: 3.0.2
>         Environment: Any
>            Reporter: Uri Shachar
>            Assignee: Leif Hedstrom
>            Priority: Minor
>             Fix For: 3.1.3
>
>         Attachments: diags_cleanup.patch, remove_prefix_arg.patch, remove_prefix_arg_v2.patch, remove_prefix_arg_v3.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> The current Diags.h D/EClosure mechanism is obsolete. ATS requires gcc >= 4.1 for all compilation environments, and it includes variadic argument macro support with ##_VA_ARGS_ that deletes the final comma if no arguments are provided.
> Removing the added layer should also improve performance when high volume debugging is turned on.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (TS-1102) Cleanup obsolete debugging code

Posted by "Uri Shachar (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TS-1102?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13214638#comment-13214638 ] 

Uri Shachar commented on TS-1102:
---------------------------------

First thing first: --disable-diags does not do anything (it sets TS_USE_DIAGS to 0 but Diags.h tests if is defined or not)....

I haven't been able to reproduce anything close to a 15% degradation, but i have seen 1.7%. Looks like the increased overhead of always calling the multiple argument function outweighs everything else. When I do:
-#define Diag(tag, fmt, ...)      diags->log(tag, DTA(DL_Diag), fmt, ##__VA_ARGS__)
+#define Diag(tag, fmt, ...)      if (diags->on(tag)) diags->log(tag, DTA(DL_Diag), fmt, ##__VA_ARGS__)

and remove the diags->on(tag) call in the beginning of Diags::log the we get the slight perf boost I expected when a tag is turned on, and no impact when diags is turned off.
Attaching a patch (with the DebugOn removal) + the benchmark results that I got.

                
> Cleanup obsolete debugging code
> -------------------------------
>
>                 Key: TS-1102
>                 URL: https://issues.apache.org/jira/browse/TS-1102
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Core, Logging, Performance
>    Affects Versions: 3.0.2
>         Environment: Any
>            Reporter: Uri Shachar
>            Assignee: Leif Hedstrom
>            Priority: Minor
>             Fix For: 3.1.3
>
>         Attachments: diags_cleanup.patch, diags_remove_debugon.patch, remove_prefix_arg.patch, remove_prefix_arg_v2.patch, remove_prefix_arg_v3.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> The current Diags.h D/EClosure mechanism is obsolete. ATS requires gcc >= 4.1 for all compilation environments, and it includes variadic argument macro support with ##_VA_ARGS_ that deletes the final comma if no arguments are provided.
> Removing the added layer should also improve performance when high volume debugging is turned on.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (TS-1102) Cleanup obsolete debugging code

Posted by "Leif Hedstrom (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TS-1102?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13214882#comment-13214882 ] 

Leif Hedstrom commented on TS-1102:
-----------------------------------

Did you patch fix --disable-diags ? If not, I can do that.

I tested the patch, looks good. I redid my benchmark a bit, to make sure I measure things properly. Here's the result from current trunk:

{code}
163184902 fetches on 163211 conns, 390 max parallel, 1.631849E+08 bytes, in 900 seconds
1 mean bytes/fetch
181316.5 fetches/sec, 1.813165E+05 bytes/sec
msecs/connect: 0.283 mean, 6.224 max, 0.045 min
msecs/first-response: 1.520 mean, 500.103 max, 0.077 min
{code}

This is with your latest patch:

{code}
http_load  -parallel 130 -seconds 900 -keep_alive 1000 /tmp/TINY
166093081 fetches on 166107 conns, 390 max parallel, 1.660930E+08 bytes, in 900 seconds
1 mean bytes/fetch
184547.8 fetches/sec, 1.845478E+05 bytes/sec
msecs/connect: 0.425 mean, 341.253 max, 0.042 min
msecs/first-response: 1.460 mean, 290.295 max, 0.075 min
{code}


So, looks good to me. Let me check with pre-1102 as well, but I think this looks promising.
                
> Cleanup obsolete debugging code
> -------------------------------
>
>                 Key: TS-1102
>                 URL: https://issues.apache.org/jira/browse/TS-1102
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Core, Logging, Performance
>    Affects Versions: 3.0.2
>         Environment: Any
>            Reporter: Uri Shachar
>            Assignee: Leif Hedstrom
>            Priority: Minor
>             Fix For: 3.1.3
>
>         Attachments: ats.benchmark, diags_cleanup.patch, diags_perf_and_remove_debugon.patch, diags_remove_debugon.patch, remove_prefix_arg.patch, remove_prefix_arg_v2.patch, remove_prefix_arg_v3.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> The current Diags.h D/EClosure mechanism is obsolete. ATS requires gcc >= 4.1 for all compilation environments, and it includes variadic argument macro support with ##_VA_ARGS_ that deletes the final comma if no arguments are provided.
> Removing the added layer should also improve performance when high volume debugging is turned on.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (TS-1102) Cleanup obsolete debugging code

Posted by "Leif Hedstrom (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TS-1102?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13214257#comment-13214257 ] 

Leif Hedstrom commented on TS-1102:
-----------------------------------

Hi Uri,

I'm doing some benchmarks (I've tested both with and without --disable-diags), and from what I can tell, the 1102 commits makes the server about 15% slower... I'm surprised that compiling with --disable-diags doesn't work around that, but I'm 100% certain it's slower.

At commit 9289d739ab779a24aeb947289eef06330319178b (one commit before 1102):

{code}
5214181 fetches on 5402 conns, 390 max parallel, 5.214180E+06 bytes, in 30 seconds
1 mean bytes/fetch
173806.0 fetches/sec, 1.738060E+05 bytes/sec
msecs/connect: 0.253 mean, 4.764 max, 0.050 min
msecs/first-response: 1.717 mean, 347.950 max, 0.085 min
{code}

With the TS-1102 commit, at 5ad005cb4bd16084615a3ade43271208dc6b374e

{code}
4481768 fetches on 4675 conns, 390 max parallel, 4.481770E+06 bytes, in 30 seconds
1 mean bytes/fetch
149392.2 fetches/sec, 1.493922E+05 bytes/sec
msecs/connect: 5.268 mean, 1002.667 max, 0.053 min
msecs/first-response: 2.242 mean, 219.874 max, 0.091 min
{code}


It's not a huge amount, but certainly a "regression". Uri, any thoughts? 
                
> Cleanup obsolete debugging code
> -------------------------------
>
>                 Key: TS-1102
>                 URL: https://issues.apache.org/jira/browse/TS-1102
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Core, Logging, Performance
>    Affects Versions: 3.0.2
>         Environment: Any
>            Reporter: Uri Shachar
>            Assignee: Leif Hedstrom
>            Priority: Minor
>             Fix For: 3.1.3
>
>         Attachments: diags_cleanup.patch, diags_remove_debugon.patch, remove_prefix_arg.patch, remove_prefix_arg_v2.patch, remove_prefix_arg_v3.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> The current Diags.h D/EClosure mechanism is obsolete. ATS requires gcc >= 4.1 for all compilation environments, and it includes variadic argument macro support with ##_VA_ARGS_ that deletes the final comma if no arguments are provided.
> Removing the added layer should also improve performance when high volume debugging is turned on.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (TS-1102) Cleanup obsolete debugging code

Posted by "Uri Shachar (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TS-1102?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Uri Shachar updated TS-1102:
----------------------------

    Comment: was deleted

(was: First thing first: --disable-diags does not do anything (it sets TS_USE_DIAGS to 0 but Diags.h tests if is defined or not)....

I haven't been able to reproduce anything close to a 15% degradation, but i have seen 1.7%. Looks like the increased overhead of always calling the multiple argument function outweighs everything else. When I do:
-#define Diag(tag, fmt, ...)      diags->log(tag, DTA(DL_Diag), fmt, ##__VA_ARGS__)
+#define Diag(tag, fmt, ...)      if (diags->on(tag)) diags->log(tag, DTA(DL_Diag), fmt, ##__VA_ARGS__)

and remove the diags->on(tag) call in the beginning of Diags::log the we get the slight perf boost I expected when a tag is turned on, and no impact when diags is turned off.
Attaching a patch (with the DebugOn removal) + the benchmark results that I got.
)
    
> Cleanup obsolete debugging code
> -------------------------------
>
>                 Key: TS-1102
>                 URL: https://issues.apache.org/jira/browse/TS-1102
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Core, Logging, Performance
>    Affects Versions: 3.0.2
>         Environment: Any
>            Reporter: Uri Shachar
>            Assignee: Leif Hedstrom
>            Priority: Minor
>             Fix For: 3.1.3
>
>         Attachments: diags_cleanup.patch, diags_remove_debugon.patch, remove_prefix_arg.patch, remove_prefix_arg_v2.patch, remove_prefix_arg_v3.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> The current Diags.h D/EClosure mechanism is obsolete. ATS requires gcc >= 4.1 for all compilation environments, and it includes variadic argument macro support with ##_VA_ARGS_ that deletes the final comma if no arguments are provided.
> Removing the added layer should also improve performance when high volume debugging is turned on.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (TS-1102) Cleanup obsolete debugging code

Posted by "Uri Shachar (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TS-1102?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Uri Shachar updated TS-1102:
----------------------------

    Attachment: diags_cleanup.patch

Base cleanup patch. Will add 2 more patches to remove the DebugOn macro (which was an unoptimized version of Debug anyways) and remove the obsolete 'prefix' argument.
                
> Cleanup obsolete debugging code
> -------------------------------
>
>                 Key: TS-1102
>                 URL: https://issues.apache.org/jira/browse/TS-1102
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Core, Logging, Performance
>    Affects Versions: 3.0.2
>         Environment: Any
>            Reporter: Uri Shachar
>            Priority: Minor
>         Attachments: diags_cleanup.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> The current Diags.h D/EClosure mechanism is obsolete. ATS requires gcc >= 4.1 for all compilation environments, and it includes variadic argument macro support with ##_VA_ARGS_ that deletes the final comma if no arguments are provided.
> Removing the added layer should also improve performance when high volume debugging is turned on.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (TS-1102) Cleanup obsolete debugging code

Posted by "Uri Shachar (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TS-1102?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13216148#comment-13216148 ] 

Uri Shachar commented on TS-1102:
---------------------------------

closed.
                
> Cleanup obsolete debugging code
> -------------------------------
>
>                 Key: TS-1102
>                 URL: https://issues.apache.org/jira/browse/TS-1102
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Core, Logging, Performance
>    Affects Versions: 3.0.2
>         Environment: Any
>            Reporter: Uri Shachar
>            Assignee: Leif Hedstrom
>            Priority: Minor
>             Fix For: 3.1.3
>
>         Attachments: ats.benchmark, diags_cleanup.patch, diags_perf_and_remove_debugon.patch, diags_remove_debugon.patch, remove_prefix_arg.patch, remove_prefix_arg_v2.patch, remove_prefix_arg_v3.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> The current Diags.h D/EClosure mechanism is obsolete. ATS requires gcc >= 4.1 for all compilation environments, and it includes variadic argument macro support with ##_VA_ARGS_ that deletes the final comma if no arguments are provided.
> Removing the added layer should also improve performance when high volume debugging is turned on.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (TS-1102) Cleanup obsolete debugging code

Posted by "Leif Hedstrom (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TS-1102?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13209770#comment-13209770 ] 

Leif Hedstrom commented on TS-1102:
-----------------------------------

We might need to back this out. Not only is it breaking Solaris builds, it actually segfaults the OSX gcc-llvm compiler (not our fault obviously, but still annoying). Uri, what do you think ?
                
> Cleanup obsolete debugging code
> -------------------------------
>
>                 Key: TS-1102
>                 URL: https://issues.apache.org/jira/browse/TS-1102
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Core, Logging, Performance
>    Affects Versions: 3.0.2
>         Environment: Any
>            Reporter: Uri Shachar
>            Assignee: Leif Hedstrom
>            Priority: Minor
>             Fix For: 3.1.3
>
>         Attachments: diags_cleanup.patch, remove_prefix_arg.patch, remove_prefix_arg_v2.patch, remove_prefix_arg_v3.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> The current Diags.h D/EClosure mechanism is obsolete. ATS requires gcc >= 4.1 for all compilation environments, and it includes variadic argument macro support with ##_VA_ARGS_ that deletes the final comma if no arguments are provided.
> Removing the added layer should also improve performance when high volume debugging is turned on.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (TS-1102) Cleanup obsolete debugging code

Posted by "Leif Hedstrom (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TS-1102?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13198881#comment-13198881 ] 

Leif Hedstrom commented on TS-1102:
-----------------------------------

Uri, the remove_prefix_arg.patch fails on current trunk. Any chance you can prepare a patch for trunk?
                
> Cleanup obsolete debugging code
> -------------------------------
>
>                 Key: TS-1102
>                 URL: https://issues.apache.org/jira/browse/TS-1102
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Core, Logging, Performance
>    Affects Versions: 3.0.2
>         Environment: Any
>            Reporter: Uri Shachar
>            Assignee: Leif Hedstrom
>            Priority: Minor
>             Fix For: 3.1.2
>
>         Attachments: diags_cleanup.patch, remove_prefix_arg.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> The current Diags.h D/EClosure mechanism is obsolete. ATS requires gcc >= 4.1 for all compilation environments, and it includes variadic argument macro support with ##_VA_ARGS_ that deletes the final comma if no arguments are provided.
> Removing the added layer should also improve performance when high volume debugging is turned on.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (TS-1102) Cleanup obsolete debugging code

Posted by "Uri Shachar (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TS-1102?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13214518#comment-13214518 ] 

Uri Shachar commented on TS-1102:
---------------------------------

15% degradation is definitely unacceptable (I expected a slight improvement) -- and "--disable-diags" should show no change at all...  Do you test with any tags turned on?
I'll do some benchmarks on my side and get back to you today.
                
> Cleanup obsolete debugging code
> -------------------------------
>
>                 Key: TS-1102
>                 URL: https://issues.apache.org/jira/browse/TS-1102
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Core, Logging, Performance
>    Affects Versions: 3.0.2
>         Environment: Any
>            Reporter: Uri Shachar
>            Assignee: Leif Hedstrom
>            Priority: Minor
>             Fix For: 3.1.3
>
>         Attachments: diags_cleanup.patch, diags_remove_debugon.patch, remove_prefix_arg.patch, remove_prefix_arg_v2.patch, remove_prefix_arg_v3.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> The current Diags.h D/EClosure mechanism is obsolete. ATS requires gcc >= 4.1 for all compilation environments, and it includes variadic argument macro support with ##_VA_ARGS_ that deletes the final comma if no arguments are provided.
> Removing the added layer should also improve performance when high volume debugging is turned on.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (TS-1102) Cleanup obsolete debugging code

Posted by "Leif Hedstrom (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TS-1102?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13200813#comment-13200813 ] 

Leif Hedstrom commented on TS-1102:
-----------------------------------

I think the old SVN repo is "read-only" since the migration happened. The git repo is at

http://git-wip-us.apache.org/repos/asf/trafficserver.git


(or https://  if you want a read-write repo, the http:// is read-only).

I'll look at the rejections in a bit, but if you have time, prepping one that patches against git trunk (master) would be great.
                
> Cleanup obsolete debugging code
> -------------------------------
>
>                 Key: TS-1102
>                 URL: https://issues.apache.org/jira/browse/TS-1102
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Core, Logging, Performance
>    Affects Versions: 3.0.2
>         Environment: Any
>            Reporter: Uri Shachar
>            Assignee: Leif Hedstrom
>            Priority: Minor
>             Fix For: 3.1.3
>
>         Attachments: diags_cleanup.patch, remove_prefix_arg.patch, remove_prefix_arg_v2.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> The current Diags.h D/EClosure mechanism is obsolete. ATS requires gcc >= 4.1 for all compilation environments, and it includes variadic argument macro support with ##_VA_ARGS_ that deletes the final comma if no arguments are provided.
> Removing the added layer should also improve performance when high volume debugging is turned on.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (TS-1102) Cleanup obsolete debugging code

Posted by "Uri Shachar (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TS-1102?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13216121#comment-13216121 ] 

Uri Shachar commented on TS-1102:
---------------------------------

The very least we could do is open a bug for it (and by we I mean I)
TS-1121
                
> Cleanup obsolete debugging code
> -------------------------------
>
>                 Key: TS-1102
>                 URL: https://issues.apache.org/jira/browse/TS-1102
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Core, Logging, Performance
>    Affects Versions: 3.0.2
>         Environment: Any
>            Reporter: Uri Shachar
>            Assignee: Leif Hedstrom
>            Priority: Minor
>             Fix For: 3.1.3
>
>         Attachments: ats.benchmark, diags_cleanup.patch, diags_perf_and_remove_debugon.patch, diags_remove_debugon.patch, remove_prefix_arg.patch, remove_prefix_arg_v2.patch, remove_prefix_arg_v3.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> The current Diags.h D/EClosure mechanism is obsolete. ATS requires gcc >= 4.1 for all compilation environments, and it includes variadic argument macro support with ##_VA_ARGS_ that deletes the final comma if no arguments are provided.
> Removing the added layer should also improve performance when high volume debugging is turned on.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (TS-1102) Cleanup obsolete debugging code

Posted by "Uri Shachar (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TS-1102?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Uri Shachar updated TS-1102:
----------------------------

    Attachment: remove_prefix_arg_v2.patch

New patch created against the current trunk. Not sure why the previous patch was failing on your machine -- it applied cleanly + regression passed on my setup.
                
> Cleanup obsolete debugging code
> -------------------------------
>
>                 Key: TS-1102
>                 URL: https://issues.apache.org/jira/browse/TS-1102
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Core, Logging, Performance
>    Affects Versions: 3.0.2
>         Environment: Any
>            Reporter: Uri Shachar
>            Assignee: Leif Hedstrom
>            Priority: Minor
>             Fix For: 3.1.3
>
>         Attachments: diags_cleanup.patch, remove_prefix_arg.patch, remove_prefix_arg_v2.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> The current Diags.h D/EClosure mechanism is obsolete. ATS requires gcc >= 4.1 for all compilation environments, and it includes variadic argument macro support with ##_VA_ARGS_ that deletes the final comma if no arguments are provided.
> Removing the added layer should also improve performance when high volume debugging is turned on.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (TS-1102) Cleanup obsolete debugging code

Posted by "Uri Shachar (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TS-1102?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13211407#comment-13211407 ] 

Uri Shachar commented on TS-1102:
---------------------------------

Took me ages to set up a solaris dev env, and then I saw your latest commit :-) -- it looks a lot better then the bunch of ifdefs I had going.
I'll add another patch soon to remove the redundant DebugOn command, and then (finally) go back to the txn specific debugging functionality.
                
> Cleanup obsolete debugging code
> -------------------------------
>
>                 Key: TS-1102
>                 URL: https://issues.apache.org/jira/browse/TS-1102
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Core, Logging, Performance
>    Affects Versions: 3.0.2
>         Environment: Any
>            Reporter: Uri Shachar
>            Assignee: Leif Hedstrom
>            Priority: Minor
>             Fix For: 3.1.3
>
>         Attachments: diags_cleanup.patch, remove_prefix_arg.patch, remove_prefix_arg_v2.patch, remove_prefix_arg_v3.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> The current Diags.h D/EClosure mechanism is obsolete. ATS requires gcc >= 4.1 for all compilation environments, and it includes variadic argument macro support with ##_VA_ARGS_ that deletes the final comma if no arguments are provided.
> Removing the added layer should also improve performance when high volume debugging is turned on.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (TS-1102) Cleanup obsolete debugging code

Posted by "Uri Shachar (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TS-1102?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13200803#comment-13200803 ] 

Uri Shachar commented on TS-1102:
---------------------------------

That could be the problem -- I used svn -- Isn't the svn repo synced/updated from the git repo?
                
> Cleanup obsolete debugging code
> -------------------------------
>
>                 Key: TS-1102
>                 URL: https://issues.apache.org/jira/browse/TS-1102
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Core, Logging, Performance
>    Affects Versions: 3.0.2
>         Environment: Any
>            Reporter: Uri Shachar
>            Assignee: Leif Hedstrom
>            Priority: Minor
>             Fix For: 3.1.3
>
>         Attachments: diags_cleanup.patch, remove_prefix_arg.patch, remove_prefix_arg_v2.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> The current Diags.h D/EClosure mechanism is obsolete. ATS requires gcc >= 4.1 for all compilation environments, and it includes variadic argument macro support with ##_VA_ARGS_ that deletes the final comma if no arguments are provided.
> Removing the added layer should also improve performance when high volume debugging is turned on.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (TS-1102) Cleanup obsolete debugging code

Posted by "Leif Hedstrom (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TS-1102?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Leif Hedstrom updated TS-1102:
------------------------------

    Fix Version/s: 3.1.2
    
> Cleanup obsolete debugging code
> -------------------------------
>
>                 Key: TS-1102
>                 URL: https://issues.apache.org/jira/browse/TS-1102
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Core, Logging, Performance
>    Affects Versions: 3.0.2
>         Environment: Any
>            Reporter: Uri Shachar
>            Assignee: Leif Hedstrom
>            Priority: Minor
>             Fix For: 3.1.2
>
>         Attachments: diags_cleanup.patch, remove_prefix_arg.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> The current Diags.h D/EClosure mechanism is obsolete. ATS requires gcc >= 4.1 for all compilation environments, and it includes variadic argument macro support with ##_VA_ARGS_ that deletes the final comma if no arguments are provided.
> Removing the added layer should also improve performance when high volume debugging is turned on.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (TS-1102) Cleanup obsolete debugging code

Posted by "Leif Hedstrom (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TS-1102?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13216015#comment-13216015 ] 

Leif Hedstrom commented on TS-1102:
-----------------------------------

Uri, should we try to fix --disable-diags too? And with we, I mean you ;).

I committed everything else, thanks for the fixes.
                
> Cleanup obsolete debugging code
> -------------------------------
>
>                 Key: TS-1102
>                 URL: https://issues.apache.org/jira/browse/TS-1102
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Core, Logging, Performance
>    Affects Versions: 3.0.2
>         Environment: Any
>            Reporter: Uri Shachar
>            Assignee: Leif Hedstrom
>            Priority: Minor
>             Fix For: 3.1.3
>
>         Attachments: ats.benchmark, diags_cleanup.patch, diags_perf_and_remove_debugon.patch, diags_remove_debugon.patch, remove_prefix_arg.patch, remove_prefix_arg_v2.patch, remove_prefix_arg_v3.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> The current Diags.h D/EClosure mechanism is obsolete. ATS requires gcc >= 4.1 for all compilation environments, and it includes variadic argument macro support with ##_VA_ARGS_ that deletes the final comma if no arguments are provided.
> Removing the added layer should also improve performance when high volume debugging is turned on.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Re: [jira] [Commented] (TS-1102) Cleanup obsolete debugging code

Posted by Igor Galić <i....@brainsware.org>.
The wiki needs updating then.

We can compile with Solaris Studio on Solaris, anyway.

Once upon a time we also could compile with llvm/clang
(Right now, only Mac OS X' XCode)

[jira] [Commented] (TS-1102) Cleanup obsolete debugging code

Posted by "Uri Shachar (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TS-1102?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13203392#comment-13203392 ] 

Uri Shachar commented on TS-1102:
---------------------------------

Could it be that we aren't compiling with gcc (Seems like it: -errof isn't a gcc flag)?
The patch assumes gcc usage (which is what the build wiki page specifies), I can probably get it working on solaris as well with some ifdefs - but it won't look as good...
                
> Cleanup obsolete debugging code
> -------------------------------
>
>                 Key: TS-1102
>                 URL: https://issues.apache.org/jira/browse/TS-1102
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Core, Logging, Performance
>    Affects Versions: 3.0.2
>         Environment: Any
>            Reporter: Uri Shachar
>            Assignee: Leif Hedstrom
>            Priority: Minor
>             Fix For: 3.1.3
>
>         Attachments: diags_cleanup.patch, remove_prefix_arg.patch, remove_prefix_arg_v2.patch, remove_prefix_arg_v3.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> The current Diags.h D/EClosure mechanism is obsolete. ATS requires gcc >= 4.1 for all compilation environments, and it includes variadic argument macro support with ##_VA_ARGS_ that deletes the final comma if no arguments are provided.
> Removing the added layer should also improve performance when high volume debugging is turned on.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (TS-1102) Cleanup obsolete debugging code

Posted by "Leif Hedstrom (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TS-1102?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Leif Hedstrom updated TS-1102:
------------------------------

    Fix Version/s:     (was: 3.1.2)
                   3.1.3
    
> Cleanup obsolete debugging code
> -------------------------------
>
>                 Key: TS-1102
>                 URL: https://issues.apache.org/jira/browse/TS-1102
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Core, Logging, Performance
>    Affects Versions: 3.0.2
>         Environment: Any
>            Reporter: Uri Shachar
>            Assignee: Leif Hedstrom
>            Priority: Minor
>             Fix For: 3.1.3
>
>         Attachments: diags_cleanup.patch, remove_prefix_arg.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> The current Diags.h D/EClosure mechanism is obsolete. ATS requires gcc >= 4.1 for all compilation environments, and it includes variadic argument macro support with ##_VA_ARGS_ that deletes the final comma if no arguments are provided.
> Removing the added layer should also improve performance when high volume debugging is turned on.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Assigned] (TS-1102) Cleanup obsolete debugging code

Posted by "Leif Hedstrom (Assigned) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TS-1102?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Leif Hedstrom reassigned TS-1102:
---------------------------------

    Assignee: Leif Hedstrom
    
> Cleanup obsolete debugging code
> -------------------------------
>
>                 Key: TS-1102
>                 URL: https://issues.apache.org/jira/browse/TS-1102
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Core, Logging, Performance
>    Affects Versions: 3.0.2
>         Environment: Any
>            Reporter: Uri Shachar
>            Assignee: Leif Hedstrom
>            Priority: Minor
>             Fix For: 3.1.2
>
>         Attachments: diags_cleanup.patch, remove_prefix_arg.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> The current Diags.h D/EClosure mechanism is obsolete. ATS requires gcc >= 4.1 for all compilation environments, and it includes variadic argument macro support with ##_VA_ARGS_ that deletes the final comma if no arguments are provided.
> Removing the added layer should also improve performance when high volume debugging is turned on.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira