• 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 {
30 
31 // The tag keys set when recording RPC stats.
32 ::opencensus::tags::TagKey ClientMethodTagKey();
33 ::opencensus::tags::TagKey ClientStatusTagKey();
34 ::opencensus::tags::TagKey ServerMethodTagKey();
35 ::opencensus::tags::TagKey ServerStatusTagKey();
36 
37 // Names of measures used by the plugin--users can create views on these
38 // measures but should not record data for them.
39 extern const absl::string_view kRpcClientSentMessagesPerRpcMeasureName;
40 extern const absl::string_view kRpcClientSentBytesPerRpcMeasureName;
41 extern const absl::string_view kRpcClientReceivedMessagesPerRpcMeasureName;
42 extern const absl::string_view kRpcClientReceivedBytesPerRpcMeasureName;
43 extern const absl::string_view kRpcClientRoundtripLatencyMeasureName;
44 extern const absl::string_view kRpcClientServerLatencyMeasureName;
45 
46 extern const absl::string_view kRpcServerSentMessagesPerRpcMeasureName;
47 extern const absl::string_view kRpcServerSentBytesPerRpcMeasureName;
48 extern const absl::string_view kRpcServerReceivedMessagesPerRpcMeasureName;
49 extern const absl::string_view kRpcServerReceivedBytesPerRpcMeasureName;
50 extern const absl::string_view kRpcServerServerLatencyMeasureName;
51 
52 // Canonical gRPC view definitions.
53 const ::opencensus::stats::ViewDescriptor& ClientSentMessagesPerRpcCumulative();
54 const ::opencensus::stats::ViewDescriptor& ClientSentBytesPerRpcCumulative();
55 const ::opencensus::stats::ViewDescriptor&
56 ClientReceivedMessagesPerRpcCumulative();
57 const ::opencensus::stats::ViewDescriptor&
58 ClientReceivedBytesPerRpcCumulative();
59 const ::opencensus::stats::ViewDescriptor& ClientRoundtripLatencyCumulative();
60 const ::opencensus::stats::ViewDescriptor& ClientServerLatencyCumulative();
61 const ::opencensus::stats::ViewDescriptor& ClientCompletedRpcsCumulative();
62 
63 const ::opencensus::stats::ViewDescriptor& ServerSentBytesPerRpcCumulative();
64 const ::opencensus::stats::ViewDescriptor&
65 ServerReceivedBytesPerRpcCumulative();
66 const ::opencensus::stats::ViewDescriptor& ServerServerLatencyCumulative();
67 const ::opencensus::stats::ViewDescriptor& ServerStartedCountCumulative();
68 const ::opencensus::stats::ViewDescriptor& ServerCompletedRpcsCumulative();
69 const ::opencensus::stats::ViewDescriptor& ServerSentMessagesPerRpcCumulative();
70 const ::opencensus::stats::ViewDescriptor&
71 ServerReceivedMessagesPerRpcCumulative();
72 
73 const ::opencensus::stats::ViewDescriptor& ClientSentMessagesPerRpcMinute();
74 const ::opencensus::stats::ViewDescriptor& ClientSentBytesPerRpcMinute();
75 const ::opencensus::stats::ViewDescriptor& ClientReceivedMessagesPerRpcMinute();
76 const ::opencensus::stats::ViewDescriptor& ClientReceivedBytesPerRpcMinute();
77 const ::opencensus::stats::ViewDescriptor& ClientRoundtripLatencyMinute();
78 const ::opencensus::stats::ViewDescriptor& ClientServerLatencyMinute();
79 const ::opencensus::stats::ViewDescriptor& ClientCompletedRpcsMinute();
80 
81 const ::opencensus::stats::ViewDescriptor& ServerSentMessagesPerRpcMinute();
82 const ::opencensus::stats::ViewDescriptor& ServerSentBytesPerRpcMinute();
83 const ::opencensus::stats::ViewDescriptor& ServerReceivedMessagesPerRpcMinute();
84 const ::opencensus::stats::ViewDescriptor& ServerReceivedBytesPerRpcMinute();
85 const ::opencensus::stats::ViewDescriptor& ServerServerLatencyMinute();
86 const ::opencensus::stats::ViewDescriptor& ServerCompletedRpcsMinute();
87 
88 const ::opencensus::stats::ViewDescriptor& ClientSentMessagesPerRpcHour();
89 const ::opencensus::stats::ViewDescriptor& ClientSentBytesPerRpcHour();
90 const ::opencensus::stats::ViewDescriptor& ClientReceivedMessagesPerRpcHour();
91 const ::opencensus::stats::ViewDescriptor& ClientReceivedBytesPerRpcHour();
92 const ::opencensus::stats::ViewDescriptor& ClientRoundtripLatencyHour();
93 const ::opencensus::stats::ViewDescriptor& ClientServerLatencyHour();
94 const ::opencensus::stats::ViewDescriptor& ClientCompletedRpcsHour();
95 
96 const ::opencensus::stats::ViewDescriptor& ServerSentMessagesPerRpcHour();
97 const ::opencensus::stats::ViewDescriptor& ServerSentBytesPerRpcHour();
98 const ::opencensus::stats::ViewDescriptor& ServerReceivedMessagesPerRpcHour();
99 const ::opencensus::stats::ViewDescriptor& ServerReceivedBytesPerRpcHour();
100 const ::opencensus::stats::ViewDescriptor& ServerServerLatencyHour();
101 const ::opencensus::stats::ViewDescriptor& ServerStartedCountHour();
102 const ::opencensus::stats::ViewDescriptor& ServerCompletedRpcsHour();
103 
104 }  // namespace grpc
105 
106 #endif /* GRPC_INTERNAL_CPP_EXT_FILTERS_CENSUS_GRPC_PLUGIN_H */
107