1// Copyright 2017, OpenCensus Authors
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15package ocgrpc_test
16
17import (
18	"log"
19
20	"go.opencensus.io/plugin/ocgrpc"
21	"go.opencensus.io/stats/view"
22	"google.golang.org/grpc"
23)
24
25func ExampleClientHandler() {
26	// Register views to collect data.
27	if err := view.Register(ocgrpc.DefaultClientViews...); err != nil {
28		log.Fatal(err)
29	}
30
31	// Set up a connection to the server with the OpenCensus
32	// stats handler to enable stats and tracing.
33	conn, err := grpc.Dial("address", grpc.WithStatsHandler(&ocgrpc.ClientHandler{}))
34	if err != nil {
35		log.Fatalf("did not connect: %v", err)
36	}
37	defer conn.Close()
38}
39
40func ExampleServerHandler() {
41	// Register views to collect data.
42	if err := view.Register(ocgrpc.DefaultServerViews...); err != nil {
43		log.Fatal(err)
44	}
45
46	// Set up a new server with the OpenCensus
47	// stats handler to enable stats and tracing.
48	s := grpc.NewServer(grpc.StatsHandler(&ocgrpc.ServerHandler{}))
49	_ = s // use s
50}
51