Remove jaeger-thrift from agent distribution (#2073)
* Remove jaeger-thrift from agent distribution * Update test
This commit is contained in:
parent
7c3b183294
commit
97b8712e3b
10
README.md
10
README.md
|
@ -121,16 +121,6 @@ A simple wrapper for the Jaeger exporter of opentelemetry-java. This exporter us
|
||||||
| otel.exporter.jaeger.endpoint | OTEL_EXPORTER_JAEGER_ENDPOINT | The Jaeger gRPC endpoint to connect to. Default is `localhost:14250`. |
|
| otel.exporter.jaeger.endpoint | OTEL_EXPORTER_JAEGER_ENDPOINT | The Jaeger gRPC endpoint to connect to. Default is `localhost:14250`. |
|
||||||
| otel.exporter.jaeger.service.name | OTEL_EXPORTER_JAEGER_SERVICE_NAME | The service name of this JVM instance. Default is `unknown`. |
|
| otel.exporter.jaeger.service.name | OTEL_EXPORTER_JAEGER_SERVICE_NAME | The service name of this JVM instance. Default is `unknown`. |
|
||||||
|
|
||||||
##### Jaeger Thrift over HTTP exporter
|
|
||||||
|
|
||||||
A simple wrapper for the Jaeger exporter, but using Thrift encoded payloads over HTTP.
|
|
||||||
|
|
||||||
| System property | Environment variable | Description |
|
|
||||||
|-----------------------------------|-----------------------------------|----------------------------------------------------------------------------------------------------|
|
|
||||||
| otel.exporter=jaeger-thrift | OTEL_EXPORTER=jaeger-thrift | Select the Jaeger HTTP Thrift exporter |
|
|
||||||
| otel.exporter.jaeger.endpoint | OTEL_EXPORTER_JAEGER_ENDPOINT | The Jaeger HTTP endpoint to send thrift data to. Default is `http://localhost:14268/api/traces`. |
|
|
||||||
| otel.exporter.jaeger.service.name | OTEL_EXPORTER_JAEGER_SERVICE_NAME | The service name of this JVM instance. Default is `unknown`. |
|
|
||||||
|
|
||||||
##### Zipkin exporter
|
##### Zipkin exporter
|
||||||
A simple wrapper for the Zipkin exporter of opentelemetry-java. It sends JSON in [Zipkin format](https://zipkin.io/zipkin-api/#/default/post_spans) to a specified HTTP URL.
|
A simple wrapper for the Zipkin exporter of opentelemetry-java. It sends JSON in [Zipkin format](https://zipkin.io/zipkin-api/#/default/post_spans) to a specified HTTP URL.
|
||||||
|
|
||||||
|
|
|
@ -43,7 +43,6 @@ ext {
|
||||||
opentelemetrySdk : dependencies.create(group: 'io.opentelemetry', name: 'opentelemetry-sdk', version: versions.opentelemetry),
|
opentelemetrySdk : dependencies.create(group: 'io.opentelemetry', name: 'opentelemetry-sdk', version: versions.opentelemetry),
|
||||||
opentelemetrySdkMetrics : dependencies.create(group: 'io.opentelemetry', name: 'opentelemetry-sdk-metrics', version: versions.opentelemetryAlpha),
|
opentelemetrySdkMetrics : dependencies.create(group: 'io.opentelemetry', name: 'opentelemetry-sdk-metrics', version: versions.opentelemetryAlpha),
|
||||||
opentelemetryJaeger : dependencies.create(group: 'io.opentelemetry', name: 'opentelemetry-exporter-jaeger', version: versions.opentelemetry),
|
opentelemetryJaeger : dependencies.create(group: 'io.opentelemetry', name: 'opentelemetry-exporter-jaeger', version: versions.opentelemetry),
|
||||||
opentelemetryJaegerThrift : dependencies.create(group: 'io.opentelemetry', name: 'opentelemetry-exporter-jaeger-thrift', version: versions.opentelemetry),
|
|
||||||
opentelemetryOtlp : dependencies.create(group: 'io.opentelemetry', name: 'opentelemetry-exporter-otlp', version: versions.opentelemetry),
|
opentelemetryOtlp : dependencies.create(group: 'io.opentelemetry', name: 'opentelemetry-exporter-otlp', version: versions.opentelemetry),
|
||||||
opentelemetryOtlpMetrics : dependencies.create(group: 'io.opentelemetry', name: 'opentelemetry-exporter-otlp-metrics', version: versions.opentelemetryAlpha),
|
opentelemetryOtlpMetrics : dependencies.create(group: 'io.opentelemetry', name: 'opentelemetry-exporter-otlp-metrics', version: versions.opentelemetryAlpha),
|
||||||
opentelemetryZipkin : dependencies.create(group: 'io.opentelemetry', name: 'opentelemetry-exporter-zipkin', version: versions.opentelemetry),
|
opentelemetryZipkin : dependencies.create(group: 'io.opentelemetry', name: 'opentelemetry-exporter-zipkin', version: versions.opentelemetry),
|
||||||
|
|
|
@ -1,26 +0,0 @@
|
||||||
plugins {
|
|
||||||
id "com.github.johnrengelman.shadow"
|
|
||||||
}
|
|
||||||
|
|
||||||
apply from: "$rootDir/gradle/java.gradle"
|
|
||||||
apply from: "$rootDir/gradle/publish.gradle"
|
|
||||||
|
|
||||||
archivesBaseName = 'javaagent-exporter-jaeger-thrift'
|
|
||||||
|
|
||||||
dependencies {
|
|
||||||
compileOnly(project(":javaagent-spi"))
|
|
||||||
compileOnly deps.opentelemetrySdk
|
|
||||||
|
|
||||||
annotationProcessor deps.autoservice
|
|
||||||
compileOnly deps.autoservice
|
|
||||||
|
|
||||||
implementation(deps.opentelemetryJaegerThrift) {
|
|
||||||
exclude group: 'io.opentelemetry', module: 'opentelemetry-sdk'
|
|
||||||
exclude group: 'io.opentelemetry', module: 'opentelemetry-api'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
jar.enabled = false
|
|
||||||
shadowJar {
|
|
||||||
archiveClassifier = ''
|
|
||||||
}
|
|
|
@ -1,28 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright The OpenTelemetry Authors
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*/
|
|
||||||
|
|
||||||
package io.opentelemetry.javaagent.exporters.jaeger;
|
|
||||||
|
|
||||||
import com.google.auto.service.AutoService;
|
|
||||||
import io.opentelemetry.exporter.jaeger.thrift.JaegerThriftSpanExporter;
|
|
||||||
import io.opentelemetry.javaagent.spi.exporter.SpanExporterFactory;
|
|
||||||
import io.opentelemetry.sdk.trace.export.SpanExporter;
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.Properties;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
@AutoService(SpanExporterFactory.class)
|
|
||||||
public class JaegerThriftExporterFactory implements SpanExporterFactory {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public SpanExporter fromConfig(Properties config) {
|
|
||||||
return JaegerThriftSpanExporter.builder().readProperties(config).build();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Set<String> getNames() {
|
|
||||||
return Collections.singleton("jaeger-thrift");
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -14,7 +14,6 @@ dependencies {
|
||||||
|
|
||||||
testImplementation project(':javaagent-exporters:otlp')
|
testImplementation project(':javaagent-exporters:otlp')
|
||||||
testImplementation project(':javaagent-exporters:jaeger')
|
testImplementation project(':javaagent-exporters:jaeger')
|
||||||
testImplementation project(':javaagent-exporters:jaeger-thrift')
|
|
||||||
testImplementation project(':javaagent-exporters:logging')
|
testImplementation project(':javaagent-exporters:logging')
|
||||||
testImplementation project(':javaagent-exporters:zipkin')
|
testImplementation project(':javaagent-exporters:zipkin')
|
||||||
testImplementation project(':javaagent-exporters:prometheus')
|
testImplementation project(':javaagent-exporters:prometheus')
|
||||||
|
@ -23,7 +22,6 @@ dependencies {
|
||||||
tasks.withType(Test).configureEach() {
|
tasks.withType(Test).configureEach() {
|
||||||
dependsOn ':javaagent-exporters:otlp:shadowJar'
|
dependsOn ':javaagent-exporters:otlp:shadowJar'
|
||||||
dependsOn ':javaagent-exporters:jaeger:shadowJar'
|
dependsOn ':javaagent-exporters:jaeger:shadowJar'
|
||||||
dependsOn ':javaagent-exporters:jaeger-thrift:shadowJar'
|
|
||||||
dependsOn ':javaagent-exporters:logging:shadowJar'
|
dependsOn ':javaagent-exporters:logging:shadowJar'
|
||||||
dependsOn ':javaagent-exporters:zipkin:shadowJar'
|
dependsOn ':javaagent-exporters:zipkin:shadowJar'
|
||||||
dependsOn ':javaagent-exporters:prometheus:shadowJar'
|
dependsOn ':javaagent-exporters:prometheus:shadowJar'
|
||||||
|
@ -32,7 +30,6 @@ tasks.withType(Test).configureEach() {
|
||||||
systemProperty 'adapterRoot', "$rootDir/javaagent-exporters"
|
systemProperty 'adapterRoot', "$rootDir/javaagent-exporters"
|
||||||
systemProperty 'otlpExporterJar', project(':javaagent-exporters:otlp').tasks.shadowJar.archivePath
|
systemProperty 'otlpExporterJar', project(':javaagent-exporters:otlp').tasks.shadowJar.archivePath
|
||||||
systemProperty 'jaegerExporterJar', project(':javaagent-exporters:jaeger').tasks.shadowJar.archivePath
|
systemProperty 'jaegerExporterJar', project(':javaagent-exporters:jaeger').tasks.shadowJar.archivePath
|
||||||
systemProperty 'jaegerThriftExporterJar', project(':javaagent-exporters:jaeger-thrift').tasks.shadowJar.archivePath
|
|
||||||
systemProperty 'loggingExporterJar', project(':javaagent-exporters:logging').tasks.shadowJar.archivePath
|
systemProperty 'loggingExporterJar', project(':javaagent-exporters:logging').tasks.shadowJar.archivePath
|
||||||
systemProperty 'zipkinExporterJar', project(':javaagent-exporters:zipkin').tasks.shadowJar.archivePath
|
systemProperty 'zipkinExporterJar', project(':javaagent-exporters:zipkin').tasks.shadowJar.archivePath
|
||||||
systemProperty 'prometheusExporterJar', project(':javaagent-exporters:prometheus').tasks.shadowJar.archivePath
|
systemProperty 'prometheusExporterJar', project(':javaagent-exporters:prometheus').tasks.shadowJar.archivePath
|
||||||
|
@ -47,7 +44,6 @@ dependencies {
|
||||||
shadowInclude project(path: ':javaagent-exporters:logging', configuration: 'shadow')
|
shadowInclude project(path: ':javaagent-exporters:logging', configuration: 'shadow')
|
||||||
shadowInclude project(path: ':javaagent-exporters:otlp', configuration: 'shadow')
|
shadowInclude project(path: ':javaagent-exporters:otlp', configuration: 'shadow')
|
||||||
shadowInclude project(path: ':javaagent-exporters:jaeger', configuration: 'shadow')
|
shadowInclude project(path: ':javaagent-exporters:jaeger', configuration: 'shadow')
|
||||||
shadowInclude project(path: ':javaagent-exporters:jaeger-thrift', configuration: 'shadow')
|
|
||||||
shadowInclude project(path: ':javaagent-exporters:zipkin', configuration: 'shadow')
|
shadowInclude project(path: ':javaagent-exporters:zipkin', configuration: 'shadow')
|
||||||
shadowInclude project(path: ':javaagent-exporters:prometheus', configuration: 'shadow')
|
shadowInclude project(path: ':javaagent-exporters:prometheus', configuration: 'shadow')
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,9 +16,6 @@ class ExporterAdaptersTest extends Specification {
|
||||||
@Shared
|
@Shared
|
||||||
def jaegerExporterJar = System.getProperty("jaegerExporterJar")
|
def jaegerExporterJar = System.getProperty("jaegerExporterJar")
|
||||||
|
|
||||||
@Shared
|
|
||||||
def jaegerThriftExporterJar = System.getProperty("jaegerThriftExporterJar")
|
|
||||||
|
|
||||||
@Shared
|
@Shared
|
||||||
def loggingExporterJar = System.getProperty("loggingExporterJar")
|
def loggingExporterJar = System.getProperty("loggingExporterJar")
|
||||||
|
|
||||||
|
@ -33,7 +30,7 @@ class ExporterAdaptersTest extends Specification {
|
||||||
file != null
|
file != null
|
||||||
|
|
||||||
where:
|
where:
|
||||||
exporter << [otlpExporterJar, jaegerExporterJar, jaegerThriftExporterJar, loggingExporterJar, zipkinExporterJar]
|
exporter << [otlpExporterJar, jaegerExporterJar, loggingExporterJar, zipkinExporterJar]
|
||||||
}
|
}
|
||||||
|
|
||||||
def "test exporter load"() {
|
def "test exporter load"() {
|
||||||
|
@ -57,7 +54,6 @@ class ExporterAdaptersTest extends Specification {
|
||||||
exporter | classname
|
exporter | classname
|
||||||
otlpExporterJar | 'io.opentelemetry.javaagent.exporters.otlp.OtlpSpanExporterFactory'
|
otlpExporterJar | 'io.opentelemetry.javaagent.exporters.otlp.OtlpSpanExporterFactory'
|
||||||
jaegerExporterJar | 'io.opentelemetry.javaagent.exporters.jaeger.JaegerExporterFactory'
|
jaegerExporterJar | 'io.opentelemetry.javaagent.exporters.jaeger.JaegerExporterFactory'
|
||||||
jaegerThriftExporterJar | 'io.opentelemetry.javaagent.exporters.jaeger.JaegerThriftExporterFactory'
|
|
||||||
loggingExporterJar | 'io.opentelemetry.javaagent.exporters.logging.LoggingExporterFactory'
|
loggingExporterJar | 'io.opentelemetry.javaagent.exporters.logging.LoggingExporterFactory'
|
||||||
zipkinExporterJar | 'io.opentelemetry.javaagent.exporters.zipkin.ZipkinExporterFactory'
|
zipkinExporterJar | 'io.opentelemetry.javaagent.exporters.zipkin.ZipkinExporterFactory'
|
||||||
}
|
}
|
||||||
|
|
|
@ -214,7 +214,6 @@ include ':instrumentation-core:servlet-2.2'
|
||||||
// exporter adapters
|
// exporter adapters
|
||||||
include ":javaagent-exporters"
|
include ":javaagent-exporters"
|
||||||
include ":javaagent-exporters:jaeger"
|
include ":javaagent-exporters:jaeger"
|
||||||
include ":javaagent-exporters:jaeger-thrift"
|
|
||||||
include ":javaagent-exporters:logging"
|
include ":javaagent-exporters:logging"
|
||||||
include ":javaagent-exporters:otlp"
|
include ":javaagent-exporters:otlp"
|
||||||
include ":javaagent-exporters:zipkin"
|
include ":javaagent-exporters:zipkin"
|
||||||
|
|
|
@ -1,58 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright The OpenTelemetry Authors
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*/
|
|
||||||
|
|
||||||
package io.opentelemetry.smoketest
|
|
||||||
|
|
||||||
import io.opentelemetry.proto.collector.trace.v1.ExportTraceServiceRequest
|
|
||||||
import okhttp3.Request
|
|
||||||
|
|
||||||
import java.util.jar.Attributes
|
|
||||||
import java.util.jar.JarFile
|
|
||||||
|
|
||||||
import static java.util.stream.Collectors.toSet
|
|
||||||
|
|
||||||
class JaegerThriftExporterSmokeTest extends SmokeTest {
|
|
||||||
|
|
||||||
protected String getTargetImage(String jdk, String serverVersion) {
|
|
||||||
"ghcr.io/open-telemetry/java-test-containers:smoke-springboot-jdk$jdk-20210114.484678777"
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected Map<String, String> getExtraEnv() {
|
|
||||||
return [
|
|
||||||
"OTEL_EXPORTER" : "jaeger-thrift",
|
|
||||||
"OTEL_EXPORTER_JAEGER_ENDPOINT": "http://collector:14268/api/traces"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
||||||
def "spring boot smoke test with jaeger thrift"() {
|
|
||||||
setup:
|
|
||||||
startTarget(11)
|
|
||||||
|
|
||||||
String url = "http://localhost:${target.getMappedPort(8080)}/greeting"
|
|
||||||
def request = new Request.Builder().url(url).get().build()
|
|
||||||
|
|
||||||
def currentAgentVersion = new JarFile(agentPath).getManifest().getMainAttributes().get(Attributes.Name.IMPLEMENTATION_VERSION)
|
|
||||||
|
|
||||||
when:
|
|
||||||
def response = CLIENT.newCall(request).execute()
|
|
||||||
Collection<ExportTraceServiceRequest> traces = waitForTraces()
|
|
||||||
|
|
||||||
then:
|
|
||||||
response.body().string() == "Hi!"
|
|
||||||
countSpansByName(traces, '/greeting') == 1
|
|
||||||
countSpansByName(traces, 'WebController.greeting') == 1
|
|
||||||
countSpansByName(traces, 'WebController.withSpan') == 1
|
|
||||||
|
|
||||||
[currentAgentVersion] as Set == findResourceAttribute(traces, "telemetry.auto.version")
|
|
||||||
.map { it.stringValue }
|
|
||||||
.collect(toSet())
|
|
||||||
|
|
||||||
cleanup:
|
|
||||||
stopTarget()
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -12,8 +12,6 @@ receivers:
|
||||||
zipkin:
|
zipkin:
|
||||||
jaeger:
|
jaeger:
|
||||||
protocols:
|
protocols:
|
||||||
thrift_http:
|
|
||||||
endpoint: 0.0.0.0:14268
|
|
||||||
grpc:
|
grpc:
|
||||||
|
|
||||||
processors:
|
processors:
|
||||||
|
|
Loading…
Reference in New Issue