podman
52 строки · 1.9 Кб
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
15/*
16Package trace contains support for OpenCensus distributed tracing.
17
18The following assumes a basic familiarity with OpenCensus concepts.
19See http://opencensus.io
20
21# Exporting Traces
22
23To export collected tracing data, register at least one exporter. You can use
24one of the provided exporters or write your own.
25
26trace.RegisterExporter(exporter)
27
28By default, traces will be sampled relatively rarely. To change the sampling
29frequency for your entire program, call ApplyConfig. Use a ProbabilitySampler
30to sample a subset of traces, or use AlwaysSample to collect a trace on every run:
31
32trace.ApplyConfig(trace.Config{DefaultSampler: trace.AlwaysSample()})
33
34Be careful about using trace.AlwaysSample in a production application with
35significant traffic: a new trace will be started and exported for every request.
36
37# Adding Spans to a Trace
38
39A trace consists of a tree of spans. In Go, the current span is carried in a
40context.Context.
41
42It is common to want to capture all the activity of a function call in a span. For
43this to work, the function must take a context.Context as a parameter. Add these two
44lines to the top of the function:
45
46ctx, span := trace.StartSpan(ctx, "example.com/Run")
47defer span.End()
48
49StartSpan will create a new top-level span if the context
50doesn't contain another span, otherwise it will create a child span.
51*/
52package trace // import "go.opencensus.io/trace"53