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 ServerReceivedMessagesPerRPC = stats.Int64("grpc.io/server/received_messages_per_rpc", "Number of messages received in each RPC. Has value 1 for non-streaming RPCs.", stats.UnitDimensionless)
27 ServerReceivedBytesPerRPC = stats.Int64("grpc.io/server/received_bytes_per_rpc", "Total bytes received across all messages per RPC.", stats.UnitBytes)
28 ServerSentMessagesPerRPC = stats.Int64("grpc.io/server/sent_messages_per_rpc", "Number of messages sent in each RPC. Has value 1 for non-streaming RPCs.", stats.UnitDimensionless)
29 ServerSentBytesPerRPC = stats.Int64("grpc.io/server/sent_bytes_per_rpc", "Total bytes sent in across all response messages per RPC.", stats.UnitBytes)
30 ServerStartedRPCs = stats.Int64("grpc.io/server/started_rpcs", "Number of started server RPCs.", stats.UnitDimensionless)
31 ServerLatency = stats.Float64("grpc.io/server/server_latency", "Time between first byte of request received to last byte of response sent, or terminal error.", stats.UnitMilliseconds)
32 )
33
34
35
36
37
38
39
40
41
42 var (
43 ServerReceivedBytesPerRPCView = &view.View{
44 Name: "grpc.io/server/received_bytes_per_rpc",
45 Description: "Distribution of received bytes per RPC, by method.",
46 Measure: ServerReceivedBytesPerRPC,
47 TagKeys: []tag.Key{KeyServerMethod},
48 Aggregation: DefaultBytesDistribution,
49 }
50
51 ServerSentBytesPerRPCView = &view.View{
52 Name: "grpc.io/server/sent_bytes_per_rpc",
53 Description: "Distribution of total sent bytes per RPC, by method.",
54 Measure: ServerSentBytesPerRPC,
55 TagKeys: []tag.Key{KeyServerMethod},
56 Aggregation: DefaultBytesDistribution,
57 }
58
59 ServerLatencyView = &view.View{
60 Name: "grpc.io/server/server_latency",
61 Description: "Distribution of server latency in milliseconds, by method.",
62 TagKeys: []tag.Key{KeyServerMethod},
63 Measure: ServerLatency,
64 Aggregation: DefaultMillisecondsDistribution,
65 }
66
67
68
69 ServerCompletedRPCsView = &view.View{
70 Name: "grpc.io/server/completed_rpcs",
71 Description: "Count of RPCs by method and status.",
72 TagKeys: []tag.Key{KeyServerMethod, KeyServerStatus},
73 Measure: ServerLatency,
74 Aggregation: view.Count(),
75 }
76
77 ServerStartedRPCsView = &view.View{
78 Measure: ServerStartedRPCs,
79 Name: "grpc.io/server/started_rpcs",
80 Description: "Number of started server RPCs.",
81 TagKeys: []tag.Key{KeyServerMethod},
82 Aggregation: view.Count(),
83 }
84
85 ServerReceivedMessagesPerRPCView = &view.View{
86 Name: "grpc.io/server/received_messages_per_rpc",
87 Description: "Distribution of messages received count per RPC, by method.",
88 TagKeys: []tag.Key{KeyServerMethod},
89 Measure: ServerReceivedMessagesPerRPC,
90 Aggregation: DefaultMessageCountDistribution,
91 }
92
93 ServerSentMessagesPerRPCView = &view.View{
94 Name: "grpc.io/server/sent_messages_per_rpc",
95 Description: "Distribution of messages sent count per RPC, by method.",
96 TagKeys: []tag.Key{KeyServerMethod},
97 Measure: ServerSentMessagesPerRPC,
98 Aggregation: DefaultMessageCountDistribution,
99 }
100 )
101
102
103 var DefaultServerViews = []*view.View{
104 ServerReceivedBytesPerRPCView,
105 ServerSentBytesPerRPCView,
106 ServerLatencyView,
107 ServerCompletedRPCsView,
108 }
109
View as plain text