Date: Thu, 5 Dec 2024 19:33:56 -0500
Subject: [PATCH 6/7] chore: improve metrics setup for easier discovery (#2446)
---
.../v2/stub/metrics/BuiltinMetricsView.java | 5 ++-
.../CustomOpenTelemetryMetricsProvider.java | 33 +++++++++++++++++--
.../bigtable/data/v2/it/BuiltinMetricsIT.java | 3 +-
.../v2/it/StreamingMetricsMetadataIT.java | 3 +-
.../data/v2/it/UnaryMetricsMetadataIT.java | 3 +-
5 files changed, 38 insertions(+), 9 deletions(-)
diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/BuiltinMetricsView.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/BuiltinMetricsView.java
index 07679af8d2..68836a7e71 100644
--- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/BuiltinMetricsView.java
+++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/BuiltinMetricsView.java
@@ -29,8 +29,11 @@
/**
* A util class to register built-in metrics on a custom OpenTelemetry instance. This is for
* advanced usage, and is only necessary when wanting to write built-in metrics to cloud monitoring
- * and custom sinks. Please refer to {@link CustomOpenTelemetryMetricsProvider} for example usage.
+ * and custom sinks.
+ *
+ * @deprecated Use methods in {@link CustomOpenTelemetryMetricsProvider} instead.
*/
+@Deprecated
public class BuiltinMetricsView {
private BuiltinMetricsView() {}
diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/CustomOpenTelemetryMetricsProvider.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/CustomOpenTelemetryMetricsProvider.java
index d728d657ae..efcec28ffa 100644
--- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/CustomOpenTelemetryMetricsProvider.java
+++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/CustomOpenTelemetryMetricsProvider.java
@@ -15,8 +15,11 @@
*/
package com.google.cloud.bigtable.data.v2.stub.metrics;
+import com.google.auth.Credentials;
import com.google.common.base.MoreObjects;
import io.opentelemetry.api.OpenTelemetry;
+import io.opentelemetry.sdk.metrics.SdkMeterProviderBuilder;
+import java.io.IOException;
/**
* Set a custom OpenTelemetry instance.
@@ -26,8 +29,8 @@
* {@code
* SdkMeterProviderBuilder sdkMeterProvider = SdkMeterProvider.builder();
*
- * // register Builtin metrics on your meter provider with default credentials
- * BuiltinMetricsView.registerBuiltinMetrics(sdkMeterProvider);
+ * // Set up SdkMeterProvider for client side metrics
+ * CustomOpenTelemetryMetricsProvider.setupSdkMeterProvider(sdkMeterProvider);
*
* // register other metrics reader and views
* sdkMeterProvider.registerMetricReader(..);
@@ -63,6 +66,32 @@ public OpenTelemetry getOpenTelemetry() {
return otel;
}
+ /**
+ * Convenient method to set up SdkMeterProviderBuilder with the default credential and endpoint.
+ */
+ public static void setupSdkMeterProvider(SdkMeterProviderBuilder builder) throws IOException {
+ setupSdkMeterProvider(builder, null, null);
+ }
+
+ /** Convenient method to set up SdkMeterProviderBuilder with a custom credential. */
+ public static void setupSdkMeterProvider(SdkMeterProviderBuilder builder, Credentials credentials)
+ throws IOException {
+ setupSdkMeterProvider(builder, credentials, null);
+ }
+
+ /** Convenient method to set up SdkMeterProviderBuilder with a custom endpoint. */
+ public static void setupSdkMeterProvider(SdkMeterProviderBuilder builder, String endpoint)
+ throws IOException {
+ setupSdkMeterProvider(builder, null, endpoint);
+ }
+
+ /** Convenient method to set up SdkMeterProviderBuilder with a custom credentials and endpoint. */
+ public static void setupSdkMeterProvider(
+ SdkMeterProviderBuilder builder, Credentials credentials, String endpoint)
+ throws IOException {
+ BuiltinMetricsView.registerBuiltinMetrics(credentials, builder, endpoint);
+ }
+
@Override
public String toString() {
return MoreObjects.toStringHelper(this).add("openTelemetry", otel).toString();
diff --git a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/it/BuiltinMetricsIT.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/it/BuiltinMetricsIT.java
index d929627e12..5ec24830c7 100644
--- a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/it/BuiltinMetricsIT.java
+++ b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/it/BuiltinMetricsIT.java
@@ -33,7 +33,6 @@
import com.google.cloud.bigtable.data.v2.models.Row;
import com.google.cloud.bigtable.data.v2.models.RowMutation;
import com.google.cloud.bigtable.data.v2.stub.metrics.BuiltinMetricsConstants;
-import com.google.cloud.bigtable.data.v2.stub.metrics.BuiltinMetricsView;
import com.google.cloud.bigtable.data.v2.stub.metrics.CustomOpenTelemetryMetricsProvider;
import com.google.cloud.bigtable.test_helpers.env.CloudEnv;
import com.google.cloud.bigtable.test_helpers.env.PrefixGenerator;
@@ -135,7 +134,7 @@ public void setup() throws IOException {
SdkMeterProviderBuilder meterProvider =
SdkMeterProvider.builder().registerMetricReader(metricReader);
- BuiltinMetricsView.registerBuiltinMetrics(testEnvRule.env().getProjectId(), meterProvider);
+ CustomOpenTelemetryMetricsProvider.setupSdkMeterProvider(meterProvider);
OpenTelemetry openTelemetry =
OpenTelemetrySdk.builder().setMeterProvider(meterProvider.build()).build();
diff --git a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/it/StreamingMetricsMetadataIT.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/it/StreamingMetricsMetadataIT.java
index 11da6a6c15..2685819f08 100644
--- a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/it/StreamingMetricsMetadataIT.java
+++ b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/it/StreamingMetricsMetadataIT.java
@@ -29,7 +29,6 @@
import com.google.cloud.bigtable.data.v2.models.Query;
import com.google.cloud.bigtable.data.v2.models.Row;
import com.google.cloud.bigtable.data.v2.stub.metrics.BuiltinMetricsConstants;
-import com.google.cloud.bigtable.data.v2.stub.metrics.BuiltinMetricsView;
import com.google.cloud.bigtable.data.v2.stub.metrics.CustomOpenTelemetryMetricsProvider;
import com.google.cloud.bigtable.test_helpers.env.EmulatorEnv;
import com.google.cloud.bigtable.test_helpers.env.TestEnvRule;
@@ -72,7 +71,7 @@ public void setup() throws IOException {
SdkMeterProviderBuilder meterProvider =
SdkMeterProvider.builder().registerMetricReader(metricReader);
- BuiltinMetricsView.registerBuiltinMetrics(testEnvRule.env().getProjectId(), meterProvider);
+ CustomOpenTelemetryMetricsProvider.setupSdkMeterProvider(meterProvider);
OpenTelemetry openTelemetry =
OpenTelemetrySdk.builder().setMeterProvider(meterProvider.build()).build();
diff --git a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/it/UnaryMetricsMetadataIT.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/it/UnaryMetricsMetadataIT.java
index a6e4f9e88b..0196614299 100644
--- a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/it/UnaryMetricsMetadataIT.java
+++ b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/it/UnaryMetricsMetadataIT.java
@@ -28,7 +28,6 @@
import com.google.cloud.bigtable.data.v2.BigtableDataSettings;
import com.google.cloud.bigtable.data.v2.models.RowMutation;
import com.google.cloud.bigtable.data.v2.stub.metrics.BuiltinMetricsConstants;
-import com.google.cloud.bigtable.data.v2.stub.metrics.BuiltinMetricsView;
import com.google.cloud.bigtable.data.v2.stub.metrics.CustomOpenTelemetryMetricsProvider;
import com.google.cloud.bigtable.test_helpers.env.EmulatorEnv;
import com.google.cloud.bigtable.test_helpers.env.TestEnvRule;
@@ -71,7 +70,7 @@ public void setup() throws IOException {
SdkMeterProviderBuilder meterProvider =
SdkMeterProvider.builder().registerMetricReader(metricReader);
- BuiltinMetricsView.registerBuiltinMetrics(testEnvRule.env().getProjectId(), meterProvider);
+ CustomOpenTelemetryMetricsProvider.setupSdkMeterProvider(meterProvider);
OpenTelemetry openTelemetry =
OpenTelemetrySdk.builder().setMeterProvider(meterProvider.build()).build();
From f98dca123363e7c5b1faee9420f67655ca4237be Mon Sep 17 00:00:00 2001
From: "release-please[bot]"
<55107282+release-please[bot]@users.noreply.github.com>
Date: Tue, 10 Dec 2024 15:10:35 -0500
Subject: [PATCH 7/7] chore(main): release 2.50.0 (#2444)
* chore(main): release 2.50.0
* chore: generate libraries at Fri Dec 6 00:34:58 UTC 2024
---------
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: cloud-java-bot
---
CHANGELOG.md | 7 +++++++
README.md | 6 +++---
google-cloud-bigtable-bom/pom.xml | 16 ++++++++--------
google-cloud-bigtable-deps-bom/pom.xml | 2 +-
google-cloud-bigtable-emulator-core/pom.xml | 4 ++--
google-cloud-bigtable-emulator/pom.xml | 10 +++++-----
google-cloud-bigtable/pom.xml | 10 +++++-----
.../java/com/google/cloud/bigtable/Version.java | 2 +-
grpc-google-cloud-bigtable-admin-v2/pom.xml | 8 ++++----
grpc-google-cloud-bigtable-v2/pom.xml | 8 ++++----
pom.xml | 12 ++++++------
proto-google-cloud-bigtable-admin-v2/pom.xml | 8 ++++----
proto-google-cloud-bigtable-v2/pom.xml | 8 ++++----
samples/snapshot/pom.xml | 2 +-
test-proxy/pom.xml | 4 ++--
versions.txt | 14 +++++++-------
16 files changed, 64 insertions(+), 57 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 974ce8dd2d..d0e5f1d678 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,12 @@
# Changelog
+## [2.50.0](https://github.com/googleapis/java-bigtable/compare/v2.49.0...v2.50.0) (2024-12-06)
+
+
+### Features
+
+* Add support for Row Affinity app profiles ([#2341](https://github.com/googleapis/java-bigtable/issues/2341)) ([cb4d60e](https://github.com/googleapis/java-bigtable/commit/cb4d60e8ce2079a270739ad91efb05cbb1ff74f8))
+
## [2.49.0](https://github.com/googleapis/java-bigtable/compare/v2.48.0...v2.49.0) (2024-12-03)
diff --git a/README.md b/README.md
index 111bc7245f..c1b80b33e8 100644
--- a/README.md
+++ b/README.md
@@ -56,13 +56,13 @@ implementation 'com.google.cloud:google-cloud-bigtable'
If you are using Gradle without BOM, add this to your dependencies:
```Groovy
-implementation 'com.google.cloud:google-cloud-bigtable:2.49.0'
+implementation 'com.google.cloud:google-cloud-bigtable:2.50.0'
```
If you are using SBT, add this to your dependencies:
```Scala
-libraryDependencies += "com.google.cloud" % "google-cloud-bigtable" % "2.49.0"
+libraryDependencies += "com.google.cloud" % "google-cloud-bigtable" % "2.50.0"
```
## Authentication
@@ -543,7 +543,7 @@ Java is a registered trademark of Oracle and/or its affiliates.
[kokoro-badge-link-5]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-bigtable/java11.html
[stability-image]: https://img.shields.io/badge/stability-stable-green
[maven-version-image]: https://img.shields.io/maven-central/v/com.google.cloud/google-cloud-bigtable.svg
-[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-bigtable/2.49.0
+[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-bigtable/2.50.0
[authentication]: https://github.com/googleapis/google-cloud-java#authentication
[auth-scopes]: https://developers.google.com/identity/protocols/oauth2/scopes
[predefined-iam-roles]: https://cloud.google.com/iam/docs/understanding-roles#predefined_roles
diff --git a/google-cloud-bigtable-bom/pom.xml b/google-cloud-bigtable-bom/pom.xml
index c1834f4c26..dc263e647b 100644
--- a/google-cloud-bigtable-bom/pom.xml
+++ b/google-cloud-bigtable-bom/pom.xml
@@ -3,7 +3,7 @@
4.0.0
com.google.cloud
google-cloud-bigtable-bom
- 2.49.1-SNAPSHOT
+ 2.50.0
pom
com.google.cloud
@@ -63,37 +63,37 @@
com.google.cloud
google-cloud-bigtable
- 2.49.1-SNAPSHOT
+ 2.50.0
com.google.cloud
google-cloud-bigtable-emulator
- 0.186.1-SNAPSHOT
+ 0.187.0
com.google.cloud
google-cloud-bigtable-emulator-core
- 0.186.1-SNAPSHOT
+ 0.187.0
com.google.api.grpc
grpc-google-cloud-bigtable-admin-v2
- 2.49.1-SNAPSHOT
+ 2.50.0
com.google.api.grpc
grpc-google-cloud-bigtable-v2
- 2.49.1-SNAPSHOT
+ 2.50.0
com.google.api.grpc
proto-google-cloud-bigtable-admin-v2
- 2.49.1-SNAPSHOT
+ 2.50.0
com.google.api.grpc
proto-google-cloud-bigtable-v2
- 2.49.1-SNAPSHOT
+ 2.50.0