• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  *
3  * Copyright 2018 gRPC authors.
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *     http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  */
18 
19 #ifndef GRPC_INTERNAL_CPP_EXT_FILTERS_CENSUS_GRPC_PLUGIN_H
20 #define GRPC_INTERNAL_CPP_EXT_FILTERS_CENSUS_GRPC_PLUGIN_H
21 
22 #include <grpc/support/port_platform.h>
23 
24 #include "absl/strings/string_view.h"
25 #include "include/grpcpp/opencensus.h"
26 #include "opencensus/stats/stats.h"
27 #include "opencensus/tags/tag_key.h"
28 
29 namespace grpc_impl {
30 class ServerContext;
31 }
32 
33 namespace grpc {
34 
35 // The tag keys set when recording RPC stats.
36 ::opencensus::tags::TagKey ClientMethodTagKey();
37 ::opencensus::tags::TagKey ClientStatusTagKey();
38 ::opencensus::tags::TagKey ServerMethodTagKey();
39 ::opencensus::tags::TagKey ServerStatusTagKey();
40 
41 // Names of measures used by the plugin--users can create views on these
42 // measures but should not record data for them.
43 extern const absl::string_view kRpcClientSentMessagesPerRpcMeasureName;
44 extern const absl::string_view kRpcClientSentBytesPerRpcMeasureName;
45 extern const absl::string_view kRpcClientReceivedMessagesPerRpcMeasureName;
46 extern const absl::string_view kRpcClientReceivedBytesPerRpcMeasureName;
47 extern const absl::string_view kRpcClientRoundtripLatencyMeasureName;
48 extern const absl::string_view kRpcClientServerLatencyMeasureName;
49 
50 extern const absl::string_view kRpcServerSentMessagesPerRpcMeasureName;
51 extern const absl::string_view kRpcServerSentBytesPerRpcMeasureName;
52 extern const absl::string_view kRpcServerReceivedMessagesPerRpcMeasureName;
53 extern const absl::string_view kRpcServerReceivedBytesPerRpcMeasureName;
54 extern const absl::string_view kRpcServerServerLatencyMeasureName;
55 
56 // Canonical gRPC view definitions.
57 const ::opencensus::stats::ViewDescriptor& ClientSentMessagesPerRpcCumulative();
58 const ::opencensus::stats::ViewDescriptor& ClientSentBytesPerRpcCumulative();
59 const ::opencensus::stats::ViewDescriptor&
60 ClientReceivedMessagesPerRpcCumulative();
61 const ::opencensus::stats::ViewDescriptor&
62 ClientReceivedBytesPerRpcCumulative();
63 const ::opencensus::stats::ViewDescriptor& ClientRoundtripLatencyCumulative();
64 const ::opencensus::stats::ViewDescriptor& ClientServerLatencyCumulative();
65 const ::opencensus::stats::ViewDescriptor& ClientCompletedRpcsCumulative();
66 
67 const ::opencensus::stats::ViewDescriptor& ServerSentBytesPerRpcCumulative();
68 const ::opencensus::stats::ViewDescriptor&
69 ServerReceivedBytesPerRpcCumulative();
70 const ::opencensus::stats::ViewDescriptor& ServerServerLatencyCumulative();
71 const ::opencensus::stats::ViewDescriptor& ServerStartedCountCumulative();
72 const ::opencensus::stats::ViewDescriptor& ServerCompletedRpcsCumulative();
73 const ::opencensus::stats::ViewDescriptor& ServerSentMessagesPerRpcCumulative();
74 const ::opencensus::stats::ViewDescriptor&
75 ServerReceivedMessagesPerRpcCumulative();
76 
77 const ::opencensus::stats::ViewDescriptor& ClientSentMessagesPerRpcMinute();
78 const ::opencensus::stats::ViewDescriptor& ClientSentBytesPerRpcMinute();
79 const ::opencensus::stats::ViewDescriptor& ClientReceivedMessagesPerRpcMinute();
80 const ::opencensus::stats::ViewDescriptor& ClientReceivedBytesPerRpcMinute();
81 const ::opencensus::stats::ViewDescriptor& ClientRoundtripLatencyMinute();
82 const ::opencensus::stats::ViewDescriptor& ClientServerLatencyMinute();
83 const ::opencensus::stats::ViewDescriptor& ClientCompletedRpcsMinute();
84 
85 const ::opencensus::stats::ViewDescriptor& ServerSentMessagesPerRpcMinute();
86 const ::opencensus::stats::ViewDescriptor& ServerSentBytesPerRpcMinute();
87 const ::opencensus::stats::ViewDescriptor& ServerReceivedMessagesPerRpcMinute();
88 const ::opencensus::stats::ViewDescriptor& ServerReceivedBytesPerRpcMinute();
89 const ::opencensus::stats::ViewDescriptor& ServerServerLatencyMinute();
90 const ::opencensus::stats::ViewDescriptor& ServerCompletedRpcsMinute();
91 
92 const ::opencensus::stats::ViewDescriptor& ClientSentMessagesPerRpcHour();
93 const ::opencensus::stats::ViewDescriptor& ClientSentBytesPerRpcHour();
94 const ::opencensus::stats::ViewDescriptor& ClientReceivedMessagesPerRpcHour();
95 const ::opencensus::stats::ViewDescriptor& ClientReceivedBytesPerRpcHour();
96 const ::opencensus::stats::ViewDescriptor& ClientRoundtripLatencyHour();
97 const ::opencensus::stats::ViewDescriptor& ClientServerLatencyHour();
98 const ::opencensus::stats::ViewDescriptor& ClientCompletedRpcsHour();
99 
100 const ::opencensus::stats::ViewDescriptor& ServerSentMessagesPerRpcHour();
101 const ::opencensus::stats::ViewDescriptor& ServerSentBytesPerRpcHour();
102 const ::opencensus::stats::ViewDescriptor& ServerReceivedMessagesPerRpcHour();
103 const ::opencensus::stats::ViewDescriptor& ServerReceivedBytesPerRpcHour();
104 const ::opencensus::stats::ViewDescriptor& ServerServerLatencyHour();
105 const ::opencensus::stats::ViewDescriptor& ServerStartedCountHour();
106 const ::opencensus::stats::ViewDescriptor& ServerCompletedRpcsHour();
107 
108 }  // namespace grpc
109 
110 #endif /* GRPC_INTERNAL_CPP_EXT_FILTERS_CENSUS_GRPC_PLUGIN_H */
111