Add doxygen comments to DiagsTypes.hh - #13262
Open
JosiahWI wants to merge 14 commits into
Open
Conversation
JosiahWI
commented
Jun 12, 2026
Contributor
There was a problem hiding this comment.
Pull request overview
This PR adds Doxygen (“oxygen”) comments to ATS’s diagnostics and regression-test interfaces to make the Diags subsystem’s behavior easier to understand and navigate from headers.
Changes:
- Adds API-level documentation for
tell_diags_regression_testing_is_on()inRegression.h. - Adds extensive Doxygen comments across
DiagsTypes.hfor Diags configuration, tag activation, output routing, and log rolling/redirection APIs. - Adds documentation for the global
Diagssingleton registration/access inDiags.h.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 13 comments.
| File | Description |
|---|---|
| include/tscore/Regression.h | Documents regression-mode diags behavior. |
| include/tscore/DiagsTypes.h | Adds Doxygen comments for Diags types, fields, and public APIs. |
| include/tscore/Diags.h | Documents DiagsPtr::set() and diags() singleton accessor. |
JosiahWI
marked this pull request as ready for review
June 13, 2026 19:16
bneradt
requested changes
Jun 15, 2026
cmcfarlen
self-requested a review
June 15, 2026 22:28
Contributor
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
Suppressed comments (2)
include/tscore/DiagsTypes.h:611
- activate_taglist()’s Thread safety note says it “Acquires tag_table_lock”, but the implementation only takes the lock when
@ataglist is non-null (to swap activated_tags[mode]). When@ataglist is nullptr and@amode is DiagsTagType_Action (or non-global debug), no lock is taken. Tighten the wording so it matches the actual locking behavior.
* @par Thread safety
* Acquires tag_table_lock. Safe to call concurrently with
* emission, but serialized with other reconfiguration methods.
include/tscore/DiagsTypes.h:125
- The DiagsCleanupFunc documentation describes DL_Fatal/DL_Alert as exiting via a “recoverable path”. The implementation uses ink_fatal_va() which unconditionally terminates the process via _exit(70); nothing is actually “recoverable”. Consider documenting the concrete exit statuses instead (UNRECOVERABLE_EXIT vs 70) to avoid implying the process continues.
This issue also appears on line 609 of the same file.
* @post On return, the process is terminated; control does not return to
* the emitter. DL_Emergency exits via the unrecoverable path; DL_Fatal
* and DL_Alert exit via the recoverable path.
Comment on lines
417
to
+421
| if (DiagsLevel_IsTerminal(level)) { | ||
| va_list ap2; | ||
|
|
||
| va_copy(ap2, ap); | ||
| // No re-entry guard: if two threads emit a terminal-level message |
Contributor
Author
There was a problem hiding this comment.
Out of scope and won't fix here, but might be a bug.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I am testing out Claude Sonnet 4.6 and Claude Opus 4.7 with spec-kit. This change was generated by those models. Since code comments are very tedious to write by hand (especially for pre-existing code) and can provide great benefit, I think this is a good use case for experimentation. If this is accepted, I might do more of these as I refine my spec-kit configuration.