Skip to content
This repository was archived by the owner on Dec 23, 2023. It is now read-only.

Commit d775dbd

Browse files
author
Dino Oliva
committed
Updates RpcConstants to have appropriate ViewDescriptors.
1 parent 570c861 commit d775dbd

File tree

1 file changed

+121
-9
lines changed

1 file changed

+121
-9
lines changed

core/java/com/google/instrumentation/stats/RpcConstants.java

Lines changed: 121 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,26 +15,26 @@
1515

1616
import com.google.instrumentation.stats.MeasurementDescriptor.BasicUnit;
1717
import com.google.instrumentation.stats.MeasurementDescriptor.MeasurementUnit;
18+
import com.google.instrumentation.stats.ViewDescriptor.DistributionViewDescriptor;
1819

1920
import java.util.Arrays;
2021
import java.util.List;
2122

2223
/**
23-
* Census constants for collecting rpc stats.
24+
* Constants for collecting rpc stats.
2425
*/
2526
public final class RpcConstants {
2627
/**
27-
* Census defined tag keys.
28+
* Rpc tag keys.
2829
*/
29-
public static final TagKey RPC_STATUS = TagKey.create("/rpc/status");
30-
public static final TagKey RPC_CLIENT_METHOD = TagKey.create("/rpc/client_method");
31-
public static final TagKey RPC_SERVER_METHOD = TagKey.create("/rpc/server_method");
30+
public static final TagKey RPC_STATUS = TagKey.create("OpStatus");
31+
public static final TagKey RPC_CLIENT_METHOD = TagKey.create("method");
32+
public static final TagKey RPC_SERVER_METHOD = TagKey.create("method");
3233

3334
// Constants used to define the following MeasurementDescriptors.
34-
private static final List<BasicUnit> bytes = Arrays.asList(new BasicUnit[] { BasicUnit.BYTES });
35-
private static final List<BasicUnit> scalar = Arrays.asList(new BasicUnit[] { BasicUnit.SCALAR });
36-
private static final List<BasicUnit> seconds =
37-
Arrays.asList(new BasicUnit[] { BasicUnit.SECONDS });
35+
private static final List<BasicUnit> bytes = Arrays.asList(BasicUnit.BYTES);
36+
private static final List<BasicUnit> scalar = Arrays.asList(BasicUnit.SCALAR);
37+
private static final List<BasicUnit> seconds = Arrays.asList(BasicUnit.SECONDS);
3838

3939
/**
4040
* Census defined rpc client {@link MeasurementDescriptor}s.
@@ -60,6 +60,11 @@ public final class RpcConstants {
6060
"/rpc/client/roundtrip_latency",
6161
"RPC roundtrip latency us",
6262
MeasurementUnit.create(-6, scalar));
63+
public static final MeasurementDescriptor RPC_CLIENT_SERVER_ELAPSED_TIME =
64+
MeasurementDescriptor.create(
65+
"/rpc/client/server_elapsed_time",
66+
"Server elapsed time in msecs",
67+
MeasurementUnit.create(-3, scalar));
6368
public static final MeasurementDescriptor RPC_CLIENT_UNCOMPRESSED_REQUEST_BYTES =
6469
MeasurementDescriptor.create(
6570
"/rpc/client/uncompressed_request_bytes",
@@ -89,6 +94,11 @@ public final class RpcConstants {
8994
"/rpc/server/response_bytes",
9095
"Response MB/s",
9196
MeasurementUnit.create(6, bytes, seconds));
97+
public static final MeasurementDescriptor RPC_SERVER_SERVER_ELAPSED_TIME =
98+
MeasurementDescriptor.create(
99+
"/rpc/server/server_elapsed_time",
100+
"Server elapsed time in msecs",
101+
MeasurementUnit.create(-3, scalar));
92102
public static final MeasurementDescriptor RPC_SERVER_SERVER_LATENCY =
93103
MeasurementDescriptor.create(
94104
"/rpc/server/server_latency",
@@ -105,6 +115,108 @@ public final class RpcConstants {
105115
"Uncompressed Request MB/s",
106116
MeasurementUnit.create(6, bytes, seconds));
107117

118+
// Common sized histogram bucket boundaries.
119+
private static final List<Double> bytes_bucket_boundaries = Arrays.asList(
120+
0.0, 1024.0, 2048.0, 4096.0, 16384.0, 65536.0, 262144.0, 1048576.0, 4194304.0, 16777216.0,
121+
67108864.0, 268435456.0, 1073741824.0, 4294967296.0);
122+
123+
private static final List<Double> millis_bucket_boundaries = Arrays.asList(
124+
0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 8.0, 10.0, 13.0, 16.0, 20.0, 25.0, 30.0, 40.0, 50.0,
125+
65.0, 80.0, 100.0, 130.0, 160.0, 200.0, 250.0, 300.0, 400.0, 500.0, 650.0, 800.0, 1000.0,
126+
2000.0, 5000.0, 10000.0, 20000.0, 50000.0, 100000.0);
127+
128+
/**
129+
* Census defined rpc client {@link ViewDescriptor}s.
130+
*/
131+
public static final DistributionViewDescriptor RPC_CLIENT_ERROR_COUNT_VIEW =
132+
DistributionViewDescriptor.create(
133+
"rpc client error count",
134+
"RPC Errors",
135+
RPC_CLIENT_ERROR_COUNT,
136+
DistributionAggregationDescriptor.create(),
137+
Arrays.asList(RPC_STATUS, RPC_CLIENT_METHOD));
138+
public static final DistributionViewDescriptor RPC_CLIENT_ROUNDTRIP_LATENCY_VIEW =
139+
DistributionViewDescriptor.create(
140+
"rpc client roundtrip latency",
141+
"Latency in msecs",
142+
RPC_CLIENT_ROUNDTRIP_LATENCY,
143+
DistributionAggregationDescriptor.create(millis_bucket_boundaries),
144+
Arrays.asList(RPC_CLIENT_METHOD));
145+
public static final DistributionViewDescriptor RPC_CLIENT_SERVER_ELAPSED_TIME_VIEW =
146+
DistributionViewDescriptor.create(
147+
"rpc client server_elapsed_time",
148+
"Server elapsed time in msecs",
149+
RPC_CLIENT_SERVER_ELAPSED_TIME,
150+
DistributionAggregationDescriptor.create(millis_bucket_boundaries),
151+
Arrays.asList(RPC_CLIENT_METHOD));
152+
public static final DistributionViewDescriptor RPC_CLIENT_REQUEST_BYTES_VIEW =
153+
DistributionViewDescriptor.create(
154+
"rpc client request_bytes",
155+
"Request MB/s",
156+
RPC_CLIENT_REQUEST_BYTES,
157+
DistributionAggregationDescriptor.create(bytes_bucket_boundaries),
158+
Arrays.asList(RPC_CLIENT_METHOD));
159+
public static final DistributionViewDescriptor RPC_CLIENT_RESPONSE_BYTES_VIEW =
160+
DistributionViewDescriptor.create(
161+
"/rpc/client/response_bytes",
162+
"Response MB/s",
163+
RPC_CLIENT_RESPONSE_BYTES,
164+
DistributionAggregationDescriptor.create(bytes_bucket_boundaries),
165+
Arrays.asList(RPC_CLIENT_METHOD));
166+
167+
/**
168+
* Census defined rpc server {@link ViewDescriptor}s.
169+
*/
170+
public static final DistributionViewDescriptor RPC_SERVER_ERROR_COUNT_VIEW =
171+
DistributionViewDescriptor.create(
172+
"rpc server error count",
173+
"RPC Errors",
174+
RPC_SERVER_ERROR_COUNT,
175+
DistributionAggregationDescriptor.create(),
176+
Arrays.asList(RPC_STATUS, RPC_SERVER_METHOD));
177+
public static final DistributionViewDescriptor RPC_SERVER_SERVER_LATENCY_VIEW =
178+
DistributionViewDescriptor.create(
179+
"rpc server latency",
180+
"Latency in msecs",
181+
RPC_SERVER_SERVER_LATENCY,
182+
DistributionAggregationDescriptor.create(millis_bucket_boundaries),
183+
Arrays.asList(RPC_SERVER_METHOD));
184+
public static final DistributionViewDescriptor RPC_SERVER_SERVER_ELAPSED_TIME_VIEW =
185+
DistributionViewDescriptor.create(
186+
"rpc server elapsed_time",
187+
"Server elapsed time in msecs",
188+
RPC_SERVER_SERVER_ELAPSED_TIME,
189+
DistributionAggregationDescriptor.create(millis_bucket_boundaries),
190+
Arrays.asList(RPC_SERVER_METHOD));
191+
public static final DistributionViewDescriptor RPC_SERVER_REQUEST_BYTES_VIEW =
192+
DistributionViewDescriptor.create(
193+
"rpc server request_bytes",
194+
"Request MB/s",
195+
RPC_SERVER_REQUEST_BYTES,
196+
DistributionAggregationDescriptor.create(bytes_bucket_boundaries),
197+
Arrays.asList(RPC_SERVER_METHOD));
198+
public static final DistributionViewDescriptor RPC_SERVER_RESPONSE_BYTES_VIEW =
199+
DistributionViewDescriptor.create(
200+
"/rpc/server/response_bytes",
201+
"Response MB/s",
202+
RPC_SERVER_RESPONSE_BYTES,
203+
DistributionAggregationDescriptor.create(bytes_bucket_boundaries),
204+
Arrays.asList(RPC_SERVER_METHOD));
205+
public static final DistributionViewDescriptor RPC_SERVER_UNCOMPRESSED_REQUEST_BYTES_VIEW =
206+
DistributionViewDescriptor.create(
207+
"/rpc/server/uncompressed_request_bytes",
208+
"Uncompressed Request MB/s",
209+
RPC_SERVER_UNCOMPRESSED_REQUEST_BYTES,
210+
DistributionAggregationDescriptor.create(),
211+
Arrays.asList(RPC_SERVER_METHOD));
212+
public static final DistributionViewDescriptor RPC_SERVER_UNCOMPRESSED_RESPONSE_BYTES_VIEW =
213+
DistributionViewDescriptor.create(
214+
"/rpc/server/uncompressed_response_bytes",
215+
"Uncompressed Request MB/s",
216+
RPC_SERVER_UNCOMPRESSED_RESPONSE_BYTES,
217+
DistributionAggregationDescriptor.create(),
218+
Arrays.asList(RPC_SERVER_METHOD));
219+
108220
// Visible for testing
109221
RpcConstants() {
110222
throw new AssertionError();

0 commit comments

Comments
 (0)