Skip to content

refactoring skel - #8

Merged
renaudboutet merged 6 commits into
devfrom
refactor-skel
Jun 1, 2017
Merged

renaudboutet merged 6 commits into
devfrom
refactor-skel

Conversation

@gpolaert

Copy link
Copy Markdown
Contributor

No description provided.

@gpolaert

Copy link
Copy Markdown
Contributor Author

@renaudboutet I had to make a second release.
I refactored the dd-agent to avoid compilation errors with tests.
Could you look at it and let me know if I can merge on dev.

The 0.0.2 is based on that branch

@renaudboutet
renaudboutet merged commit 5963042 into dev Jun 1, 2017
@gpolaert
gpolaert deleted the refactor-skel branch June 1, 2017 13:30
bm1549 added a commit that referenced this pull request May 15, 2026
gh-worker-dd-mergequeue-cf854d Bot pushed a commit that referenced this pull request Sep 29, 2026
…review) (#12647)

Add @PerfContract meta-annotation and @SuppressPerfContract

Generic exemption mechanism for perf-contract marker annotations
(NoEscape, Strategy, StaticLifetime, ...), replacing per-marker
exemption channels (bespoke nested annotations, comment-only
conventions) with one shared mechanism. @SuppressPerfContract can
also be used as a meta-annotation to define named, canned exceptions
(e.g. a future @Borrowed for @NoEscape).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

Teach perf-review's @NoEscape check about @SuppressPerfContract

Check #8 (@NoEscape field-storage violation) only recognized a
retention-justifying comment as compliant. It now also accepts
@SuppressPerfContract(value = NoEscape.class, reason = "...") and a
canned-exception annotation meta-annotated with it (e.g. a future
@Borrowed), matching the mechanism's own Checker contract.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

Move @PerfContract and @SuppressPerfContract to datadog.perfcontract

These are cross-cutting, package-independent of any one marker, so
they don't belong under datadog.trace.api.function alongside the
functional interfaces (TriConsumer, TriFunction) and the markers
themselves. datadog.perfcontract follows the existing precedent for
top-level datadog.* packages (datadog.appsec, datadog.opentracing,
datadog.communication, datadog.telemetry).

The existing markers (NoEscape, Strategy, StrategyConsumer,
BackgroundOnly, ForegroundSafe, and StaticLifetime/Singleton once
#12646 lands) stay put for now -- moving those is a separate PR.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

Add CODEOWNERS entry for datadog.perfcontract

The new package (PerfContract, SuppressPerfContract) had no owner,
blocking the PR merge. Same owner as the sibling
datadog.trace.api.function package these moved out of.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

Fix stale marker refs, simplify javadocs, mark existing markers @PerfContract

Removes references to Singleton/StaticLifetime, which don't exist in this
PR's tree (a cross-reference left over from generating two related PRs in
one session). Adopts sarahchen6's simplified class javadocs for
PerfContract and SuppressPerfContract. Annotates NoEscape, Strategy, and
StrategyConsumer with @PerfContract so SuppressPerfContract's own worked
example (suppressing a NoEscape finding) is valid, per the Codex/Bits
review finding that NoEscape carried no @PerfContract.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

Add @SuppressPerfContract as an accepted NoEscape exception path

checks.md already documented @SuppressPerfContract(NoEscape.class, ...)
and canned-exception annotations as compliant, but NoEscape's own
Checker contract only listed the plain comment convention, so an AI
reviewer reading NoEscape.java alone would flag a compliant suppression.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

Co-authored-by: devflow.devflow-routing-intake <devflow.devflow-routing-intake@kubernetes.us1.ddbuild.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants