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