Skip to content

Commit 5ee65f2

Browse files
chore: move non-public opencensus impl to internal.metrics
Change-Id: I9e12571f8f361c0a1345d8cdbd5deb3a44be7f51
1 parent 65f0f4b commit 5ee65f2

File tree

16 files changed

+107
-117
lines changed

16 files changed

+107
-117
lines changed

google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/internal/csm/MetricsImpl.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,12 @@
2424
import com.google.cloud.bigtable.data.v2.internal.csm.MetricRegistry.RecorderRegistry;
2525
import com.google.cloud.bigtable.data.v2.internal.csm.attributes.ClientInfo;
2626
import com.google.cloud.bigtable.data.v2.internal.csm.attributes.EnvInfo;
27+
import com.google.cloud.bigtable.data.v2.internal.csm.opencensus.MetricsTracerFactory;
28+
import com.google.cloud.bigtable.data.v2.internal.csm.opencensus.RpcMeasureConstants;
2729
import com.google.cloud.bigtable.data.v2.stub.metrics.BigtableCloudMonitoringExporter;
2830
import com.google.cloud.bigtable.data.v2.stub.metrics.BuiltinMetricsTracerFactory;
2931
import com.google.cloud.bigtable.data.v2.stub.metrics.ChannelPoolMetricsTracer;
3032
import com.google.cloud.bigtable.data.v2.stub.metrics.CompositeTracerFactory;
31-
import com.google.cloud.bigtable.data.v2.stub.metrics.MetricsTracerFactory;
32-
import com.google.cloud.bigtable.data.v2.stub.metrics.RpcMeasureConstants;
3333
import com.google.common.base.Preconditions;
3434
import com.google.common.collect.ImmutableList;
3535
import com.google.common.collect.ImmutableMap;

google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/internal/csm/attributes/Util.java

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,15 @@
1616

1717
package com.google.cloud.bigtable.data.v2.internal.csm.attributes;
1818

19+
import com.google.api.gax.grpc.GrpcStatusCode;
20+
import com.google.api.gax.rpc.ApiException;
1921
import com.google.bigtable.v2.PeerInfo;
2022
import com.google.bigtable.v2.PeerInfo.TransportType;
2123
import com.google.bigtable.v2.ResponseParams;
24+
import io.grpc.Status;
2225
import java.util.Locale;
2326
import java.util.Optional;
27+
import java.util.concurrent.CancellationException;
2428
import javax.annotation.Nullable;
2529

2630
public class Util {
@@ -68,4 +72,26 @@ public static String formatZoneIdMetricLabel(@Nullable ResponseParams clusterInf
6872
.filter(s -> !s.isEmpty())
6973
.orElse("global");
7074
}
75+
76+
public static Status.Code extractStatus(@Nullable Throwable error) {
77+
if (error == null) {
78+
return Status.Code.OK;
79+
}
80+
// Handle java CancellationException as if it was a gax CancelledException
81+
if (error instanceof CancellationException) {
82+
return Status.Code.CANCELLED;
83+
}
84+
if (error instanceof ApiException) {
85+
ApiException apiException = (ApiException) error;
86+
if (apiException.getStatusCode() instanceof GrpcStatusCode) {
87+
return ((GrpcStatusCode) apiException.getStatusCode()).getTransportCode();
88+
}
89+
}
90+
91+
Status s = Status.fromThrowable(error);
92+
if (s != null) {
93+
return s.getCode();
94+
}
95+
return Status.Code.UNKNOWN;
96+
}
7197
}

google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/MetricsTracer.java renamed to google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/internal/csm/opencensus/MetricsTracer.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,17 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
package com.google.cloud.bigtable.data.v2.stub.metrics;
16+
package com.google.cloud.bigtable.data.v2.internal.csm.opencensus;
1717

1818
import static com.google.api.gax.util.TimeConversionUtils.toJavaTimeDuration;
1919

2020
import com.google.api.core.ObsoleteApi;
2121
import com.google.api.gax.retrying.ServerStreamingAttemptException;
2222
import com.google.api.gax.tracing.ApiTracerFactory.OperationType;
2323
import com.google.api.gax.tracing.SpanName;
24+
import com.google.cloud.bigtable.data.v2.internal.csm.attributes.Util;
2425
import com.google.cloud.bigtable.data.v2.stub.MetadataExtractorInterceptor;
26+
import com.google.cloud.bigtable.data.v2.stub.metrics.BigtableTracer;
2527
import com.google.common.base.Stopwatch;
2628
import io.opencensus.stats.MeasureMap;
2729
import io.opencensus.stats.StatsRecorder;

google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/MetricsTracerFactory.java renamed to google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/internal/csm/opencensus/MetricsTracerFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
package com.google.cloud.bigtable.data.v2.stub.metrics;
16+
package com.google.cloud.bigtable.data.v2.internal.csm.opencensus;
1717

1818
import com.google.api.core.InternalApi;
1919
import com.google.api.gax.tracing.ApiTracer;

google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/RpcMeasureConstants.java renamed to google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/internal/csm/opencensus/RpcMeasureConstants.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
package com.google.cloud.bigtable.data.v2.stub.metrics;
16+
package com.google.cloud.bigtable.data.v2.internal.csm.opencensus;
1717

1818
import com.google.api.core.InternalApi;
1919
import io.opencensus.stats.Measure.MeasureLong;

google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/RpcViewConstants.java renamed to google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/internal/csm/opencensus/RpcViewConstants.java

Lines changed: 32 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -13,22 +13,24 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
package com.google.cloud.bigtable.data.v2.stub.metrics;
17-
18-
import static com.google.cloud.bigtable.data.v2.stub.metrics.RpcMeasureConstants.BIGTABLE_APP_PROFILE_ID;
19-
import static com.google.cloud.bigtable.data.v2.stub.metrics.RpcMeasureConstants.BIGTABLE_ATTEMPT_LATENCY;
20-
import static com.google.cloud.bigtable.data.v2.stub.metrics.RpcMeasureConstants.BIGTABLE_BATCH_THROTTLED_TIME;
21-
import static com.google.cloud.bigtable.data.v2.stub.metrics.RpcMeasureConstants.BIGTABLE_GFE_HEADER_MISSING_COUNT;
22-
import static com.google.cloud.bigtable.data.v2.stub.metrics.RpcMeasureConstants.BIGTABLE_GFE_LATENCY;
23-
import static com.google.cloud.bigtable.data.v2.stub.metrics.RpcMeasureConstants.BIGTABLE_INSTANCE_ID;
24-
import static com.google.cloud.bigtable.data.v2.stub.metrics.RpcMeasureConstants.BIGTABLE_OP;
25-
import static com.google.cloud.bigtable.data.v2.stub.metrics.RpcMeasureConstants.BIGTABLE_OP_ATTEMPT_COUNT;
26-
import static com.google.cloud.bigtable.data.v2.stub.metrics.RpcMeasureConstants.BIGTABLE_OP_LATENCY;
27-
import static com.google.cloud.bigtable.data.v2.stub.metrics.RpcMeasureConstants.BIGTABLE_PROJECT_ID;
28-
import static com.google.cloud.bigtable.data.v2.stub.metrics.RpcMeasureConstants.BIGTABLE_READ_ROWS_FIRST_ROW_LATENCY;
29-
import static com.google.cloud.bigtable.data.v2.stub.metrics.RpcMeasureConstants.BIGTABLE_STATUS;
16+
package com.google.cloud.bigtable.data.v2.internal.csm.opencensus;
3017

18+
import static com.google.cloud.bigtable.data.v2.internal.csm.opencensus.RpcMeasureConstants.BIGTABLE_APP_PROFILE_ID;
19+
import static com.google.cloud.bigtable.data.v2.internal.csm.opencensus.RpcMeasureConstants.BIGTABLE_ATTEMPT_LATENCY;
20+
import static com.google.cloud.bigtable.data.v2.internal.csm.opencensus.RpcMeasureConstants.BIGTABLE_BATCH_THROTTLED_TIME;
21+
import static com.google.cloud.bigtable.data.v2.internal.csm.opencensus.RpcMeasureConstants.BIGTABLE_GFE_HEADER_MISSING_COUNT;
22+
import static com.google.cloud.bigtable.data.v2.internal.csm.opencensus.RpcMeasureConstants.BIGTABLE_GFE_LATENCY;
23+
import static com.google.cloud.bigtable.data.v2.internal.csm.opencensus.RpcMeasureConstants.BIGTABLE_INSTANCE_ID;
24+
import static com.google.cloud.bigtable.data.v2.internal.csm.opencensus.RpcMeasureConstants.BIGTABLE_OP;
25+
import static com.google.cloud.bigtable.data.v2.internal.csm.opencensus.RpcMeasureConstants.BIGTABLE_OP_ATTEMPT_COUNT;
26+
import static com.google.cloud.bigtable.data.v2.internal.csm.opencensus.RpcMeasureConstants.BIGTABLE_OP_LATENCY;
27+
import static com.google.cloud.bigtable.data.v2.internal.csm.opencensus.RpcMeasureConstants.BIGTABLE_PROJECT_ID;
28+
import static com.google.cloud.bigtable.data.v2.internal.csm.opencensus.RpcMeasureConstants.BIGTABLE_READ_ROWS_FIRST_ROW_LATENCY;
29+
import static com.google.cloud.bigtable.data.v2.internal.csm.opencensus.RpcMeasureConstants.BIGTABLE_STATUS;
30+
31+
import com.google.common.annotations.VisibleForTesting;
3132
import com.google.common.collect.ImmutableList;
33+
import com.google.common.collect.ImmutableSet;
3234
import io.opencensus.stats.Aggregation;
3335
import io.opencensus.stats.Aggregation.Count;
3436
import io.opencensus.stats.Aggregation.Distribution;
@@ -37,7 +39,7 @@
3739
import io.opencensus.stats.View;
3840
import java.util.Arrays;
3941

40-
class RpcViewConstants {
42+
public class RpcViewConstants {
4143
// Aggregations
4244
private static final Aggregation COUNT = Count.create();
4345
private static final Aggregation SUM = Sum.create();
@@ -167,4 +169,19 @@ class RpcViewConstants {
167169
AGGREGATION_WITH_MILLIS_HISTOGRAM,
168170
ImmutableList.of(
169171
BIGTABLE_INSTANCE_ID, BIGTABLE_PROJECT_ID, BIGTABLE_APP_PROFILE_ID, BIGTABLE_OP));
172+
173+
@VisibleForTesting
174+
public static final ImmutableSet<View> BIGTABLE_CLIENT_VIEWS_SET =
175+
ImmutableSet.of(
176+
RpcViewConstants.BIGTABLE_OP_LATENCY_VIEW,
177+
RpcViewConstants.BIGTABLE_COMPLETED_OP_VIEW,
178+
RpcViewConstants.BIGTABLE_READ_ROWS_FIRST_ROW_LATENCY_VIEW,
179+
RpcViewConstants.BIGTABLE_ATTEMPT_LATENCY_VIEW,
180+
RpcViewConstants.BIGTABLE_ATTEMPTS_PER_OP_VIEW,
181+
RpcViewConstants.BIGTABLE_BATCH_THROTTLED_TIME_VIEW);
182+
183+
public static final ImmutableSet<View> GFE_VIEW_SET =
184+
ImmutableSet.of(
185+
RpcViewConstants.BIGTABLE_GFE_LATENCY_VIEW,
186+
RpcViewConstants.BIGTABLE_GFE_HEADER_MISSING_COUNT_VIEW);
170187
}

google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/RateLimitingServerStreamingCallable.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
*/
1616
package com.google.cloud.bigtable.data.v2.stub;
1717

18-
import static com.google.cloud.bigtable.data.v2.stub.metrics.Util.extractStatus;
18+
import static com.google.cloud.bigtable.data.v2.internal.csm.attributes.Util.extractStatus;
1919

2020
import com.google.api.gax.rpc.ApiCallContext;
2121
import com.google.api.gax.rpc.DeadlineExceededException;

google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/BuiltinMetricsTracer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
package com.google.cloud.bigtable.data.v2.stub.metrics;
1717

1818
import static com.google.api.gax.util.TimeConversionUtils.toJavaTimeDuration;
19-
import static com.google.cloud.bigtable.data.v2.stub.metrics.Util.extractStatus;
19+
import static com.google.cloud.bigtable.data.v2.internal.csm.attributes.Util.extractStatus;
2020

2121
import com.google.api.core.ObsoleteApi;
2222
import com.google.api.gax.retrying.ServerStreamingAttemptException;

google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/RpcViews.java

Lines changed: 8 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -15,29 +15,15 @@
1515
*/
1616
package com.google.cloud.bigtable.data.v2.stub.metrics;
1717

18+
import com.google.api.core.InternalApi;
19+
import com.google.cloud.bigtable.data.v2.internal.csm.opencensus.RpcViewConstants;
1820
import com.google.common.annotations.VisibleForTesting;
19-
import com.google.common.collect.ImmutableSet;
2021
import io.opencensus.stats.Stats;
2122
import io.opencensus.stats.View;
2223
import io.opencensus.stats.ViewManager;
2324

2425
@Deprecated
2526
public class RpcViews {
26-
@VisibleForTesting
27-
private static final ImmutableSet<View> BIGTABLE_CLIENT_VIEWS_SET =
28-
ImmutableSet.of(
29-
RpcViewConstants.BIGTABLE_OP_LATENCY_VIEW,
30-
RpcViewConstants.BIGTABLE_COMPLETED_OP_VIEW,
31-
RpcViewConstants.BIGTABLE_READ_ROWS_FIRST_ROW_LATENCY_VIEW,
32-
RpcViewConstants.BIGTABLE_ATTEMPT_LATENCY_VIEW,
33-
RpcViewConstants.BIGTABLE_ATTEMPTS_PER_OP_VIEW,
34-
RpcViewConstants.BIGTABLE_BATCH_THROTTLED_TIME_VIEW);
35-
36-
private static final ImmutableSet<View> GFE_VIEW_SET =
37-
ImmutableSet.of(
38-
RpcViewConstants.BIGTABLE_GFE_LATENCY_VIEW,
39-
RpcViewConstants.BIGTABLE_GFE_HEADER_MISSING_COUNT_VIEW);
40-
4127
private static boolean gfeMetricsRegistered = false;
4228

4329
/** Registers all Bigtable specific views. */
@@ -55,16 +41,18 @@ public static void registerBigtableClientGfeViews() {
5541
registerBigtableClientGfeViews(Stats.getViewManager());
5642
}
5743

44+
@InternalApi
5845
@VisibleForTesting
59-
static void registerBigtableClientViews(ViewManager viewManager) {
60-
for (View view : BIGTABLE_CLIENT_VIEWS_SET) {
46+
public static void registerBigtableClientViews(ViewManager viewManager) {
47+
for (View view : RpcViewConstants.BIGTABLE_CLIENT_VIEWS_SET) {
6148
viewManager.registerView(view);
6249
}
6350
}
6451

52+
@InternalApi
6553
@VisibleForTesting
66-
static void registerBigtableClientGfeViews(ViewManager viewManager) {
67-
for (View view : GFE_VIEW_SET) {
54+
public static void registerBigtableClientGfeViews(ViewManager viewManager) {
55+
for (View view : RpcViewConstants.GFE_VIEW_SET) {
6856
viewManager.registerView(view);
6957
}
7058
gfeMetricsRegistered = true;

google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/metrics/Util.java

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,7 @@
1616
package com.google.cloud.bigtable.data.v2.stub.metrics;
1717

1818
import com.google.api.core.InternalApi;
19-
import com.google.api.gax.grpc.GrpcStatusCode;
2019
import com.google.api.gax.rpc.ApiCallContext;
21-
import com.google.api.gax.rpc.ApiException;
2220
import com.google.bigtable.v2.AuthorizedViewName;
2321
import com.google.bigtable.v2.CheckAndMutateRowRequest;
2422
import com.google.bigtable.v2.GenerateInitialChangeStreamPartitionsRequest;
@@ -32,14 +30,11 @@
3230
import com.google.bigtable.v2.TableName;
3331
import com.google.common.collect.ImmutableMap;
3432
import io.grpc.Metadata;
35-
import io.grpc.Status;
3633
import java.time.Instant;
3734
import java.time.temporal.ChronoUnit;
3835
import java.util.Arrays;
3936
import java.util.List;
4037
import java.util.Map;
41-
import java.util.concurrent.CancellationException;
42-
import javax.annotation.Nullable;
4338

4439
/** Utilities to help integrating with OpenCensus. */
4540
@InternalApi("For internal use only")
@@ -49,28 +44,6 @@ public class Util {
4944
static final Metadata.Key<String> ATTEMPT_EPOCH_KEY =
5045
Metadata.Key.of("bigtable-client-attempt-epoch-usec", Metadata.ASCII_STRING_MARSHALLER);
5146

52-
public static Status.Code extractStatus(@Nullable Throwable error) {
53-
if (error == null) {
54-
return Status.Code.OK;
55-
}
56-
// Handle java CancellationException as if it was a gax CancelledException
57-
if (error instanceof CancellationException) {
58-
return Status.Code.CANCELLED;
59-
}
60-
if (error instanceof ApiException) {
61-
ApiException apiException = (ApiException) error;
62-
if (apiException.getStatusCode() instanceof GrpcStatusCode) {
63-
return ((GrpcStatusCode) apiException.getStatusCode()).getTransportCode();
64-
}
65-
}
66-
67-
Status s = Status.fromThrowable(error);
68-
if (s != null) {
69-
return s.getCode();
70-
}
71-
return Status.Code.UNKNOWN;
72-
}
73-
7447
static String extractTableId(Object request) {
7548
String tableName = null;
7649
String authorizedViewName = null;

0 commit comments

Comments
 (0)