Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
4c81d49
upgrade-semantic-1.26
crossoverJie Jul 9, 2024
2cb97fc
chore(deps): update gradle/actions action to v3.4.2 (main) (#11770)
renovate[bot] Jul 9, 2024
ff5bf5d
Enable early jdk8 test (#11777)
laurit Jul 9, 2024
aa22d47
fix licenses.md
crossoverJie Jul 9, 2024
a46c8a0
Add Pulsar MessagingProducerMetrics (#11591)
crossoverJie Jul 9, 2024
e64e8c0
chore(deps): update actions/setup-node action to v4.0.3 (main) (#11780)
renovate[bot] Jul 9, 2024
3e9c291
fix(deps): update dependency org.assertj:assertj-core to v3.26.3 (mai…
renovate[bot] Jul 9, 2024
776faae
fix ci
crossoverJie Jul 10, 2024
75a54b9
fix ci
crossoverJie Jul 10, 2024
6158610
fix ci
crossoverJie Jul 10, 2024
d7cdfcc
fix ci
crossoverJie Jul 10, 2024
e324c31
fix ci
crossoverJie Jul 10, 2024
5d26768
fix ci
crossoverJie Jul 10, 2024
7016470
fix windows benchmark fail (#11698)
123liuziming Jul 10, 2024
ec91735
Alter instrumentation suppression behavior (#11640)
laurit Jul 10, 2024
6b65447
Propagate otel context through custom aws client context for lambda d…
johnbley Jul 10, 2024
3291d9f
fix ci
crossoverJie Jul 10, 2024
045794a
fix ci
crossoverJie Jul 10, 2024
46615ba
fix ci
crossoverJie Jul 10, 2024
de22d60
fix ci
crossoverJie Jul 10, 2024
73a96fb
Merge remote-tracking branch 'otel-origin/main' into upgrade-semantic…
crossoverJie Jul 10, 2024
0bcee2e
fix ci
crossoverJie Jul 10, 2024
d9006be
fix ci
crossoverJie Jul 10, 2024
7e74d2f
fix(deps): update armeria packages to v1.29.2 (main) (patch) (#11785)
renovate[bot] Jul 10, 2024
bb2346a
fix ci
crossoverJie Jul 10, 2024
ac2b7e9
fix ci
crossoverJie Jul 10, 2024
596cbe3
fix ci
crossoverJie Jul 10, 2024
6ec0f1f
fix(deps): update dependency io.quarkus:quarkus-bom to v3.12.2 (main)…
renovate[bot] Jul 10, 2024
fa72a65
chore(deps): update plugin io.quarkus to v3.12.2 (main) (#11789)
renovate[bot] Jul 10, 2024
948a58e
Spring autoconf deps (#11784)
zeitlinger Jul 10, 2024
e36fc46
GraalVM native support for the OpenTelemetry annotations (#11757)
jeanbisutti Jul 10, 2024
9bbfe7f
Use config properties for spring starter (http server) (#11667)
zeitlinger Jul 10, 2024
54622be
Update @EnableOpenTelemetry javadoc (#11799)
jeanbisutti Jul 11, 2024
814669b
chore(deps): update github/codeql-action action to v3.25.12 (main) (#…
renovate[bot] Jul 12, 2024
e09af4e
fix(deps): update dependency io.grpc:grpc-bom to v1.65.1 (main) (#11804)
renovate[bot] Jul 12, 2024
c1c76a1
fix(deps): update dockerjavaversion to v3.4.0 (main) (minor) (#11802)
renovate[bot] Jul 12, 2024
e5af139
rename spring autoconfigure to autoconfigure-2 (#11800)
zeitlinger Jul 12, 2024
7739335
make spring starter stable (#11763)
zeitlinger Jul 12, 2024
59238e3
chore(deps): update dependency gradle to v8.9 (main) (#11798)
renovate[bot] Jul 12, 2024
746ef01
chore(deps): update ubuntu docker tag to v24 (main) (#11771)
renovate[bot] Jul 12, 2024
df41c47
Update instrumentation-api-incubator/src/main/java/io/opentelemetry/i…
crossoverJie Jul 13, 2024
3394291
Update instrumentation-api-incubator/src/main/java/io/opentelemetry/i…
crossoverJie Jul 13, 2024
b96c283
Update instrumentation-api-incubator/src/main/java/io/opentelemetry/i…
crossoverJie Jul 13, 2024
d70fcb1
Update instrumentation-api-incubator/src/main/java/io/opentelemetry/i…
crossoverJie Jul 13, 2024
a589e5f
Merge remote-tracking branch 'otel-origin/main' into upgrade-semantic…
crossoverJie Jul 13, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/workflows/build-common.yml
Original file line number Diff line number Diff line change
Expand Up @@ -235,7 +235,7 @@ jobs:

# vaadin 14 tests fail with node 18
- name: Set up Node
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3
with:
node-version: 16

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/codeql-daily.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
java-version-file: .java-version

- name: Initialize CodeQL
uses: github/codeql-action/init@b611370bb5703a7efb587f9d136a52ea24c5c38c # v3.25.11
uses: github/codeql-action/init@4fa2a7953630fd2f3fb380f21be14ede0169dd4f # v3.25.12
with:
languages: java
# using "latest" helps to keep up with the latest Kotlin support
Expand All @@ -45,7 +45,7 @@ jobs:
run: ./gradlew assemble -x javadoc --no-build-cache --no-daemon

- name: Perform CodeQL analysis
uses: github/codeql-action/analyze@b611370bb5703a7efb587f9d136a52ea24c5c38c # v3.25.11
uses: github/codeql-action/analyze@4fa2a7953630fd2f3fb380f21be14ede0169dd4f # v3.25.12

workflow-notification:
needs:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pr-smoke-test-early-jdk8-images.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
java-version-file: .java-version

- name: Setup Gradle
uses: gradle/actions/setup-gradle@d9336dac04dea2507a617466bc058a3def92b18b # v3.4.0
uses: gradle/actions/setup-gradle@dbbdc275be76ac10734476cc723d82dfe7ec6eda # v3.4.2
with:
cache-read-only: true
# gradle enterprise is used for the build cache
Expand Down
8 changes: 2 additions & 6 deletions .github/workflows/publish-smoke-test-early-jdk8-images.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:
run: echo "TAG=$(date '+%Y%m%d').$GITHUB_RUN_ID" >> $GITHUB_ENV

- name: Setup Gradle
uses: gradle/actions/setup-gradle@d9336dac04dea2507a617466bc058a3def92b18b # v3.4.0
uses: gradle/actions/setup-gradle@dbbdc275be76ac10734476cc723d82dfe7ec6eda # v3.4.2

- name: Build Docker image
run: ./gradlew :smoke-tests:images:early-jdk8:dockerPush -PextraTag=${{ env.TAG }}
Expand All @@ -46,8 +46,4 @@ jobs:
if: always()
uses: ./.github/workflows/reusable-workflow-notification.yml
with:
success: >-
${{
needs.publishLinux.result == 'success' &&
needs.publishWindows.result == 'success'
}}
success: ${{ needs.publish.result == 'success' }}
2 changes: 1 addition & 1 deletion .github/workflows/reusable-test-indy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ jobs:

# vaadin 14 tests fail with node 18
- name: Set up Node
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3
with:
node-version: 16

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/scorecard.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,6 @@ jobs:

# Upload the results to GitHub's code scanning dashboard.
- name: "Upload to code-scanning"
uses: github/codeql-action/upload-sarif@b611370bb5703a7efb587f9d136a52ea24c5c38c # v3.25.11
uses: github/codeql-action/upload-sarif@4fa2a7953630fd2f3fb380f21be14ede0169dd4f # v3.25.12
with:
sarif_file: results.sarif
Binary file modified benchmark-overhead/gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
4 changes: 2 additions & 2 deletions benchmark-overhead/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionSha256Sum=a4b4158601f8636cdeeab09bd76afb640030bb5b144aafe261a5e8af027dc612
distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip
distributionSha256Sum=d725d707bfabd4dfdc958c624003b3c80accc03f7037b5122c4b1d0ef15cecab
distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
Expand Down
5 changes: 4 additions & 1 deletion benchmark-overhead/gradlew
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
# SPDX-License-Identifier: Apache-2.0
#

##############################################################################
#
Expand Down Expand Up @@ -84,7 +86,8 @@ done
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s
' "$PWD" ) || exit

# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
Expand Down
2 changes: 2 additions & 0 deletions benchmark-overhead/gradlew.bat
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem
@rem SPDX-License-Identifier: Apache-2.0
@rem

@if "%DEBUG%"=="" @echo off
@rem ##########################################################################
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ void runAppOnce(TestConfig config, Agent agent) throws Exception {
}

private void startRecording(Agent agent, GenericContainer<?> petclinic) throws Exception {
Path outFile = namingConventions.container.jfrFile(agent);
String outFile = namingConventions.container.jfrFile(agent);
String[] command = {
"jcmd",
"1",
Expand All @@ -123,16 +123,27 @@ private void startRecording(Agent agent, GenericContainer<?> petclinic) throws E
petclinic.execInContainer(command);
}

private void doWarmupPhase(TestConfig testConfig, GenericContainer<?> petclinic) throws IOException, InterruptedException {
System.out.println("Performing startup warming phase for " + testConfig.getWarmupSeconds() + " seconds...");
private void doWarmupPhase(TestConfig testConfig, GenericContainer<?> petclinic)
throws IOException, InterruptedException {
System.out.println(
"Performing startup warming phase for " + testConfig.getWarmupSeconds() + " seconds...");

// excluding the JFR recording from the warmup causes strange inconsistencies in the results
System.out.println("Starting disposable JFR warmup recording...");
String[] startCommand = {"jcmd", "1", "JFR.start", "settings=/app/overhead.jfc", "dumponexit=true", "name=warmup", "filename=warmup.jfr"};
String[] startCommand = {
"jcmd",
"1",
"JFR.start",
"settings=/app/overhead.jfc",
"dumponexit=true",
"name=warmup",
"filename=warmup.jfr"
};
petclinic.execInContainer(startCommand);

long deadline = System.currentTimeMillis() + TimeUnit.SECONDS.toMillis(testConfig.getWarmupSeconds());
while(System.currentTimeMillis() < deadline) {
long deadline =
System.currentTimeMillis() + TimeUnit.SECONDS.toMillis(testConfig.getWarmupSeconds());
while (System.currentTimeMillis() < deadline) {
GenericContainer<?> k6 =
new GenericContainer<>(DockerImageName.parse("loadimpact/k6"))
.withNetwork(NETWORK)
Expand All @@ -151,7 +162,7 @@ private void doWarmupPhase(TestConfig testConfig, GenericContainer<?> petclinic)

private void writeStartupTimeFile(Agent agent, long start) throws IOException {
long delta = System.currentTimeMillis() - start;
Path startupPath = namingConventions.local.startupDurationFile(agent);
Path startupPath = Path.of(namingConventions.local.startupDurationFile(agent));
Files.writeString(startupPath, String.valueOf(delta));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
import io.opentelemetry.agents.Agent;
import io.opentelemetry.config.TestConfig;
import io.opentelemetry.util.NamingConventions;
import java.nio.file.Path;
import java.time.Duration;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Expand All @@ -35,7 +34,7 @@ public K6Container(
}

public GenericContainer<?> build() {
Path k6OutputFile = namingConventions.container.k6Results(agent);
String k6OutputFile = namingConventions.container.k6Results(agent);
return new GenericContainer<>(DockerImageName.parse("loadimpact/k6"))
.withNetwork(network)
.withNetworkAliases("k6")
Expand All @@ -52,7 +51,7 @@ public GenericContainer<?> build() {
"--rps",
String.valueOf(config.getMaxRequestRate()),
"--summary-export",
k6OutputFile.toString(),
k6OutputFile,
"/app/basic.js")
.withStartupCheckStrategy(
new OneShotStartupCheckStrategy().withTimeout(Duration.ofMinutes(15)));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,14 +54,14 @@ private AppPerfResults readAgentResults(Agent agent, TestConfig config) {

private AppPerfResults.Builder addStartupTime(AppPerfResults.Builder builder, Agent agent)
throws IOException {
Path file = namingConvention.startupDurationFile(agent);
Path file = Path.of(namingConvention.startupDurationFile(agent));
long startupDuration = Long.parseLong(new String(Files.readAllBytes(file)).trim());
return builder.startupDurationMs(startupDuration);
}

private AppPerfResults.Builder addK6Results(AppPerfResults.Builder builder, Agent agent)
throws IOException {
Path k6File = namingConvention.k6Results(agent);
Path k6File = Path.of(namingConvention.k6Results(agent));
String json = new String(Files.readAllBytes(k6File));
double iterationAvg = read(json, "$.metrics.iteration_duration.avg");
double iterationP95 = read(json, "$.metrics.iteration_duration['p(95)']");
Expand All @@ -82,7 +82,7 @@ private static double read(String json, String jsonPath) {

private AppPerfResults.Builder addJfrResults(AppPerfResults.Builder builder, Agent agent)
throws IOException {
Path jfrFile = namingConvention.jfrFile(agent);
Path jfrFile = Path.of(namingConvention.jfrFile(agent));
return builder
.totalGCTime(readTotalGCTime(jfrFile))
.totalAllocated(readTotalAllocated(jfrFile))
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/

package io.opentelemetry.util;

import io.opentelemetry.agents.Agent;

public class ContainerNamingConvention implements NamingConvention {
private final String dir;

public ContainerNamingConvention(String dir) {
this.dir = dir;
}

public String k6Results(Agent agent) {

return String.join("/", dir, "k6_out_" + agent.getName() + ".json");
}

public String jfrFile(Agent agent) {
return String.join("/", dir, "petclinic-" + agent.getName() + ".jfr");
}

public String startupDurationFile(Agent agent) {
return String.join("/", dir, "startup-time-" + agent.getName() + ".txt");
}

public String root() {
return dir;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/

package io.opentelemetry.util;

import io.opentelemetry.agents.Agent;
import java.nio.file.Paths;

public class LocalNamingConvention implements NamingConvention {
private final String dir;

public LocalNamingConvention(String dir) {
this.dir = dir;
}

public String k6Results(Agent agent) {
return Paths.get(dir, "k6_out_" + agent.getName() + ".json").toString();
}

public String jfrFile(Agent agent) {
return Paths.get(dir, "petclinic-" + agent.getName() + ".jfr").toString();
}

public String startupDurationFile(Agent agent) {
return Paths.get(dir, "startup-time-" + agent.getName() + ".txt").toString();
}

public String root() {
return dir;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,51 +6,34 @@
package io.opentelemetry.util;

import io.opentelemetry.agents.Agent;
import java.nio.file.Path;
import java.nio.file.Paths;

/**
* This utility class provides the standard file naming conventions, primarily for files that are
* shared between containers and the test runner. It consolidates the naming logic into one place to
* ensure consistency, reduce duplication, and decrease errors.
*/
public class NamingConvention {

private final String dir;

public NamingConvention(String dir) {
this.dir = dir;
}

public interface NamingConvention {
/**
* Returns a path to the location of the k6 results json file.
* Returns a path string to the location of the k6 results json file.
*
* @param agent The agent to get results file path for
*/
public Path k6Results(Agent agent) {
return Paths.get(dir, "k6_out_" + agent.getName() + ".json");
}
String k6Results(Agent agent);

/**
* Returns a path to the location of the jfr output file for a given agent run.
* Returns a path string to the location of the jfr output file for a given agent run.
*
* @param agent The agent to get the jfr file path for.
*/
public Path jfrFile(Agent agent) {
return Paths.get(dir, "petclinic-" + agent.getName() + ".jfr");
}
String jfrFile(Agent agent);

/**
* Returns the path to the file that contains the startup duration for a given agent run.
* Returns the path string to the file that contains the startup duration for a given agent run.
*
* @param agent The agent to get the startup duration for.
*/
public Path startupDurationFile(Agent agent) {
return Paths.get(dir, "startup-time-" + agent.getName() + ".txt");
}
String startupDurationFile(Agent agent);

/** Returns the root path that this naming convention was configured with. */
public String root() {
return dir;
}
String root();
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,22 @@

package io.opentelemetry.util;

/** An container to hold both the local and container naming conventions. */
/** A container to hold both the local and container naming conventions. */
public class NamingConventions {

public final NamingConvention container = new NamingConvention("/results");
public final NamingConvention local = new NamingConvention(".");
public final NamingConvention container = new ContainerNamingConvention("/results");
public final NamingConvention local = new LocalNamingConvention(".");

/** @return Root path for the local naming convention (where results are output) */
/**
* @return Root path for the local naming convention (where results are output)
*/
public String localResults() {
return local.root();
}

/** @return Root path for the container naming convention (where results are output) */
/**
* @return Root path for the container naming convention (where results are output)
*/
public String containerResults() {
return container.root();
}
Expand Down
2 changes: 1 addition & 1 deletion conventions/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -74,5 +74,5 @@ dependencies {
testImplementation(enforcedPlatform("org.junit:junit-bom:5.10.3"))
testImplementation("org.junit.jupiter:junit-jupiter-api")
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine")
testImplementation("org.assertj:assertj-core:3.26.0")
testImplementation("org.assertj:assertj-core:3.26.3")
}
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ public class OtelInternalJavadoc extends BugChecker implements BugChecker.ClassT

@Override
public Description matchClass(ClassTree tree, VisitorState state) {
if (!isPublic(tree) || !isInternal(state)) {
if (!isPublic(tree) || !isInternal(state) || tree.getSimpleName().toString().endsWith("Test")) {
return Description.NO_MATCH;
}
String javadoc = getJavadoc(state);
Expand Down
Loading