Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Per test code coverage in CI Visibility #5146

Merged

Conversation

nikita-tkachenko-datadog
Copy link
Contributor

@nikita-tkachenko-datadog nikita-tkachenko-datadog commented May 3, 2023

What Does This Do

Adds per-test code coverage support for CI Visibility product: code coverage info is collected separately for every test case.

Motivation

Per-test code coverage data is needed to support CI Visibility Intelligent Test Runner.

Additional Notes

Code coverage is implemented on top of Jacoco, by instrumenting Jacoco classes and injecting bytecode that inserts additional test probes.

@pr-commenter
Copy link

pr-commenter bot commented May 3, 2023

Benchmarks

Parameters

Baseline Candidate
commit 1.16.0-SNAPSHOT~0226e41db3 1.16.0-SNAPSHOT~72e9f604eb
config baseline candidate
See matching parameters
Baseline Candidate
module Agent Agent
parent None None

Summary

Found 0 performance improvements and 1 performance regressions! Performance is the same for 21 cases.

scenario Δ mean execution_time
scenario:Startup-iast-Remote Config worse
[+30.567µs; +70.507µs] or [+5.199%; +11.992%]

@nikita-tkachenko-datadog nikita-tkachenko-datadog added the comp: ci visibility Continuous Integration Visibility label May 3, 2023
@nikita-tkachenko-datadog nikita-tkachenko-datadog force-pushed the nikita-tkachenko/per-test-code-coverage branch 2 times, most recently from dd9e287 to fad217b Compare May 18, 2023 14:36
@nikita-tkachenko-datadog nikita-tkachenko-datadog changed the title WIP: Per test code coverage in CI Visibility Per test code coverage in CI Visibility May 24, 2023
@nikita-tkachenko-datadog nikita-tkachenko-datadog marked this pull request as ready for review May 29, 2023 09:26
@nikita-tkachenko-datadog nikita-tkachenko-datadog force-pushed the nikita-tkachenko/per-test-code-coverage branch 3 times, most recently from cdfa5f9 to b5d7d55 Compare June 15, 2023 08:30
@nikita-tkachenko-datadog nikita-tkachenko-datadog force-pushed the nikita-tkachenko/per-test-code-coverage branch from b5d7d55 to 1371a67 Compare June 15, 2023 08:37
@nikita-tkachenko-datadog nikita-tkachenko-datadog force-pushed the nikita-tkachenko/per-test-code-coverage branch from 1371a67 to 7330034 Compare June 15, 2023 09:18
}

@Override
public boolean equals(Object obj) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this equals implementation really needed?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch, that was a leftover from some experiments, removed

@nikita-tkachenko-datadog nikita-tkachenko-datadog force-pushed the nikita-tkachenko/per-test-code-coverage branch from ff4a9dc to 2300346 Compare June 19, 2023 16:01
@nikita-tkachenko-datadog nikita-tkachenko-datadog merged commit 13ba3b2 into master Jun 19, 2023
@nikita-tkachenko-datadog nikita-tkachenko-datadog deleted the nikita-tkachenko/per-test-code-coverage branch June 19, 2023 16:53
@github-actions github-actions bot added this to the 1.17.0 milestone Jun 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp: ci visibility Continuous Integration Visibility
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants