diff --git a/sdk/core/azure-core-tracing-opencensus/CHANGELOG.md b/sdk/core/azure-core-tracing-opencensus/CHANGELOG.md index 7e9f54f15c0f..f37153af1e75 100644 --- a/sdk/core/azure-core-tracing-opencensus/CHANGELOG.md +++ b/sdk/core/azure-core-tracing-opencensus/CHANGELOG.md @@ -1,4 +1,13 @@ # Release History +## Version 1.0.0-beta.5 (2019-11-26) +For details on the Azure SDK for Java (December 2019 Preview) release refer to the [release announcement](https://aka.ms/azure-sdk-preview6-java). +- Extended support for 0.24.0 opencensus-api package version. +- Added tracing instrumentation for Batch send operation in Eventhubs. + +This package's +[documentation](https://github.com/Azure/azure-sdk-for-java/blob/azure-core-tracing-opencensus_1.0.0-beta.5/sdk/core/azure-core-tracing-opencensus/README.md) +and +[samples](https://github.com/Azure/azure-sdk-for-java/blob/azure-core-tracing-opencensus_1.0.0-beta.5/sdk/core/azure-core-tracing-opencensus/src/samples). ## Version 1.0.0-preview.4 (2019-10-31) diff --git a/sdk/core/azure-core-tracing-opencensus/README.md b/sdk/core/azure-core-tracing-opencensus/README.md index abdc816c6205..acfa6391af93 100644 --- a/sdk/core/azure-core-tracing-opencensus/README.md +++ b/sdk/core/azure-core-tracing-opencensus/README.md @@ -19,7 +19,7 @@ documentation][api_documentation] | [Samples][samples] com.azure azure-core-tracing-opencensus - 1.0.0-beta.4 + 1.0.0-beta.5 ``` [//]: # ({x-version-update-end}) @@ -38,11 +38,11 @@ Netty and include OkHTTP client in your pom.xml. com.azure azure-core-tracing-opencensus - 1.0.0-beta.4 + 1.0.0-beta.5 com.azure - azure-core-http-netty + azure-core-http-netty @@ -53,7 +53,7 @@ Netty and include OkHTTP client in your pom.xml. com.azure - azure-core-http-okhttp + azure-core-http-okhttp 1.0.0 ``` @@ -134,13 +134,18 @@ private static final Tracer TRACER; public static void doClientWork() { EventHubProducerClient producer = new EventHubClientBuilder() .connectionString(CONNECTION_STRING) - .buildProducer(); + .buildProducerClient(); try (Scope scope = TRACER.spanBuilder("tracing-user-span").startScopedSpan()) { - Context tracingContext = new Context(PARENT_SPAN_KEY, TRACER.getCurrentSpan()); - // Create an event to send - final EventData eventData = new EventData("Hello world!".getBytes(UTF_8), traceContext); - producer.send(eventData); + EventData event1 = new EventData("1".getBytes(UTF_8)); + event1.addContext(PARENT_SPAN_KEY, span); + + EventDataBatch eventDataBatch = producer.createBatch(); + + if (!eventDataBatch.tryAdd(eventData)) { + producer.send(eventDataBatch); + eventDataBatch = producer.createBatch(); + } } finally { Tracing.getExportComponent().shutdown(); } diff --git a/sdk/core/azure-core-tracing-opencensus/src/samples/AsyncListKeyVaultSecrets.md b/sdk/core/azure-core-tracing-opencensus/src/samples/AsyncListKeyVaultSecrets.md index 01aa2ddd62fd..7897bb432df8 100644 --- a/sdk/core/azure-core-tracing-opencensus/src/samples/AsyncListKeyVaultSecrets.md +++ b/sdk/core/azure-core-tracing-opencensus/src/samples/AsyncListKeyVaultSecrets.md @@ -12,7 +12,7 @@ Sample uses **[opencensus-impl][opencensus_impl]** as implementation package and com.azure azure-security-keyvault-secrets - 4.0.0 + 4.1.0-beta.1 ``` [//]: # ({x-version-update-end}) @@ -22,7 +22,7 @@ Sample uses **[opencensus-impl][opencensus_impl]** as implementation package and com.azure azure-core-tracing-opencensus - 1.0.0-beta.4 + 1.0.0-beta.5 ``` [//]: # ({x-version-update-end}) diff --git a/sdk/core/azure-core-tracing-opencensus/src/samples/AsyncQueueClientEnqueueMessages.md b/sdk/core/azure-core-tracing-opencensus/src/samples/AsyncQueueClientEnqueueMessages.md index b8aaf0a1fb9c..f32d1463c30e 100644 --- a/sdk/core/azure-core-tracing-opencensus/src/samples/AsyncQueueClientEnqueueMessages.md +++ b/sdk/core/azure-core-tracing-opencensus/src/samples/AsyncQueueClientEnqueueMessages.md @@ -13,7 +13,7 @@ Sample uses **[opencensus-impl][opencensus_impl]** as implementation package and com.azure azure-storage-queue - 12.0.0 + 12.0.2 ``` [//]: # ({x-version-update-end}) @@ -23,7 +23,7 @@ Sample uses **[opencensus-impl][opencensus_impl]** as implementation package and com.azure azure-core-tracing-opencensus - 1.0.0-beta.4 + 1.0.0-beta.5 ``` [//]: # ({x-version-update-end}) diff --git a/sdk/core/azure-core-tracing-opencensus/src/samples/ListeKeyVaultSecrets.md b/sdk/core/azure-core-tracing-opencensus/src/samples/ListeKeyVaultSecrets.md index 6e1339b6d01b..0eba15c2f550 100644 --- a/sdk/core/azure-core-tracing-opencensus/src/samples/ListeKeyVaultSecrets.md +++ b/sdk/core/azure-core-tracing-opencensus/src/samples/ListeKeyVaultSecrets.md @@ -12,7 +12,7 @@ Sample uses **[opencensus-impl][opencensus_impl]** as implementation package and com.azure azure-security-keyvault-secrets - 4.0.0 + 4.1.0-beta.1 ``` [//]: # ({x-version-update-end}) @@ -22,7 +22,7 @@ Sample uses **[opencensus-impl][opencensus_impl]** as implementation package and com.azure azure-core-tracing-opencensus - 1.0.0-beta.4 + 1.0.0-beta.5 ``` [//]: # ({x-version-update-end}) diff --git a/sdk/core/azure-core-tracing-opencensus/src/samples/PublishEvents.md b/sdk/core/azure-core-tracing-opencensus/src/samples/PublishEvents.md index fb48bd0bd601..61f73847b05d 100644 --- a/sdk/core/azure-core-tracing-opencensus/src/samples/PublishEvents.md +++ b/sdk/core/azure-core-tracing-opencensus/src/samples/PublishEvents.md @@ -13,7 +13,7 @@ Sample uses **[opencensus-impl][opencensus_impl]** as implementation package and com.azure azure-messaging-eventhubs - 5.0.0-beta.5 + 5.0.0-beta.6 ``` [//]: # ({x-version-update-end}) @@ -22,7 +22,7 @@ Sample uses **[opencensus-impl][opencensus_impl]** as implementation package and com.azure azure-core-tracing-opencensus - 1.0.0-beta.4 + 1.0.0-beta.5 ``` [//]: # ({x-version-update-end}) @@ -66,25 +66,31 @@ public class PublishEvents { } public static void main(String[] args) { - final int count = 2; - final byte[] body = "Hello World!".getBytes(UTF_8); + EventHubProducerClient producer = new EventHubClientBuilder() + .connectionString(connectionString) + .buildProducerClient(); try(Scope scope = TRACER.spanBuilder("user-parent-span").startScopedSpan()) { + final EventData event1 = new EventData("1".getBytes(UTF_8)); + event1.addContext(PARENT_SPAN_KEY, TRACER.getCurrentSpan()); + + final EventData event2 = new EventData("2".getBytes(UTF_8)); + event2.addContext(PARENT_SPAN_KEY, TRACER.getCurrentSpan()); - Context traceContext = new Context(PARENT_SPAN_KEY, TRACER.getCurrentSpan()); - - EventHubProducerClient producer = new EventHubClientBuilder() - .connectionString(CONNECTION_STRING) - .buildProducer(); + final List telemetryEvents = Arrays.asList(event1, event2); + final CreateBatchOptions options = new CreateBatchOptions() + .setPartitionKey("telemetry") + .setMaximumSizeInBytes(256); + + EventDataBatch currentBatch = producer.createBatch(options); - final Context traceContext = new Context(PARENT_SPAN_KEY, TRACER.getCurrentSpan()); - final Flux testData = Flux.range(0, count) - .flatMap(number -> { - final EventData data = new EventData(body, traceContext); - return Flux.just(data); - }); - - producer.send(testData.toIterable(1)); + // For each telemetry event, we try to add it to the current batch. + for (EventData event : telemetryEvents) { + if (!currentBatch.tryAdd(event)) { + producer.send(currentBatch); + currentBatch = producer.createBatch(options); + } + } } finally { producer.close(); Tracing.getExportComponent().shutdown(); diff --git a/sdk/core/azure-core-tracing-opencensus/src/samples/QueueClientEnqueueMessages.md b/sdk/core/azure-core-tracing-opencensus/src/samples/QueueClientEnqueueMessages.md index 8420f1e8e250..63699875503c 100644 --- a/sdk/core/azure-core-tracing-opencensus/src/samples/QueueClientEnqueueMessages.md +++ b/sdk/core/azure-core-tracing-opencensus/src/samples/QueueClientEnqueueMessages.md @@ -13,7 +13,7 @@ Sample uses **[opencensus-impl][opencensus_impl]** as implementation package and com.azure azure-storage-queue - 12.0.0 + 12.0.2 ``` [//]: # ({x-version-update-end}) @@ -23,7 +23,7 @@ Sample uses **[opencensus-impl][opencensus_impl]** as implementation package and com.azure azure-core-tracing-opencensus - 1.0.0-beta.4 + 1.0.0-beta.5 ``` [//]: # ({x-version-update-end}) diff --git a/sdk/core/azure-core-tracing-opentelemetry/CHANGELOG.md b/sdk/core/azure-core-tracing-opentelemetry/CHANGELOG.md index 4239c9da32e7..20d149922359 100644 --- a/sdk/core/azure-core-tracing-opentelemetry/CHANGELOG.md +++ b/sdk/core/azure-core-tracing-opentelemetry/CHANGELOG.md @@ -1,5 +1,14 @@ # Release History -## Version 1.0.0-beta.1 (-12-) +## Version 1.0.0-beta.1 (2019-11-26) For details on the Azure SDK for Java (Decemeber 2019 Preview) release refer to the [release announcement](https://aka.ms/azure-sdk-preview5-java). +Version 1.0.0-beta.1 is the first preview of our efforts to provide low level interfaces and helper methods to support tracing for Java client libraries. +This library includes [OpenTelemetry](https://opentelemetry.io/) implementation of the interface. +This library added tracing instrumentation for AMQP and HTTP Java SDK client libraries across different languages and platforms. + +This package's +[documentation](https://github.com/Azure/azure-sdk-for-java/blob/azure-core-tracing-opentelemetry_1.0.0-beta.1/sdk/core/azure-core-tracing-opentelemetry/README.md) +and +[samples](https://github.com/Azure/azure-sdk-for-java/blob/azure-core-tracing-opentelemetry_1.0.0-beta.1/sdk/core/azure-core-tracing-opentelemetry/src/samples). + diff --git a/sdk/core/azure-core-tracing-opentelemetry/README.md b/sdk/core/azure-core-tracing-opentelemetry/README.md index 11ecbb277759..4cc6f4cfc4c7 100644 --- a/sdk/core/azure-core-tracing-opentelemetry/README.md +++ b/sdk/core/azure-core-tracing-opentelemetry/README.md @@ -18,7 +18,7 @@ documentation][api_documentation] | [Samples][samples] com.azure azure-core-tracing-opentelemetry - 1.0.0-beta.1 + 1.0.0-beta.1 ``` [//]: # ({x-version-update-end}) @@ -37,7 +37,7 @@ Netty and include OkHTTP client in your pom.xml. com.azure azure-core-tracing-opentelemetry - 1.0.0-beta.1 + 1.0.0-beta.1 com.azure @@ -53,7 +53,7 @@ Netty and include OkHTTP client in your pom.xml. com.azure azure-core-http-okhttp - 1.0.0 + 1.0.0 ``` [//]: # ({x-version-update-end}) @@ -136,13 +136,19 @@ private static final TracerSdkFactory TRACER_SDK_FACTORY; private static void doClientWork() { EventHubProducerClient producer = new EventHubClientBuilder() .connectionString(CONNECTION_STRING) - .buildProducer(); + .buildProducerClient(); Span span = TRACER.spanBuilder("user-parent-span").startSpan(); try (Scope scope = TRACER.withSpan(span)) { - Context traceContext = new Context(PARENT_SPAN_KEY, span); - EventData eventData = new EventData("Hello world!".getBytes(UTF_8), traceContext); - producer.send(eventData); + EventData event1 = new EventData("1".getBytes(UTF_8)); + event1.addContext(PARENT_SPAN_KEY, span); + + EventDataBatch eventDataBatch = producer.createBatch(); + + if (!eventDataBatch.tryAdd(eventData)) { + producer.send(eventDataBatch); + eventDataBatch = producer.createBatch(); + } } finally { span.end(); } diff --git a/sdk/core/azure-core-tracing-opentelemetry/src/samples/AsyncListKeyVaultSecretsSample.md b/sdk/core/azure-core-tracing-opentelemetry/src/samples/AsyncListKeyVaultSecretsSample.md index 93fcda73a2c4..a977578cb457 100644 --- a/sdk/core/azure-core-tracing-opentelemetry/src/samples/AsyncListKeyVaultSecretsSample.md +++ b/sdk/core/azure-core-tracing-opentelemetry/src/samples/AsyncListKeyVaultSecretsSample.md @@ -10,22 +10,22 @@ Sample uses **[opentelemetry-sdk][opentelemetry_sdk]** as implementation package io.opentelemetry opentelemetry-sdk - 0.2.0-SNAPSHOT + 0.2.0 com.azure azure-security-keyvault-secrets - 4.0.0 + 4.1.0-beta.1 com.azure azure-core-tracing-opentelemetry - 1.0.0-beta.1 + 1.0.0-beta.1 io.opentelemetry opentelemetry-exporters-logging - 0.2.0-SNAPSHOT + 0.2.0 ``` diff --git a/sdk/core/azure-core-tracing-opentelemetry/src/samples/CreateConfigurationSettingTracingSample.md b/sdk/core/azure-core-tracing-opentelemetry/src/samples/CreateConfigurationSettingTracingSample.md index 17e8ae375d8d..b13c710ceff6 100644 --- a/sdk/core/azure-core-tracing-opentelemetry/src/samples/CreateConfigurationSettingTracingSample.md +++ b/sdk/core/azure-core-tracing-opentelemetry/src/samples/CreateConfigurationSettingTracingSample.md @@ -10,22 +10,22 @@ Sample uses **[opentelemetry-sdk][opentelemetry_sdk]** as implementation package io.opentelemetry opentelemetry-sdk - 0.2.0-SNAPSHOT + 0.2.0 com.azure azure-data-appconfiguration - 1.0.0-beta.7 + 1.0.0-beta.7 com.azure azure-core-tracing-opentelemetry - 1.0.0-beta.1 + 1.0.0-beta.1 io.opentelemetry opentelemetry-exporters-logging - 0.2.0-SNAPSHOT + 0.2.0 diff --git a/sdk/core/azure-core-tracing-opentelemetry/src/samples/ListKeyVaultSecretsTracingSample.md b/sdk/core/azure-core-tracing-opentelemetry/src/samples/ListKeyVaultSecretsTracingSample.md index e06422cc0542..cf0711238ad4 100644 --- a/sdk/core/azure-core-tracing-opentelemetry/src/samples/ListKeyVaultSecretsTracingSample.md +++ b/sdk/core/azure-core-tracing-opentelemetry/src/samples/ListKeyVaultSecretsTracingSample.md @@ -10,22 +10,22 @@ Sample uses **[opentelemetry-sdk][opentelemetry_sdk]** as implementation package io.opentelemetry opentelemetry-sdk - 0.2.0-SNAPSHOT + 0.2.0 com.azure azure-security-keyvault-secrets - 4.0.0 + 4.1.0-beta.1 com.azure azure-core-tracing-opentelemetry - 1.0.0-beta.1 + 1.0.0-beta.1 io.opentelemetry opentelemetry-exporters-logging - 0.2.0-SNAPSHOT + 0.2.0 ``` diff --git a/sdk/core/azure-core-tracing-opentelemetry/src/samples/PublishEventsTracingSample.md b/sdk/core/azure-core-tracing-opentelemetry/src/samples/PublishEventsTracingSample.md index d1953f3f277c..91ed0e1bc79a 100644 --- a/sdk/core/azure-core-tracing-opentelemetry/src/samples/PublishEventsTracingSample.md +++ b/sdk/core/azure-core-tracing-opentelemetry/src/samples/PublishEventsTracingSample.md @@ -10,22 +10,22 @@ Sample uses **[opentelemetry-sdk][opentelemetry_sdk]** for implementation and ** io.opentelemetry opentelemetry-sdk - 0.2.0-SNAPSHOT + 0.2.0 com.azure azure-messaging-eventhubs - 5.0.0-beta.5 + 5.0.0-beta.6 com.azure azure-core-tracing-opentelemetry - 1.0.0-beta.1 + 1.0.0-beta.1 io.opentelemetry opentelemetry-exporters-logging - 0.2.0-SNAPSHOT + 0.2.0 @@ -74,20 +74,31 @@ public class Sample { private static void doClientWork() { EventHubProducerClient producer = new EventHubClientBuilder() - .connectionString(CONNECTION_STRING) - .buildProducer(); - - final int count = 2; - final byte[] body = "Hello World!".getBytes(UTF_8); + .connectionString(connectionString) + .buildProducerClient(); Span span = TRACER.spanBuilder("user-parent-span").startSpan(); try (final Scope scope = TRACER.withSpan(span)) { - final Context traceContext = new Context(PARENT_SPAN_KEY, span); - final Flux testData = Flux.range(0, count).flatMap(number -> { - final EventData data = new EventData(body, traceContext); - return Flux.just(data); - }); - producer.send(testData.toIterable(1)); + final EventData event1 = new EventData("1".getBytes(UTF_8)); + event1.addContext(PARENT_SPAN_KEY, span); + + final EventData event2 = new EventData("2".getBytes(UTF_8)); + event2.addContext(PARENT_SPAN_KEY, span); + + final List telemetryEvents = Arrays.asList(event1, event2); + final CreateBatchOptions options = new CreateBatchOptions() + .setPartitionKey("telemetry") + .setMaximumSizeInBytes(256); + + EventDataBatch currentBatch = producer.createBatch(options); + + // For each telemetry event, we try to add it to the current batch. + for (EventData event : telemetryEvents) { + if (!currentBatch.tryAdd(event)) { + producer.send(currentBatch); + currentBatch = producer.createBatch(options); + } + } } finally { span.end(); producer.close();