Skip to content

Commit f31d4ba

Browse files
authored
Replace resource detector with upstream detector (#301)
* Update OTel dependencies * Add deprecation notice and upstream detector resources * update resource detector for e2e-test-server * verify autoconf example for updated resource * verified metrics example for updated resource detector * verified resource example for updated resource detector * verified trace example for updated resource detector * verified spring example for updated resource detector * Add instructions on running the Spring example * Remove detector-resources as a sub-project * Udpate readme for the examples * deprecate resource-detectors module * Add readme badges
1 parent cd9021c commit f31d4ba

15 files changed

Lines changed: 75 additions & 21 deletions

File tree

build.gradle

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -142,10 +142,11 @@ subprojects {
142142
googleTraceVersion = '2.30.0'
143143
googleCloudBom = '26.26.0'
144144
cloudMonitoringVersion = '3.31.0'
145-
openTelemetryBom = '1.31.0'
146-
openTelemetryVersion = '1.31.0'
147-
openTelemetryInstrumentationVersion = '1.31.0'
148-
openTelemetrySemconvVersion = '1.22.0'
145+
openTelemetryBom = '1.33.0'
146+
openTelemetryVersion = '1.33.0'
147+
openTelemetryInstrumentationVersion = '1.33.0'
148+
openTelemetrySemconvVersion = '1.23.1'
149+
openTelemetryContribVersion = '1.33.0'
149150
junitVersion = '4.13'
150151
junit5Version = '5.10.0'
151152
mockitoVersion = '3.5.10'
@@ -188,6 +189,7 @@ subprojects {
188189
opentelemetry_autoconfigure_spi : "io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi:${openTelemetryVersion}",
189190
opentelemetry_agent_extension : "io.opentelemetry.javaagent:opentelemetry-javaagent-extension-api:${openTelemetryInstrumentationVersion}-alpha",
190191
opentelemetry_otlp_exporter : "io.opentelemetry:opentelemetry-exporter-otlp:${openTelemetryVersion}",
192+
opentelemetry_gcp_resources : "io.opentelemetry.contrib:opentelemetry-gcp-resources:${openTelemetryContribVersion}-alpha",
191193
spring_boot_starter_web : "org.springframework.boot:spring-boot-starter-web:${springWebVersion}",
192194
spring_cloud_starter_openfeign : "org.springframework.cloud:spring-cloud-starter-openfeign:${springOpenFeignVersion}",
193195
spring_cloud_sleuth_otel_autoconf: "org.springframework.cloud:spring-cloud-sleuth-otel-autoconfigure:${springOtelVersion}",

detectors/resources/README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Resource Detectors for OpenTelemetry
22

3+
[![Maven Central][maven-image]][maven-url] ![Status][deprecated]
4+
5+
> NOTE: This artifact has moved to [Opentelemetry Java Contrib](https://github.com/open-telemetry/opentelemetry-java-contrib) repo. All future releases/updates made to this artifact would be managed in the new repository. The code for this artifact is likely to be deleted from here in the near future.
6+
37
This package provides resource detectors for OpenTelemetry.
48

59
The following OpenTelemetry semantic conventions will be detected:
@@ -45,3 +49,7 @@ spec:
4549
4650
Additionally, the container name will only be discovered via the environment variable `CONTAINER_NAME`
4751
which much be included in the environment.
52+
53+
[maven-image]: https://maven-badges.herokuapp.com/maven-central/com.google.cloud.opentelemetry/detector-resources/badge.svg
54+
[maven-url]: https://maven-badges.herokuapp.com/maven-central/com.google.cloud.opentelemetry/detector-resources
55+
[deprecated]: https://img.shields.io/badge/status-deprecated-red

detectors/resources/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ dependencies {
3131
testImplementation(testLibraries.junit5)
3232
testRuntimeOnly(testLibraries.junit5_runtime)
3333
testImplementation(testLibraries.mockito)
34+
compileOnly(libraries.opentelemetry_gcp_resources)
3435
}
3536

3637
test {

detectors/resources/src/main/java/com/google/cloud/opentelemetry/detectors/GCPResource.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,12 @@
3333
* This class is used to detect the correct GCP compute platform resource. Supports detection of
3434
* Google Compute Engine (GCE), Google Kubernetes Engine (GKE), Google Cloud Functions (GCF), Google
3535
* App Engine (GAE) and Google Cloud Run (GCR).
36+
*
37+
* @deprecated Use {@link io.opentelemetry.contrib.gcp.resource.GCPResourceProvider} from <a
38+
* href="https://github.com/open-telemetry/opentelemetry-java-contrib">io.opentelemetry.contrib:opentelemetry-gcp-resources</a>
39+
* instead.
3640
*/
41+
@Deprecated
3742
public class GCPResource implements ResourceProvider {
3843

3944
private static final Logger LOGGER = Logger.getLogger(GCPResource.class.getSimpleName());

e2e-test-server/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,11 @@ dependencies {
3737
implementation(libraries.google_cloud_pubsub)
3838
implementation(libraries.google_cloud_functions_framework)
3939
implementation(libraries.cloudevents_core)
40+
implementation(libraries.opentelemetry_gcp_resources)
4041
implementation platform(libraries.google_cloud_bom)
4142
implementation platform(libraries.opentelemetry_bom)
4243
implementation project(':exporter-trace')
4344
implementation project(':propagators-gcp')
44-
implementation project(':detector-resources')
4545
}
4646

4747
tasks.build.dependsOn tasks.shadowJar

e2e-test-server/src/main/java/com/google/cloud/opentelemetry/endtoend/ScenarioHandlerManager.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
*/
1616
package com.google.cloud.opentelemetry.endtoend;
1717

18-
import com.google.cloud.opentelemetry.detectors.GCPResource;
1918
import com.google.cloud.opentelemetry.propagators.XCloudTraceContextPropagator;
2019
import com.google.cloud.opentelemetry.trace.TraceConfiguration;
2120
import com.google.cloud.opentelemetry.trace.TraceExporter;
@@ -28,6 +27,7 @@
2827
import io.opentelemetry.context.propagation.ContextPropagators;
2928
import io.opentelemetry.context.propagation.TextMapGetter;
3029
import io.opentelemetry.context.propagation.TextMapPropagator;
30+
import io.opentelemetry.contrib.gcp.resource.GCPResourceProvider;
3131
import io.opentelemetry.sdk.OpenTelemetrySdk;
3232
import io.opentelemetry.sdk.autoconfigure.ResourceConfiguration;
3333
import io.opentelemetry.sdk.autoconfigure.spi.internal.DefaultConfigProperties;
@@ -89,7 +89,7 @@ private Response basicTrace(Request request) {
8989
private Response detectResource(Request request) {
9090
LOGGER.info("Running detectResource test, request: " + request.toString());
9191
Resource gcpResource =
92-
new GCPResource()
92+
new GCPResourceProvider()
9393
.createResource(
9494
DefaultConfigProperties.create(
9595
Map.of("otel.traces.exporter", "none", "otel.metrics.exporter", "none")));

examples/autoconf/build.gradle

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,15 @@ dependencies {
2828
runtimeOnly(libraries.opentelemetry_sdk_autoconf)
2929
runtimeOnly(libraries.opentelemetry_sdk)
3030
runtimeOnly project(':exporter-auto')
31-
runtimeOnly project(':detector-resources')
31+
runtimeOnly(libraries.opentelemetry_gcp_resources)
3232
}
3333

3434
// Autoconfiguraation settings.
3535
// See: https://github.com/open-telemetry/opentelemetry-java/tree/main/sdk-extensions/autoconfigure
3636
def autoconf_config = [
3737
'-Dotel.traces.exporter=google_cloud_trace',
3838
'-Dotel.metrics.exporter=google_cloud_monitoring',
39+
'-Dotel.logs.exporter=none',
3940
'-Dotel.java.global-autoconfigure.enabled=true',
4041
]
4142

examples/metrics/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,5 +35,5 @@ dependencies {
3535
implementation(libraries.opentelemetry_sdk_metrics)
3636
implementation(libraries.google_cloud_monitoring)
3737
implementation project(':exporter-metrics')
38-
runtimeOnly project(':detector-resources')
38+
runtimeOnly(libraries.opentelemetry_gcp_resources)
3939
}

examples/resource/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ plugins {
2323
description = 'Examples for showing resource detection in various GCP environments.'
2424

2525
dependencies {
26-
implementation project(':detector-resources')
26+
implementation(libraries.opentelemetry_gcp_resources)
2727
implementation(libraries.opentelemetry_sdk_autoconf)
2828
implementation(libraries.opentelemetry_otlp_exporter)
2929
}

examples/resource/src/main/java/com/google/cloud/opentelemetry/example/resource/ResourceExample.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
*/
1616
package com.google.cloud.opentelemetry.example.resource;
1717

18-
import com.google.cloud.opentelemetry.detectors.GCPResource;
18+
import io.opentelemetry.contrib.gcp.resource.GCPResourceProvider;
1919
import io.opentelemetry.sdk.autoconfigure.ResourceConfiguration;
2020
import io.opentelemetry.sdk.resources.Resource;
2121

@@ -25,7 +25,7 @@ public static void main(String[] args) {
2525
Resource autoResource = ResourceConfiguration.createEnvironmentResource();
2626
System.out.println(autoResource.getAttributes());
2727
System.out.println("Detecting resource: hardcoded");
28-
GCPResource resourceProvider = new GCPResource();
28+
GCPResourceProvider resourceProvider = new GCPResourceProvider();
2929
System.out.println(resourceProvider.getAttributes());
3030
}
3131
}

0 commit comments

Comments
 (0)