mirror of https://github.com/grpc/grpc-java.git
gcp-observability: add new *compressed_bytes_per_rpc views (#9893)
* Add new metric views; Register latency and bytes per metrics views for observability * update view description to inlcude client/server * Use pre-defined aggregation from OpenCensus for bytes histogram * updated view names
This commit is contained in:
parent
19eab29f8d
commit
7942b9e7f5
|
|
@ -0,0 +1,73 @@
|
|||
/*
|
||||
* Copyright 2023 The gRPC Authors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package io.grpc.census.internal;
|
||||
|
||||
import static io.opencensus.contrib.grpc.metrics.RpcMeasureConstants.GRPC_CLIENT_METHOD;
|
||||
import static io.opencensus.contrib.grpc.metrics.RpcMeasureConstants.GRPC_CLIENT_RECEIVED_BYTES_PER_RPC;
|
||||
import static io.opencensus.contrib.grpc.metrics.RpcMeasureConstants.GRPC_CLIENT_SENT_BYTES_PER_RPC;
|
||||
import static io.opencensus.contrib.grpc.metrics.RpcMeasureConstants.GRPC_CLIENT_STATUS;
|
||||
import static io.opencensus.contrib.grpc.metrics.RpcMeasureConstants.GRPC_SERVER_METHOD;
|
||||
import static io.opencensus.contrib.grpc.metrics.RpcMeasureConstants.GRPC_SERVER_RECEIVED_BYTES_PER_RPC;
|
||||
import static io.opencensus.contrib.grpc.metrics.RpcMeasureConstants.GRPC_SERVER_SENT_BYTES_PER_RPC;
|
||||
import static io.opencensus.contrib.grpc.metrics.RpcMeasureConstants.GRPC_SERVER_STATUS;
|
||||
|
||||
import io.opencensus.contrib.grpc.metrics.RpcViewConstants;
|
||||
import io.opencensus.stats.Aggregation;
|
||||
import io.opencensus.stats.View;
|
||||
import java.util.Arrays;
|
||||
|
||||
/** Temporary holder class for the observability specific OpenCensus constants.
|
||||
* The class will be removed once the new views are added in OpenCensus library. */
|
||||
public final class ObservabilityCensusConstants {
|
||||
|
||||
static final Aggregation AGGREGATION_WITH_BYTES_HISTOGRAM =
|
||||
RpcViewConstants.GRPC_CLIENT_SENT_BYTES_PER_RPC_VIEW.getAggregation();
|
||||
|
||||
public static final View GRPC_CLIENT_SENT_COMPRESSED_MESSAGE_BYTES_PER_RPC_VIEW =
|
||||
View.create(
|
||||
View.Name.create("grpc.io/client/sent_compressed_message_bytes_per_rpc"),
|
||||
"Compressed message bytes sent per client RPC attempt",
|
||||
GRPC_CLIENT_SENT_BYTES_PER_RPC,
|
||||
AGGREGATION_WITH_BYTES_HISTOGRAM,
|
||||
Arrays.asList(GRPC_CLIENT_METHOD, GRPC_CLIENT_STATUS));
|
||||
|
||||
public static final View GRPC_CLIENT_RECEIVED_COMPRESSED_MESSAGE_BYTES_PER_RPC_VIEW =
|
||||
View.create(
|
||||
View.Name.create("grpc.io/client/received_compressed_message_bytes_per_rpc"),
|
||||
"Compressed message bytes received per client RPC attempt",
|
||||
GRPC_CLIENT_RECEIVED_BYTES_PER_RPC,
|
||||
AGGREGATION_WITH_BYTES_HISTOGRAM,
|
||||
Arrays.asList(GRPC_CLIENT_METHOD, GRPC_CLIENT_STATUS));
|
||||
|
||||
public static final View GRPC_SERVER_SENT_COMPRESSED_MESSAGE_BYTES_PER_RPC_VIEW =
|
||||
View.create(
|
||||
View.Name.create("grpc.io/server/sent_compressed_message_bytes_per_rpc"),
|
||||
"Compressed message bytes sent per server RPC",
|
||||
GRPC_SERVER_SENT_BYTES_PER_RPC,
|
||||
AGGREGATION_WITH_BYTES_HISTOGRAM,
|
||||
Arrays.asList(GRPC_SERVER_METHOD, GRPC_SERVER_STATUS));
|
||||
|
||||
public static final View GRPC_SERVER_RECEIVED_COMPRESSED_MESSAGE_BYTES_PER_RPC_VIEW =
|
||||
View.create(
|
||||
View.Name.create("grpc.io/server/received_compressed_message_bytes_per_rpc"),
|
||||
"Compressed message bytes received per server RPC",
|
||||
GRPC_SERVER_RECEIVED_BYTES_PER_RPC,
|
||||
AGGREGATION_WITH_BYTES_HISTOGRAM,
|
||||
Arrays.asList(GRPC_SERVER_METHOD, GRPC_SERVER_STATUS));
|
||||
|
||||
private ObservabilityCensusConstants() {}
|
||||
}
|
||||
|
|
@ -28,6 +28,7 @@ import io.grpc.ServerInterceptor;
|
|||
import io.grpc.ServerStreamTracer;
|
||||
import io.grpc.census.InternalCensusStatsAccessor;
|
||||
import io.grpc.census.InternalCensusTracingAccessor;
|
||||
import io.grpc.census.internal.ObservabilityCensusConstants;
|
||||
import io.grpc.gcp.observability.interceptors.ConditionalClientInterceptor;
|
||||
import io.grpc.gcp.observability.interceptors.ConfigFilterHelper;
|
||||
import io.grpc.gcp.observability.interceptors.InternalLoggingChannelInterceptor;
|
||||
|
|
@ -152,10 +153,20 @@ public final class GcpObservability implements AutoCloseable {
|
|||
// client views
|
||||
viewManager.registerView(RpcViewConstants.GRPC_CLIENT_COMPLETED_RPC_VIEW);
|
||||
viewManager.registerView(RpcViewConstants.GRPC_CLIENT_STARTED_RPC_VIEW);
|
||||
viewManager.registerView(RpcViewConstants.GRPC_CLIENT_ROUNDTRIP_LATENCY_VIEW);
|
||||
viewManager.registerView(
|
||||
ObservabilityCensusConstants.GRPC_CLIENT_SENT_COMPRESSED_MESSAGE_BYTES_PER_RPC_VIEW);
|
||||
viewManager.registerView(
|
||||
ObservabilityCensusConstants.GRPC_CLIENT_RECEIVED_COMPRESSED_MESSAGE_BYTES_PER_RPC_VIEW);
|
||||
|
||||
// server views
|
||||
viewManager.registerView(RpcViewConstants.GRPC_SERVER_COMPLETED_RPC_VIEW);
|
||||
viewManager.registerView(RpcViewConstants.GRPC_SERVER_STARTED_RPC_VIEW);
|
||||
viewManager.registerView(RpcViewConstants.GRPC_SERVER_SERVER_LATENCY_VIEW);
|
||||
viewManager.registerView(
|
||||
ObservabilityCensusConstants.GRPC_SERVER_SENT_COMPRESSED_MESSAGE_BYTES_PER_RPC_VIEW);
|
||||
viewManager.registerView(
|
||||
ObservabilityCensusConstants.GRPC_SERVER_RECEIVED_COMPRESSED_MESSAGE_BYTES_PER_RPC_VIEW);
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
|
|
|
|||
Loading…
Reference in New Issue