1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package ocgrpc
17
18 import (
19 "go.opencensus.io/stats"
20 "go.opencensus.io/stats/view"
21 "go.opencensus.io/tag"
22 )
23
24
25 var (
26 ClientSentMessagesPerRPC = stats.Int64("grpc.io/client/sent_messages_per_rpc", "Number of messages sent in the RPC (always 1 for non-streaming RPCs).", stats.UnitDimensionless)
27 ClientSentBytesPerRPC = stats.Int64("grpc.io/client/sent_bytes_per_rpc", "Total bytes sent across all request messages per RPC.", stats.UnitBytes)
28 ClientReceivedMessagesPerRPC = stats.Int64("grpc.io/client/received_messages_per_rpc", "Number of response messages received per RPC (always 1 for non-streaming RPCs).", stats.UnitDimensionless)
29 ClientReceivedBytesPerRPC = stats.Int64("grpc.io/client/received_bytes_per_rpc", "Total bytes received across all response messages per RPC.", stats.UnitBytes)
30 ClientRoundtripLatency = stats.Float64("grpc.io/client/roundtrip_latency", "Time between first byte of request sent to last byte of response received, or terminal error.", stats.UnitMilliseconds)
31 ClientStartedRPCs = stats.Int64("grpc.io/client/started_rpcs", "Number of started client RPCs.", stats.UnitDimensionless)
32 ClientServerLatency = stats.Float64("grpc.io/client/server_latency", `Propagated from the server and should have the same value as "grpc.io/server/latency".`, stats.UnitMilliseconds)
33 )
34
35
36
37
38
39 var (
40 ClientSentBytesPerRPCView = &view.View{
41 Measure: ClientSentBytesPerRPC,
42 Name: "grpc.io/client/sent_bytes_per_rpc",
43 Description: "Distribution of bytes sent per RPC, by method.",
44 TagKeys: []tag.Key{KeyClientMethod},
45 Aggregation: DefaultBytesDistribution,
46 }
47
48 ClientReceivedBytesPerRPCView = &view.View{
49 Measure: ClientReceivedBytesPerRPC,
50 Name: "grpc.io/client/received_bytes_per_rpc",
51 Description: "Distribution of bytes received per RPC, by method.",
52 TagKeys: []tag.Key{KeyClientMethod},
53 Aggregation: DefaultBytesDistribution,
54 }
55
56 ClientRoundtripLatencyView = &view.View{
57 Measure: ClientRoundtripLatency,
58 Name: "grpc.io/client/roundtrip_latency",
59 Description: "Distribution of round-trip latency, by method.",
60 TagKeys: []tag.Key{KeyClientMethod},
61 Aggregation: DefaultMillisecondsDistribution,
62 }
63
64
65
66 ClientCompletedRPCsView = &view.View{
67 Measure: ClientRoundtripLatency,
68 Name: "grpc.io/client/completed_rpcs",
69 Description: "Count of RPCs by method and status.",
70 TagKeys: []tag.Key{KeyClientMethod, KeyClientStatus},
71 Aggregation: view.Count(),
72 }
73
74 ClientStartedRPCsView = &view.View{
75 Measure: ClientStartedRPCs,
76 Name: "grpc.io/client/started_rpcs",
77 Description: "Number of started client RPCs.",
78 TagKeys: []tag.Key{KeyClientMethod},
79 Aggregation: view.Count(),
80 }
81
82 ClientSentMessagesPerRPCView = &view.View{
83 Measure: ClientSentMessagesPerRPC,
84 Name: "grpc.io/client/sent_messages_per_rpc",
85 Description: "Distribution of sent messages count per RPC, by method.",
86 TagKeys: []tag.Key{KeyClientMethod},
87 Aggregation: DefaultMessageCountDistribution,
88 }
89
90 ClientReceivedMessagesPerRPCView = &view.View{
91 Measure: ClientReceivedMessagesPerRPC,
92 Name: "grpc.io/client/received_messages_per_rpc",
93 Description: "Distribution of received messages count per RPC, by method.",
94 TagKeys: []tag.Key{KeyClientMethod},
95 Aggregation: DefaultMessageCountDistribution,
96 }
97
98 ClientServerLatencyView = &view.View{
99 Measure: ClientServerLatency,
100 Name: "grpc.io/client/server_latency",
101 Description: "Distribution of server latency as viewed by client, by method.",
102 TagKeys: []tag.Key{KeyClientMethod},
103 Aggregation: DefaultMillisecondsDistribution,
104 }
105 )
106
107
108 var DefaultClientViews = []*view.View{
109 ClientSentBytesPerRPCView,
110 ClientReceivedBytesPerRPCView,
111 ClientRoundtripLatencyView,
112 ClientCompletedRPCsView,
113 }
114
115
116
117
118
119
View as plain text