third_party/go: pay off some technical debt and hide the bodies

This is an amalgamation of a handful of small changes to Go deps.
Notably:

 - we remove our opencensus-proto fork, use upstream, use exclude=src to
   fix the build
 - unvendorify some deps
 - bump io_rules_go to fix WKT resolution

Notably, we now do not have the 'protoc-gen-go' error when running
kubecfg/kubectl anymore.

Change-Id: I34fb9e78b2b12e4543142183d601d01987076f32
diff --git a/WORKSPACE b/WORKSPACE
index 6ecd658..ed9de43 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -40,10 +40,10 @@
 # Download Go/Gazelle rules
 http_archive(
     name = "io_bazel_rules_go",
-    sha256 = "6a68e269802911fa419abb940c850734086869d7fe9bc8e12aaf60a09641c818",
+    sha256 = "d1ffd055969c8f8d431e2d439813e42326961d0942bdf734d2c95dc30c369566",
     urls = [
-        "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.23.0/rules_go-v0.23.0.tar.gz",
-        "https://github.com/bazelbuild/rules_go/releases/download/v0.23.0/rules_go-v0.23.0.tar.gz",
+        "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.24.5/rules_go-v0.24.5.tar.gz",
+        "https://github.com/bazelbuild/rules_go/releases/download/v0.24.5/rules_go-v0.24.5.tar.gz",
     ],
 )
 http_archive(
diff --git a/third_party/go/opencensus-proto/BUILD b/third_party/go/opencensus-proto/BUILD
deleted file mode 100644
index 53b75e8..0000000
--- a/third_party/go/opencensus-proto/BUILD
+++ /dev/null
@@ -1 +0,0 @@
-# Stay away Gazelle. (this files tells Gazelle to ignore it)
diff --git a/third_party/go/opencensus-proto/README.md b/third_party/go/opencensus-proto/README.md
deleted file mode 100644
index c109667..0000000
--- a/third_party/go/opencensus-proto/README.md
+++ /dev/null
@@ -1,5 +0,0 @@
-From github.com/census-instrumentation/opencensus-proto.
-
-Why is this vendored? https://github.com/census-instrumentation/opencensus-proto/issues/200
-
-Hopefully we can get rid of this at some point.
diff --git a/third_party/go/opencensus-proto/WORKSPACE b/third_party/go/opencensus-proto/WORKSPACE
deleted file mode 100644
index 081ae17..0000000
--- a/third_party/go/opencensus-proto/WORKSPACE
+++ /dev/null
@@ -1 +0,0 @@
-workspace(name = "com_github_census_instrumentation_opencensus_proto")
diff --git a/third_party/go/opencensus-proto/gen-go/agent/common/v1/BUILD.bazel b/third_party/go/opencensus-proto/gen-go/agent/common/v1/BUILD.bazel
deleted file mode 100644
index 45c9cf3..0000000
--- a/third_party/go/opencensus-proto/gen-go/agent/common/v1/BUILD.bazel
+++ /dev/null
@@ -1,12 +0,0 @@
-load("@io_bazel_rules_go//go:def.bzl", "go_library")
-
-go_library(
-    name = "go_default_library",
-    srcs = ["common.pb.go"],
-    importpath = "github.com/census-instrumentation/opencensus-proto/gen-go/agent/common/v1",
-    visibility = ["//visibility:public"],
-    deps = [
-        "@com_github_golang_protobuf//proto:go_default_library",
-        "@io_bazel_rules_go//proto/wkt:timestamp_go_proto",
-    ],
-)
diff --git a/third_party/go/opencensus-proto/gen-go/agent/common/v1/common.pb.go b/third_party/go/opencensus-proto/gen-go/agent/common/v1/common.pb.go
deleted file mode 100644
index a6f0feb..0000000
--- a/third_party/go/opencensus-proto/gen-go/agent/common/v1/common.pb.go
+++ /dev/null
@@ -1,361 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// source: opencensus/proto/agent/common/v1/common.proto
-
-package v1
-
-import (
-	fmt "fmt"
-	proto "github.com/golang/protobuf/proto"
-	timestamp "github.com/golang/protobuf/ptypes/timestamp"
-	math "math"
-)
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the proto package it is being compiled against.
-// A compilation error at this line likely means your copy of the
-// proto package needs to be updated.
-const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
-
-type LibraryInfo_Language int32
-
-const (
-	LibraryInfo_LANGUAGE_UNSPECIFIED LibraryInfo_Language = 0
-	LibraryInfo_CPP                  LibraryInfo_Language = 1
-	LibraryInfo_C_SHARP              LibraryInfo_Language = 2
-	LibraryInfo_ERLANG               LibraryInfo_Language = 3
-	LibraryInfo_GO_LANG              LibraryInfo_Language = 4
-	LibraryInfo_JAVA                 LibraryInfo_Language = 5
-	LibraryInfo_NODE_JS              LibraryInfo_Language = 6
-	LibraryInfo_PHP                  LibraryInfo_Language = 7
-	LibraryInfo_PYTHON               LibraryInfo_Language = 8
-	LibraryInfo_RUBY                 LibraryInfo_Language = 9
-	LibraryInfo_WEB_JS               LibraryInfo_Language = 10
-)
-
-var LibraryInfo_Language_name = map[int32]string{
-	0:  "LANGUAGE_UNSPECIFIED",
-	1:  "CPP",
-	2:  "C_SHARP",
-	3:  "ERLANG",
-	4:  "GO_LANG",
-	5:  "JAVA",
-	6:  "NODE_JS",
-	7:  "PHP",
-	8:  "PYTHON",
-	9:  "RUBY",
-	10: "WEB_JS",
-}
-
-var LibraryInfo_Language_value = map[string]int32{
-	"LANGUAGE_UNSPECIFIED": 0,
-	"CPP":                  1,
-	"C_SHARP":              2,
-	"ERLANG":               3,
-	"GO_LANG":              4,
-	"JAVA":                 5,
-	"NODE_JS":              6,
-	"PHP":                  7,
-	"PYTHON":               8,
-	"RUBY":                 9,
-	"WEB_JS":               10,
-}
-
-func (x LibraryInfo_Language) String() string {
-	return proto.EnumName(LibraryInfo_Language_name, int32(x))
-}
-
-func (LibraryInfo_Language) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_126c72ed8a252c84, []int{2, 0}
-}
-
-// Identifier metadata of the Node that produces the span or tracing data.
-// Note, this is not the metadata about the Node or service that is described by associated spans.
-// In the future we plan to extend the identifier proto definition to support
-// additional information (e.g cloud id, etc.)
-type Node struct {
-	// Identifier that uniquely identifies a process within a VM/container.
-	Identifier *ProcessIdentifier `protobuf:"bytes,1,opt,name=identifier,proto3" json:"identifier,omitempty"`
-	// Information on the OpenCensus Library that initiates the stream.
-	LibraryInfo *LibraryInfo `protobuf:"bytes,2,opt,name=library_info,json=libraryInfo,proto3" json:"library_info,omitempty"`
-	// Additional information on service.
-	ServiceInfo *ServiceInfo `protobuf:"bytes,3,opt,name=service_info,json=serviceInfo,proto3" json:"service_info,omitempty"`
-	// Additional attributes.
-	Attributes           map[string]string `protobuf:"bytes,4,rep,name=attributes,proto3" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
-	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
-	XXX_unrecognized     []byte            `json:"-"`
-	XXX_sizecache        int32             `json:"-"`
-}
-
-func (m *Node) Reset()         { *m = Node{} }
-func (m *Node) String() string { return proto.CompactTextString(m) }
-func (*Node) ProtoMessage()    {}
-func (*Node) Descriptor() ([]byte, []int) {
-	return fileDescriptor_126c72ed8a252c84, []int{0}
-}
-
-func (m *Node) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Node.Unmarshal(m, b)
-}
-func (m *Node) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Node.Marshal(b, m, deterministic)
-}
-func (m *Node) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Node.Merge(m, src)
-}
-func (m *Node) XXX_Size() int {
-	return xxx_messageInfo_Node.Size(m)
-}
-func (m *Node) XXX_DiscardUnknown() {
-	xxx_messageInfo_Node.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Node proto.InternalMessageInfo
-
-func (m *Node) GetIdentifier() *ProcessIdentifier {
-	if m != nil {
-		return m.Identifier
-	}
-	return nil
-}
-
-func (m *Node) GetLibraryInfo() *LibraryInfo {
-	if m != nil {
-		return m.LibraryInfo
-	}
-	return nil
-}
-
-func (m *Node) GetServiceInfo() *ServiceInfo {
-	if m != nil {
-		return m.ServiceInfo
-	}
-	return nil
-}
-
-func (m *Node) GetAttributes() map[string]string {
-	if m != nil {
-		return m.Attributes
-	}
-	return nil
-}
-
-// Identifier that uniquely identifies a process within a VM/container.
-type ProcessIdentifier struct {
-	// The host name. Usually refers to the machine/container name.
-	// For example: os.Hostname() in Go, socket.gethostname() in Python.
-	HostName string `protobuf:"bytes,1,opt,name=host_name,json=hostName,proto3" json:"host_name,omitempty"`
-	// Process id.
-	Pid uint32 `protobuf:"varint,2,opt,name=pid,proto3" json:"pid,omitempty"`
-	// Start time of this ProcessIdentifier. Represented in epoch time.
-	StartTimestamp       *timestamp.Timestamp `protobuf:"bytes,3,opt,name=start_timestamp,json=startTimestamp,proto3" json:"start_timestamp,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
-	XXX_unrecognized     []byte               `json:"-"`
-	XXX_sizecache        int32                `json:"-"`
-}
-
-func (m *ProcessIdentifier) Reset()         { *m = ProcessIdentifier{} }
-func (m *ProcessIdentifier) String() string { return proto.CompactTextString(m) }
-func (*ProcessIdentifier) ProtoMessage()    {}
-func (*ProcessIdentifier) Descriptor() ([]byte, []int) {
-	return fileDescriptor_126c72ed8a252c84, []int{1}
-}
-
-func (m *ProcessIdentifier) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_ProcessIdentifier.Unmarshal(m, b)
-}
-func (m *ProcessIdentifier) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_ProcessIdentifier.Marshal(b, m, deterministic)
-}
-func (m *ProcessIdentifier) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_ProcessIdentifier.Merge(m, src)
-}
-func (m *ProcessIdentifier) XXX_Size() int {
-	return xxx_messageInfo_ProcessIdentifier.Size(m)
-}
-func (m *ProcessIdentifier) XXX_DiscardUnknown() {
-	xxx_messageInfo_ProcessIdentifier.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_ProcessIdentifier proto.InternalMessageInfo
-
-func (m *ProcessIdentifier) GetHostName() string {
-	if m != nil {
-		return m.HostName
-	}
-	return ""
-}
-
-func (m *ProcessIdentifier) GetPid() uint32 {
-	if m != nil {
-		return m.Pid
-	}
-	return 0
-}
-
-func (m *ProcessIdentifier) GetStartTimestamp() *timestamp.Timestamp {
-	if m != nil {
-		return m.StartTimestamp
-	}
-	return nil
-}
-
-// Information on OpenCensus Library.
-type LibraryInfo struct {
-	// Language of OpenCensus Library.
-	Language LibraryInfo_Language `protobuf:"varint,1,opt,name=language,proto3,enum=opencensus.proto.agent.common.v1.LibraryInfo_Language" json:"language,omitempty"`
-	// Version of Agent exporter of Library.
-	ExporterVersion string `protobuf:"bytes,2,opt,name=exporter_version,json=exporterVersion,proto3" json:"exporter_version,omitempty"`
-	// Version of OpenCensus Library.
-	CoreLibraryVersion   string   `protobuf:"bytes,3,opt,name=core_library_version,json=coreLibraryVersion,proto3" json:"core_library_version,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *LibraryInfo) Reset()         { *m = LibraryInfo{} }
-func (m *LibraryInfo) String() string { return proto.CompactTextString(m) }
-func (*LibraryInfo) ProtoMessage()    {}
-func (*LibraryInfo) Descriptor() ([]byte, []int) {
-	return fileDescriptor_126c72ed8a252c84, []int{2}
-}
-
-func (m *LibraryInfo) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_LibraryInfo.Unmarshal(m, b)
-}
-func (m *LibraryInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_LibraryInfo.Marshal(b, m, deterministic)
-}
-func (m *LibraryInfo) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_LibraryInfo.Merge(m, src)
-}
-func (m *LibraryInfo) XXX_Size() int {
-	return xxx_messageInfo_LibraryInfo.Size(m)
-}
-func (m *LibraryInfo) XXX_DiscardUnknown() {
-	xxx_messageInfo_LibraryInfo.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_LibraryInfo proto.InternalMessageInfo
-
-func (m *LibraryInfo) GetLanguage() LibraryInfo_Language {
-	if m != nil {
-		return m.Language
-	}
-	return LibraryInfo_LANGUAGE_UNSPECIFIED
-}
-
-func (m *LibraryInfo) GetExporterVersion() string {
-	if m != nil {
-		return m.ExporterVersion
-	}
-	return ""
-}
-
-func (m *LibraryInfo) GetCoreLibraryVersion() string {
-	if m != nil {
-		return m.CoreLibraryVersion
-	}
-	return ""
-}
-
-// Additional service information.
-type ServiceInfo struct {
-	// Name of the service.
-	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *ServiceInfo) Reset()         { *m = ServiceInfo{} }
-func (m *ServiceInfo) String() string { return proto.CompactTextString(m) }
-func (*ServiceInfo) ProtoMessage()    {}
-func (*ServiceInfo) Descriptor() ([]byte, []int) {
-	return fileDescriptor_126c72ed8a252c84, []int{3}
-}
-
-func (m *ServiceInfo) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_ServiceInfo.Unmarshal(m, b)
-}
-func (m *ServiceInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_ServiceInfo.Marshal(b, m, deterministic)
-}
-func (m *ServiceInfo) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_ServiceInfo.Merge(m, src)
-}
-func (m *ServiceInfo) XXX_Size() int {
-	return xxx_messageInfo_ServiceInfo.Size(m)
-}
-func (m *ServiceInfo) XXX_DiscardUnknown() {
-	xxx_messageInfo_ServiceInfo.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_ServiceInfo proto.InternalMessageInfo
-
-func (m *ServiceInfo) GetName() string {
-	if m != nil {
-		return m.Name
-	}
-	return ""
-}
-
-func init() {
-	proto.RegisterEnum("opencensus.proto.agent.common.v1.LibraryInfo_Language", LibraryInfo_Language_name, LibraryInfo_Language_value)
-	proto.RegisterType((*Node)(nil), "opencensus.proto.agent.common.v1.Node")
-	proto.RegisterMapType((map[string]string)(nil), "opencensus.proto.agent.common.v1.Node.AttributesEntry")
-	proto.RegisterType((*ProcessIdentifier)(nil), "opencensus.proto.agent.common.v1.ProcessIdentifier")
-	proto.RegisterType((*LibraryInfo)(nil), "opencensus.proto.agent.common.v1.LibraryInfo")
-	proto.RegisterType((*ServiceInfo)(nil), "opencensus.proto.agent.common.v1.ServiceInfo")
-}
-
-func init() {
-	proto.RegisterFile("opencensus/proto/agent/common/v1/common.proto", fileDescriptor_126c72ed8a252c84)
-}
-
-var fileDescriptor_126c72ed8a252c84 = []byte{
-	// 618 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x94, 0x4f, 0x6e, 0xda, 0x4e,
-	0x14, 0xc7, 0x7f, 0xc6, 0x24, 0x81, 0xe7, 0x5f, 0x13, 0x77, 0x94, 0x05, 0x4a, 0x17, 0xa5, 0x74,
-	0x93, 0x2e, 0xb0, 0x9b, 0x44, 0xaa, 0xaa, 0x4a, 0x5d, 0x18, 0xe2, 0x26, 0x44, 0x11, 0x58, 0x26,
-	0xa1, 0x4a, 0x37, 0x96, 0x21, 0x83, 0x33, 0x2a, 0x9e, 0x41, 0xe3, 0x31, 0x2a, 0x27, 0xe8, 0x09,
-	0xda, 0x03, 0xf4, 0x50, 0x3d, 0x44, 0x4f, 0x51, 0xcd, 0x8c, 0x01, 0xab, 0x59, 0x90, 0xdd, 0xfb,
-	0xf3, 0xfd, 0x7e, 0x9e, 0xf5, 0xe6, 0xc9, 0xd0, 0x66, 0x73, 0x4c, 0x27, 0x98, 0x66, 0x79, 0xe6,
-	0xce, 0x39, 0x13, 0xcc, 0x8d, 0x13, 0x4c, 0x85, 0x3b, 0x61, 0x69, 0xca, 0xa8, 0xbb, 0x38, 0x29,
-	0x22, 0x47, 0x35, 0x51, 0x73, 0x23, 0xd7, 0x15, 0x47, 0xc9, 0x9d, 0x42, 0xb4, 0x38, 0x39, 0x7a,
-	0x99, 0x30, 0x96, 0xcc, 0xb0, 0x86, 0x8d, 0xf3, 0xa9, 0x2b, 0x48, 0x8a, 0x33, 0x11, 0xa7, 0x73,
-	0x6d, 0x68, 0xfd, 0x34, 0xa1, 0xda, 0x67, 0xf7, 0x18, 0x0d, 0x01, 0xc8, 0x3d, 0xa6, 0x82, 0x4c,
-	0x09, 0xe6, 0x0d, 0xa3, 0x69, 0x1c, 0x5b, 0xa7, 0x67, 0xce, 0xb6, 0x01, 0x4e, 0xc0, 0xd9, 0x04,
-	0x67, 0x59, 0x6f, 0x6d, 0x0d, 0x4b, 0x18, 0x14, 0xc0, 0xff, 0x33, 0x32, 0xe6, 0x31, 0x5f, 0x46,
-	0x84, 0x4e, 0x59, 0xa3, 0xa2, 0xb0, 0xed, 0xed, 0xd8, 0x6b, 0xed, 0xea, 0xd1, 0x29, 0x0b, 0xad,
-	0xd9, 0x26, 0x91, 0xc4, 0x0c, 0xf3, 0x05, 0x99, 0x60, 0x4d, 0x34, 0x9f, 0x4a, 0x1c, 0x6a, 0x97,
-	0x26, 0x66, 0x9b, 0x04, 0x8d, 0x00, 0x62, 0x21, 0x38, 0x19, 0xe7, 0x02, 0x67, 0x8d, 0x6a, 0xd3,
-	0x3c, 0xb6, 0x4e, 0xdf, 0x6d, 0xe7, 0xc9, 0xa5, 0x39, 0xde, 0xda, 0xe8, 0x53, 0xc1, 0x97, 0x61,
-	0x89, 0x74, 0xf4, 0x11, 0x0e, 0xfe, 0x69, 0x23, 0x1b, 0xcc, 0xaf, 0x78, 0xa9, 0x96, 0x5b, 0x0f,
-	0x65, 0x88, 0x0e, 0x61, 0x67, 0x11, 0xcf, 0x72, 0xac, 0x36, 0x53, 0x0f, 0x75, 0xf2, 0xa1, 0xf2,
-	0xde, 0x68, 0x7d, 0x37, 0xe0, 0xf9, 0xa3, 0xe5, 0xa2, 0x17, 0x50, 0x7f, 0x60, 0x99, 0x88, 0x68,
-	0x9c, 0xe2, 0x82, 0x53, 0x93, 0x85, 0x7e, 0x9c, 0x62, 0x89, 0x9f, 0x93, 0x7b, 0x85, 0x7a, 0x16,
-	0xca, 0x10, 0x75, 0xe1, 0x20, 0x13, 0x31, 0x17, 0xd1, 0xfa, 0xd9, 0x8b, 0x85, 0x1d, 0x39, 0xfa,
-	0x30, 0x9c, 0xd5, 0x61, 0x38, 0x37, 0x2b, 0x45, 0xb8, 0xaf, 0x2c, 0xeb, 0xbc, 0xf5, 0xbb, 0x02,
-	0x56, 0xe9, 0x3d, 0x50, 0x08, 0xb5, 0x59, 0x4c, 0x93, 0x3c, 0x4e, 0xf4, 0x27, 0xec, 0x3f, 0x65,
-	0x5d, 0x25, 0x80, 0x73, 0x5d, 0xb8, 0xc3, 0x35, 0x07, 0xbd, 0x01, 0x1b, 0x7f, 0x9b, 0x33, 0x2e,
-	0x30, 0x8f, 0x16, 0x98, 0x67, 0x84, 0xd1, 0x62, 0x25, 0x07, 0xab, 0xfa, 0x48, 0x97, 0xd1, 0x5b,
-	0x38, 0x9c, 0x30, 0x8e, 0xa3, 0xd5, 0x61, 0xad, 0xe4, 0xa6, 0x92, 0x23, 0xd9, 0x2b, 0x86, 0x15,
-	0x8e, 0xd6, 0x0f, 0x03, 0x6a, 0xab, 0x99, 0xa8, 0x01, 0x87, 0xd7, 0x5e, 0xff, 0xe2, 0xd6, 0xbb,
-	0xf0, 0xa3, 0xdb, 0xfe, 0x30, 0xf0, 0xbb, 0xbd, 0x4f, 0x3d, 0xff, 0xdc, 0xfe, 0x0f, 0xed, 0x81,
-	0xd9, 0x0d, 0x02, 0xdb, 0x40, 0x16, 0xec, 0x75, 0xa3, 0xe1, 0xa5, 0x17, 0x06, 0x76, 0x05, 0x01,
-	0xec, 0xfa, 0xa1, 0x74, 0xd8, 0xa6, 0x6c, 0x5c, 0x0c, 0x22, 0x95, 0x54, 0x51, 0x0d, 0xaa, 0x57,
-	0xde, 0xc8, 0xb3, 0x77, 0x64, 0xb9, 0x3f, 0x38, 0xf7, 0xa3, 0xab, 0xa1, 0xbd, 0x2b, 0x29, 0xc1,
-	0x65, 0x60, 0xef, 0x49, 0x63, 0x70, 0x77, 0x73, 0x39, 0xe8, 0xdb, 0x35, 0xa9, 0x0d, 0x6f, 0x3b,
-	0x77, 0x76, 0x5d, 0x56, 0x3f, 0xfb, 0x1d, 0x29, 0x85, 0xd6, 0x2b, 0xb0, 0x4a, 0x57, 0x89, 0x10,
-	0x54, 0x4b, 0xcf, 0xaa, 0xe2, 0xce, 0x2f, 0x03, 0x5e, 0x13, 0xb6, 0x75, 0xbd, 0x1d, 0xab, 0xab,
-	0xc2, 0x40, 0x36, 0x03, 0xe3, 0x4b, 0x2f, 0x21, 0xe2, 0x21, 0x1f, 0x4b, 0x81, 0xab, 0x7d, 0x6d,
-	0x42, 0x33, 0xc1, 0xf3, 0x14, 0x53, 0x11, 0x0b, 0xc2, 0xa8, 0xbb, 0x41, 0xb6, 0xf5, 0x9f, 0x26,
-	0xc1, 0xb4, 0x9d, 0x3c, 0xfa, 0xe1, 0xfc, 0xa9, 0x34, 0x07, 0x73, 0x4c, 0xbb, 0x7a, 0xb8, 0xe2,
-	0x3b, 0x9e, 0x1a, 0xae, 0x27, 0x3a, 0xa3, 0x93, 0xf1, 0xae, 0x02, 0x9c, 0xfd, 0x0d, 0x00, 0x00,
-	0xff, 0xff, 0xe3, 0x53, 0x74, 0x5e, 0xbe, 0x04, 0x00, 0x00,
-}
diff --git a/third_party/go/opencensus-proto/gen-go/agent/metrics/v1/BUILD.bazel b/third_party/go/opencensus-proto/gen-go/agent/metrics/v1/BUILD.bazel
deleted file mode 100644
index 280baf5..0000000
--- a/third_party/go/opencensus-proto/gen-go/agent/metrics/v1/BUILD.bazel
+++ /dev/null
@@ -1,17 +0,0 @@
-load("@io_bazel_rules_go//go:def.bzl", "go_library")
-
-go_library(
-    name = "go_default_library",
-    srcs = ["metrics_service.pb.go"],
-    importpath = "github.com/census-instrumentation/opencensus-proto/gen-go/agent/metrics/v1",
-    visibility = ["//visibility:public"],
-    deps = [
-        "@com_github_census_instrumentation_opencensus_proto//gen-go/agent/common/v1:go_default_library",
-        "@com_github_census_instrumentation_opencensus_proto//gen-go/metrics/v1:go_default_library",
-        "@com_github_census_instrumentation_opencensus_proto//gen-go/resource/v1:go_default_library",
-        "@com_github_golang_protobuf//proto:go_default_library",
-        "@org_golang_google_grpc//:go_default_library",
-        "@org_golang_google_grpc//status:go_default_library",
-        "@org_golang_google_grpc//codes:go_default_library",
-    ],
-)
diff --git a/third_party/go/opencensus-proto/gen-go/agent/metrics/v1/metrics_service.pb.go b/third_party/go/opencensus-proto/gen-go/agent/metrics/v1/metrics_service.pb.go
deleted file mode 100644
index 5f222b4..0000000
--- a/third_party/go/opencensus-proto/gen-go/agent/metrics/v1/metrics_service.pb.go
+++ /dev/null
@@ -1,275 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// source: opencensus/proto/agent/metrics/v1/metrics_service.proto
-
-package v1
-
-import (
-	context "context"
-	fmt "fmt"
-	v1 "github.com/census-instrumentation/opencensus-proto/gen-go/agent/common/v1"
-	v11 "github.com/census-instrumentation/opencensus-proto/gen-go/metrics/v1"
-	v12 "github.com/census-instrumentation/opencensus-proto/gen-go/resource/v1"
-	proto "github.com/golang/protobuf/proto"
-	grpc "google.golang.org/grpc"
-	codes "google.golang.org/grpc/codes"
-	status "google.golang.org/grpc/status"
-	math "math"
-)
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the proto package it is being compiled against.
-// A compilation error at this line likely means your copy of the
-// proto package needs to be updated.
-const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
-
-type ExportMetricsServiceRequest struct {
-	// This is required only in the first message on the stream or if the
-	// previous sent ExportMetricsServiceRequest message has a different Node (e.g.
-	// when the same RPC is used to send Metrics from multiple Applications).
-	Node *v1.Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"`
-	// A list of metrics that belong to the last received Node.
-	Metrics []*v11.Metric `protobuf:"bytes,2,rep,name=metrics,proto3" json:"metrics,omitempty"`
-	// The resource for the metrics in this message that do not have an explicit
-	// resource set.
-	// If unset, the most recently set resource in the RPC stream applies. It is
-	// valid to never be set within a stream, e.g. when no resource info is known
-	// at all or when all sent metrics have an explicit resource set.
-	Resource             *v12.Resource `protobuf:"bytes,3,opt,name=resource,proto3" json:"resource,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
-	XXX_unrecognized     []byte        `json:"-"`
-	XXX_sizecache        int32         `json:"-"`
-}
-
-func (m *ExportMetricsServiceRequest) Reset()         { *m = ExportMetricsServiceRequest{} }
-func (m *ExportMetricsServiceRequest) String() string { return proto.CompactTextString(m) }
-func (*ExportMetricsServiceRequest) ProtoMessage()    {}
-func (*ExportMetricsServiceRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_47e253a956287d04, []int{0}
-}
-
-func (m *ExportMetricsServiceRequest) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_ExportMetricsServiceRequest.Unmarshal(m, b)
-}
-func (m *ExportMetricsServiceRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_ExportMetricsServiceRequest.Marshal(b, m, deterministic)
-}
-func (m *ExportMetricsServiceRequest) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_ExportMetricsServiceRequest.Merge(m, src)
-}
-func (m *ExportMetricsServiceRequest) XXX_Size() int {
-	return xxx_messageInfo_ExportMetricsServiceRequest.Size(m)
-}
-func (m *ExportMetricsServiceRequest) XXX_DiscardUnknown() {
-	xxx_messageInfo_ExportMetricsServiceRequest.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_ExportMetricsServiceRequest proto.InternalMessageInfo
-
-func (m *ExportMetricsServiceRequest) GetNode() *v1.Node {
-	if m != nil {
-		return m.Node
-	}
-	return nil
-}
-
-func (m *ExportMetricsServiceRequest) GetMetrics() []*v11.Metric {
-	if m != nil {
-		return m.Metrics
-	}
-	return nil
-}
-
-func (m *ExportMetricsServiceRequest) GetResource() *v12.Resource {
-	if m != nil {
-		return m.Resource
-	}
-	return nil
-}
-
-type ExportMetricsServiceResponse struct {
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *ExportMetricsServiceResponse) Reset()         { *m = ExportMetricsServiceResponse{} }
-func (m *ExportMetricsServiceResponse) String() string { return proto.CompactTextString(m) }
-func (*ExportMetricsServiceResponse) ProtoMessage()    {}
-func (*ExportMetricsServiceResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_47e253a956287d04, []int{1}
-}
-
-func (m *ExportMetricsServiceResponse) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_ExportMetricsServiceResponse.Unmarshal(m, b)
-}
-func (m *ExportMetricsServiceResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_ExportMetricsServiceResponse.Marshal(b, m, deterministic)
-}
-func (m *ExportMetricsServiceResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_ExportMetricsServiceResponse.Merge(m, src)
-}
-func (m *ExportMetricsServiceResponse) XXX_Size() int {
-	return xxx_messageInfo_ExportMetricsServiceResponse.Size(m)
-}
-func (m *ExportMetricsServiceResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_ExportMetricsServiceResponse.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_ExportMetricsServiceResponse proto.InternalMessageInfo
-
-func init() {
-	proto.RegisterType((*ExportMetricsServiceRequest)(nil), "opencensus.proto.agent.metrics.v1.ExportMetricsServiceRequest")
-	proto.RegisterType((*ExportMetricsServiceResponse)(nil), "opencensus.proto.agent.metrics.v1.ExportMetricsServiceResponse")
-}
-
-func init() {
-	proto.RegisterFile("opencensus/proto/agent/metrics/v1/metrics_service.proto", fileDescriptor_47e253a956287d04)
-}
-
-var fileDescriptor_47e253a956287d04 = []byte{
-	// 361 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x92, 0x41, 0x4a, 0xc3, 0x40,
-	0x14, 0x86, 0x9d, 0x56, 0xaa, 0x4c, 0xc1, 0x45, 0xdc, 0x94, 0x2a, 0xd2, 0x56, 0x91, 0x8a, 0x64,
-	0x62, 0xea, 0x42, 0x10, 0x54, 0xac, 0xb8, 0x11, 0xd4, 0x12, 0xc1, 0x85, 0x1b, 0x69, 0xd3, 0x47,
-	0xcc, 0x22, 0x33, 0x71, 0x66, 0x12, 0xbc, 0x85, 0x77, 0x70, 0xef, 0x8d, 0x3c, 0x81, 0xa7, 0x90,
-	0xe4, 0x4d, 0x5a, 0x4a, 0x8c, 0x05, 0x77, 0x8f, 0xe4, 0xff, 0xfe, 0xf7, 0xff, 0x33, 0x43, 0x4f,
-	0x44, 0x0c, 0xdc, 0x07, 0xae, 0x12, 0xe5, 0xc4, 0x52, 0x68, 0xe1, 0x8c, 0x03, 0xe0, 0xda, 0x89,
-	0x40, 0xcb, 0xd0, 0x57, 0x4e, 0xea, 0x16, 0xe3, 0xb3, 0x02, 0x99, 0x86, 0x3e, 0xb0, 0x5c, 0x66,
-	0x75, 0xe7, 0x20, 0x7e, 0x61, 0x39, 0xc8, 0x8c, 0x9a, 0xa5, 0x6e, 0xdb, 0xae, 0xf0, 0xf6, 0x45,
-	0x14, 0x09, 0x9e, 0x59, 0xe3, 0x84, 0x7c, 0xfb, 0xa0, 0x24, 0x2f, 0x87, 0x30, 0xd2, 0xc3, 0x92,
-	0x54, 0x82, 0x12, 0x89, 0xf4, 0x21, 0xd3, 0x16, 0x33, 0x8a, 0x7b, 0x5f, 0x84, 0x6e, 0x5d, 0xbf,
-	0xc5, 0x42, 0xea, 0x5b, 0x34, 0x79, 0xc0, 0x22, 0x1e, 0xbc, 0x26, 0xa0, 0xb4, 0x75, 0x4a, 0x57,
-	0xb9, 0x98, 0x42, 0x8b, 0x74, 0x48, 0xbf, 0x39, 0xd8, 0x67, 0x15, 0xc5, 0x4c, 0xd6, 0xd4, 0x65,
-	0x77, 0x62, 0x0a, 0x5e, 0xce, 0x58, 0x67, 0x74, 0xcd, 0x24, 0x6b, 0xd5, 0x3a, 0xf5, 0x7e, 0x73,
-	0xb0, 0x5b, 0xc6, 0xe7, 0x27, 0xc2, 0x30, 0x80, 0x57, 0x30, 0xd6, 0x90, 0xae, 0x17, 0x61, 0x5b,
-	0xf5, 0xaa, 0xf5, 0xb3, 0x3a, 0xa9, 0xcb, 0x3c, 0x33, 0x7b, 0x33, 0xae, 0xb7, 0x43, 0xb7, 0x7f,
-	0x6f, 0xa7, 0x62, 0xc1, 0x15, 0x0c, 0x3e, 0x08, 0xdd, 0x58, 0xfc, 0x65, 0xbd, 0x13, 0xda, 0x40,
-	0xc6, 0x3a, 0x67, 0x4b, 0xef, 0x91, 0xfd, 0x71, 0x78, 0xed, 0x8b, 0x7f, 0xf3, 0x18, 0xaf, 0xb7,
-	0xd2, 0x27, 0x47, 0x64, 0xf8, 0x49, 0xe8, 0x5e, 0x28, 0x96, 0x7b, 0x0d, 0x37, 0x17, 0x6d, 0x46,
-	0x99, 0x6a, 0x44, 0x9e, 0x6e, 0x82, 0x50, 0xbf, 0x24, 0x93, 0xec, 0x92, 0x1c, 0x34, 0xb0, 0x43,
-	0xae, 0xb4, 0x4c, 0x22, 0xe0, 0x7a, 0xac, 0x43, 0xc1, 0x9d, 0xb9, 0xb7, 0x8d, 0x4f, 0x26, 0x00,
-	0x6e, 0x07, 0xe5, 0xf7, 0xfe, 0x5d, 0xeb, 0xde, 0xc7, 0xc0, 0xaf, 0x30, 0x46, 0xbe, 0x80, 0x5d,
-	0xe6, 0x31, 0xcc, 0x6a, 0xf6, 0xe8, 0x4e, 0x1a, 0xb9, 0xc5, 0xf1, 0x4f, 0x00, 0x00, 0x00, 0xff,
-	0xff, 0x19, 0x28, 0xa4, 0x50, 0x3f, 0x03, 0x00, 0x00,
-}
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ context.Context
-var _ grpc.ClientConn
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the grpc package it is being compiled against.
-const _ = grpc.SupportPackageIsVersion4
-
-// MetricsServiceClient is the client API for MetricsService service.
-//
-// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
-type MetricsServiceClient interface {
-	// For performance reasons, it is recommended to keep this RPC
-	// alive for the entire life of the application.
-	Export(ctx context.Context, opts ...grpc.CallOption) (MetricsService_ExportClient, error)
-}
-
-type metricsServiceClient struct {
-	cc *grpc.ClientConn
-}
-
-func NewMetricsServiceClient(cc *grpc.ClientConn) MetricsServiceClient {
-	return &metricsServiceClient{cc}
-}
-
-func (c *metricsServiceClient) Export(ctx context.Context, opts ...grpc.CallOption) (MetricsService_ExportClient, error) {
-	stream, err := c.cc.NewStream(ctx, &_MetricsService_serviceDesc.Streams[0], "/opencensus.proto.agent.metrics.v1.MetricsService/Export", opts...)
-	if err != nil {
-		return nil, err
-	}
-	x := &metricsServiceExportClient{stream}
-	return x, nil
-}
-
-type MetricsService_ExportClient interface {
-	Send(*ExportMetricsServiceRequest) error
-	Recv() (*ExportMetricsServiceResponse, error)
-	grpc.ClientStream
-}
-
-type metricsServiceExportClient struct {
-	grpc.ClientStream
-}
-
-func (x *metricsServiceExportClient) Send(m *ExportMetricsServiceRequest) error {
-	return x.ClientStream.SendMsg(m)
-}
-
-func (x *metricsServiceExportClient) Recv() (*ExportMetricsServiceResponse, error) {
-	m := new(ExportMetricsServiceResponse)
-	if err := x.ClientStream.RecvMsg(m); err != nil {
-		return nil, err
-	}
-	return m, nil
-}
-
-// MetricsServiceServer is the server API for MetricsService service.
-type MetricsServiceServer interface {
-	// For performance reasons, it is recommended to keep this RPC
-	// alive for the entire life of the application.
-	Export(MetricsService_ExportServer) error
-}
-
-// UnimplementedMetricsServiceServer can be embedded to have forward compatible implementations.
-type UnimplementedMetricsServiceServer struct {
-}
-
-func (*UnimplementedMetricsServiceServer) Export(srv MetricsService_ExportServer) error {
-	return status.Errorf(codes.Unimplemented, "method Export not implemented")
-}
-
-func RegisterMetricsServiceServer(s *grpc.Server, srv MetricsServiceServer) {
-	s.RegisterService(&_MetricsService_serviceDesc, srv)
-}
-
-func _MetricsService_Export_Handler(srv interface{}, stream grpc.ServerStream) error {
-	return srv.(MetricsServiceServer).Export(&metricsServiceExportServer{stream})
-}
-
-type MetricsService_ExportServer interface {
-	Send(*ExportMetricsServiceResponse) error
-	Recv() (*ExportMetricsServiceRequest, error)
-	grpc.ServerStream
-}
-
-type metricsServiceExportServer struct {
-	grpc.ServerStream
-}
-
-func (x *metricsServiceExportServer) Send(m *ExportMetricsServiceResponse) error {
-	return x.ServerStream.SendMsg(m)
-}
-
-func (x *metricsServiceExportServer) Recv() (*ExportMetricsServiceRequest, error) {
-	m := new(ExportMetricsServiceRequest)
-	if err := x.ServerStream.RecvMsg(m); err != nil {
-		return nil, err
-	}
-	return m, nil
-}
-
-var _MetricsService_serviceDesc = grpc.ServiceDesc{
-	ServiceName: "opencensus.proto.agent.metrics.v1.MetricsService",
-	HandlerType: (*MetricsServiceServer)(nil),
-	Methods:     []grpc.MethodDesc{},
-	Streams: []grpc.StreamDesc{
-		{
-			StreamName:    "Export",
-			Handler:       _MetricsService_Export_Handler,
-			ServerStreams: true,
-			ClientStreams: true,
-		},
-	},
-	Metadata: "opencensus/proto/agent/metrics/v1/metrics_service.proto",
-}
diff --git a/third_party/go/opencensus-proto/gen-go/agent/metrics/v1/metrics_service.pb.gw.go b/third_party/go/opencensus-proto/gen-go/agent/metrics/v1/metrics_service.pb.gw.go
deleted file mode 100644
index 158c160..0000000
--- a/third_party/go/opencensus-proto/gen-go/agent/metrics/v1/metrics_service.pb.gw.go
+++ /dev/null
@@ -1,150 +0,0 @@
-// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT.
-// source: opencensus/proto/agent/metrics/v1/metrics_service.proto
-
-/*
-Package v1 is a reverse proxy.
-
-It translates gRPC into RESTful JSON APIs.
-*/
-package v1
-
-import (
-	"context"
-	"io"
-	"net/http"
-
-	"github.com/golang/protobuf/proto"
-	"github.com/grpc-ecosystem/grpc-gateway/runtime"
-	"github.com/grpc-ecosystem/grpc-gateway/utilities"
-	"google.golang.org/grpc"
-	"google.golang.org/grpc/codes"
-	"google.golang.org/grpc/grpclog"
-	"google.golang.org/grpc/status"
-)
-
-var _ codes.Code
-var _ io.Reader
-var _ status.Status
-var _ = runtime.String
-var _ = utilities.NewDoubleArray
-
-func request_MetricsService_Export_0(ctx context.Context, marshaler runtime.Marshaler, client MetricsServiceClient, req *http.Request, pathParams map[string]string) (MetricsService_ExportClient, runtime.ServerMetadata, error) {
-	var metadata runtime.ServerMetadata
-	stream, err := client.Export(ctx)
-	if err != nil {
-		grpclog.Infof("Failed to start streaming: %v", err)
-		return nil, metadata, err
-	}
-	dec := marshaler.NewDecoder(req.Body)
-	handleSend := func() error {
-		var protoReq ExportMetricsServiceRequest
-		err := dec.Decode(&protoReq)
-		if err == io.EOF {
-			return err
-		}
-		if err != nil {
-			grpclog.Infof("Failed to decode request: %v", err)
-			return err
-		}
-		if err := stream.Send(&protoReq); err != nil {
-			grpclog.Infof("Failed to send request: %v", err)
-			return err
-		}
-		return nil
-	}
-	if err := handleSend(); err != nil {
-		if cerr := stream.CloseSend(); cerr != nil {
-			grpclog.Infof("Failed to terminate client stream: %v", cerr)
-		}
-		if err == io.EOF {
-			return stream, metadata, nil
-		}
-		return nil, metadata, err
-	}
-	go func() {
-		for {
-			if err := handleSend(); err != nil {
-				break
-			}
-		}
-		if err := stream.CloseSend(); err != nil {
-			grpclog.Infof("Failed to terminate client stream: %v", err)
-		}
-	}()
-	header, err := stream.Header()
-	if err != nil {
-		grpclog.Infof("Failed to get header from client: %v", err)
-		return nil, metadata, err
-	}
-	metadata.HeaderMD = header
-	return stream, metadata, nil
-}
-
-// RegisterMetricsServiceHandlerFromEndpoint is same as RegisterMetricsServiceHandler but
-// automatically dials to "endpoint" and closes the connection when "ctx" gets done.
-func RegisterMetricsServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) {
-	conn, err := grpc.Dial(endpoint, opts...)
-	if err != nil {
-		return err
-	}
-	defer func() {
-		if err != nil {
-			if cerr := conn.Close(); cerr != nil {
-				grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr)
-			}
-			return
-		}
-		go func() {
-			<-ctx.Done()
-			if cerr := conn.Close(); cerr != nil {
-				grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr)
-			}
-		}()
-	}()
-
-	return RegisterMetricsServiceHandler(ctx, mux, conn)
-}
-
-// RegisterMetricsServiceHandler registers the http handlers for service MetricsService to "mux".
-// The handlers forward requests to the grpc endpoint over "conn".
-func RegisterMetricsServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error {
-	return RegisterMetricsServiceHandlerClient(ctx, mux, NewMetricsServiceClient(conn))
-}
-
-// RegisterMetricsServiceHandlerClient registers the http handlers for service MetricsService
-// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "MetricsServiceClient".
-// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "MetricsServiceClient"
-// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in
-// "MetricsServiceClient" to call the correct interceptors.
-func RegisterMetricsServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client MetricsServiceClient) error {
-
-	mux.Handle("POST", pattern_MetricsService_Export_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
-		ctx, cancel := context.WithCancel(req.Context())
-		defer cancel()
-		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
-		rctx, err := runtime.AnnotateContext(ctx, mux, req)
-		if err != nil {
-			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
-			return
-		}
-		resp, md, err := request_MetricsService_Export_0(rctx, inboundMarshaler, client, req, pathParams)
-		ctx = runtime.NewServerMetadataContext(ctx, md)
-		if err != nil {
-			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
-			return
-		}
-
-		forward_MetricsService_Export_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...)
-
-	})
-
-	return nil
-}
-
-var (
-	pattern_MetricsService_Export_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v1", "metrics"}, ""))
-)
-
-var (
-	forward_MetricsService_Export_0 = runtime.ForwardResponseStream
-)
diff --git a/third_party/go/opencensus-proto/gen-go/agent/trace/v1/BUILD.bazel b/third_party/go/opencensus-proto/gen-go/agent/trace/v1/BUILD.bazel
deleted file mode 100644
index 9147599..0000000
--- a/third_party/go/opencensus-proto/gen-go/agent/trace/v1/BUILD.bazel
+++ /dev/null
@@ -1,24 +0,0 @@
-load("@io_bazel_rules_go//go:def.bzl", "go_library")
-
-go_library(
-    name = "go_default_library",
-    srcs = [
-        "trace_service.pb.go",
-        "trace_service.pb.gw.go",
-    ],
-    importpath = "github.com/census-instrumentation/opencensus-proto/gen-go/agent/trace/v1",
-    visibility = ["//visibility:public"],
-    deps = [
-        "@com_github_census_instrumentation_opencensus_proto//gen-go/agent/common/v1:go_default_library",
-        "@com_github_census_instrumentation_opencensus_proto//gen-go/resource/v1:go_default_library",
-        "@com_github_census_instrumentation_opencensus_proto//gen-go/trace/v1:go_default_library",
-        "@com_github_golang_protobuf//proto:go_default_library",
-        "@com_github_grpc_ecosystem_grpc_gateway//runtime:go_default_library",
-        "@com_github_grpc_ecosystem_grpc_gateway//utilities:go_default_library",
-        "@org_golang_google_grpc//:go_default_library",
-        "@org_golang_google_grpc//codes:go_default_library",
-        "@org_golang_google_grpc//grpclog:go_default_library",
-        "@org_golang_google_grpc//status:go_default_library",
-        "@org_golang_x_net//context:go_default_library",
-    ],
-)
diff --git a/third_party/go/opencensus-proto/gen-go/agent/trace/v1/trace_service.pb.go b/third_party/go/opencensus-proto/gen-go/agent/trace/v1/trace_service.pb.go
deleted file mode 100644
index a0a3504..0000000
--- a/third_party/go/opencensus-proto/gen-go/agent/trace/v1/trace_service.pb.go
+++ /dev/null
@@ -1,457 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// source: opencensus/proto/agent/trace/v1/trace_service.proto
-
-package v1
-
-import (
-	context "context"
-	fmt "fmt"
-	v1 "github.com/census-instrumentation/opencensus-proto/gen-go/agent/common/v1"
-	v12 "github.com/census-instrumentation/opencensus-proto/gen-go/resource/v1"
-	v11 "github.com/census-instrumentation/opencensus-proto/gen-go/trace/v1"
-	proto "github.com/golang/protobuf/proto"
-	grpc "google.golang.org/grpc"
-	codes "google.golang.org/grpc/codes"
-	status "google.golang.org/grpc/status"
-	math "math"
-)
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the proto package it is being compiled against.
-// A compilation error at this line likely means your copy of the
-// proto package needs to be updated.
-const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
-
-type CurrentLibraryConfig struct {
-	// This is required only in the first message on the stream or if the
-	// previous sent CurrentLibraryConfig message has a different Node (e.g.
-	// when the same RPC is used to configure multiple Applications).
-	Node *v1.Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"`
-	// Current configuration.
-	Config               *v11.TraceConfig `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
-	XXX_unrecognized     []byte           `json:"-"`
-	XXX_sizecache        int32            `json:"-"`
-}
-
-func (m *CurrentLibraryConfig) Reset()         { *m = CurrentLibraryConfig{} }
-func (m *CurrentLibraryConfig) String() string { return proto.CompactTextString(m) }
-func (*CurrentLibraryConfig) ProtoMessage()    {}
-func (*CurrentLibraryConfig) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7027f99caf7ac6a5, []int{0}
-}
-
-func (m *CurrentLibraryConfig) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CurrentLibraryConfig.Unmarshal(m, b)
-}
-func (m *CurrentLibraryConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CurrentLibraryConfig.Marshal(b, m, deterministic)
-}
-func (m *CurrentLibraryConfig) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CurrentLibraryConfig.Merge(m, src)
-}
-func (m *CurrentLibraryConfig) XXX_Size() int {
-	return xxx_messageInfo_CurrentLibraryConfig.Size(m)
-}
-func (m *CurrentLibraryConfig) XXX_DiscardUnknown() {
-	xxx_messageInfo_CurrentLibraryConfig.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CurrentLibraryConfig proto.InternalMessageInfo
-
-func (m *CurrentLibraryConfig) GetNode() *v1.Node {
-	if m != nil {
-		return m.Node
-	}
-	return nil
-}
-
-func (m *CurrentLibraryConfig) GetConfig() *v11.TraceConfig {
-	if m != nil {
-		return m.Config
-	}
-	return nil
-}
-
-type UpdatedLibraryConfig struct {
-	// This field is ignored when the RPC is used to configure only one Application.
-	// This is required only in the first message on the stream or if the
-	// previous sent UpdatedLibraryConfig message has a different Node.
-	Node *v1.Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"`
-	// Requested updated configuration.
-	Config               *v11.TraceConfig `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
-	XXX_unrecognized     []byte           `json:"-"`
-	XXX_sizecache        int32            `json:"-"`
-}
-
-func (m *UpdatedLibraryConfig) Reset()         { *m = UpdatedLibraryConfig{} }
-func (m *UpdatedLibraryConfig) String() string { return proto.CompactTextString(m) }
-func (*UpdatedLibraryConfig) ProtoMessage()    {}
-func (*UpdatedLibraryConfig) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7027f99caf7ac6a5, []int{1}
-}
-
-func (m *UpdatedLibraryConfig) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_UpdatedLibraryConfig.Unmarshal(m, b)
-}
-func (m *UpdatedLibraryConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_UpdatedLibraryConfig.Marshal(b, m, deterministic)
-}
-func (m *UpdatedLibraryConfig) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_UpdatedLibraryConfig.Merge(m, src)
-}
-func (m *UpdatedLibraryConfig) XXX_Size() int {
-	return xxx_messageInfo_UpdatedLibraryConfig.Size(m)
-}
-func (m *UpdatedLibraryConfig) XXX_DiscardUnknown() {
-	xxx_messageInfo_UpdatedLibraryConfig.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_UpdatedLibraryConfig proto.InternalMessageInfo
-
-func (m *UpdatedLibraryConfig) GetNode() *v1.Node {
-	if m != nil {
-		return m.Node
-	}
-	return nil
-}
-
-func (m *UpdatedLibraryConfig) GetConfig() *v11.TraceConfig {
-	if m != nil {
-		return m.Config
-	}
-	return nil
-}
-
-type ExportTraceServiceRequest struct {
-	// This is required only in the first message on the stream or if the
-	// previous sent ExportTraceServiceRequest message has a different Node (e.g.
-	// when the same RPC is used to send Spans from multiple Applications).
-	Node *v1.Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"`
-	// A list of Spans that belong to the last received Node.
-	Spans []*v11.Span `protobuf:"bytes,2,rep,name=spans,proto3" json:"spans,omitempty"`
-	// The resource for the spans in this message that do not have an explicit
-	// resource set.
-	// If unset, the most recently set resource in the RPC stream applies. It is
-	// valid to never be set within a stream, e.g. when no resource info is known.
-	Resource             *v12.Resource `protobuf:"bytes,3,opt,name=resource,proto3" json:"resource,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
-	XXX_unrecognized     []byte        `json:"-"`
-	XXX_sizecache        int32         `json:"-"`
-}
-
-func (m *ExportTraceServiceRequest) Reset()         { *m = ExportTraceServiceRequest{} }
-func (m *ExportTraceServiceRequest) String() string { return proto.CompactTextString(m) }
-func (*ExportTraceServiceRequest) ProtoMessage()    {}
-func (*ExportTraceServiceRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7027f99caf7ac6a5, []int{2}
-}
-
-func (m *ExportTraceServiceRequest) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_ExportTraceServiceRequest.Unmarshal(m, b)
-}
-func (m *ExportTraceServiceRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_ExportTraceServiceRequest.Marshal(b, m, deterministic)
-}
-func (m *ExportTraceServiceRequest) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_ExportTraceServiceRequest.Merge(m, src)
-}
-func (m *ExportTraceServiceRequest) XXX_Size() int {
-	return xxx_messageInfo_ExportTraceServiceRequest.Size(m)
-}
-func (m *ExportTraceServiceRequest) XXX_DiscardUnknown() {
-	xxx_messageInfo_ExportTraceServiceRequest.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_ExportTraceServiceRequest proto.InternalMessageInfo
-
-func (m *ExportTraceServiceRequest) GetNode() *v1.Node {
-	if m != nil {
-		return m.Node
-	}
-	return nil
-}
-
-func (m *ExportTraceServiceRequest) GetSpans() []*v11.Span {
-	if m != nil {
-		return m.Spans
-	}
-	return nil
-}
-
-func (m *ExportTraceServiceRequest) GetResource() *v12.Resource {
-	if m != nil {
-		return m.Resource
-	}
-	return nil
-}
-
-type ExportTraceServiceResponse struct {
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *ExportTraceServiceResponse) Reset()         { *m = ExportTraceServiceResponse{} }
-func (m *ExportTraceServiceResponse) String() string { return proto.CompactTextString(m) }
-func (*ExportTraceServiceResponse) ProtoMessage()    {}
-func (*ExportTraceServiceResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7027f99caf7ac6a5, []int{3}
-}
-
-func (m *ExportTraceServiceResponse) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_ExportTraceServiceResponse.Unmarshal(m, b)
-}
-func (m *ExportTraceServiceResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_ExportTraceServiceResponse.Marshal(b, m, deterministic)
-}
-func (m *ExportTraceServiceResponse) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_ExportTraceServiceResponse.Merge(m, src)
-}
-func (m *ExportTraceServiceResponse) XXX_Size() int {
-	return xxx_messageInfo_ExportTraceServiceResponse.Size(m)
-}
-func (m *ExportTraceServiceResponse) XXX_DiscardUnknown() {
-	xxx_messageInfo_ExportTraceServiceResponse.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_ExportTraceServiceResponse proto.InternalMessageInfo
-
-func init() {
-	proto.RegisterType((*CurrentLibraryConfig)(nil), "opencensus.proto.agent.trace.v1.CurrentLibraryConfig")
-	proto.RegisterType((*UpdatedLibraryConfig)(nil), "opencensus.proto.agent.trace.v1.UpdatedLibraryConfig")
-	proto.RegisterType((*ExportTraceServiceRequest)(nil), "opencensus.proto.agent.trace.v1.ExportTraceServiceRequest")
-	proto.RegisterType((*ExportTraceServiceResponse)(nil), "opencensus.proto.agent.trace.v1.ExportTraceServiceResponse")
-}
-
-func init() {
-	proto.RegisterFile("opencensus/proto/agent/trace/v1/trace_service.proto", fileDescriptor_7027f99caf7ac6a5)
-}
-
-var fileDescriptor_7027f99caf7ac6a5 = []byte{
-	// 442 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x94, 0xcf, 0xaa, 0xd4, 0x30,
-	0x14, 0xc6, 0x4d, 0xaf, 0x16, 0xc9, 0x75, 0x63, 0x71, 0x51, 0x8b, 0x30, 0x97, 0x82, 0x32, 0xa0,
-	0x4d, 0xed, 0x5c, 0xee, 0xe6, 0x0a, 0x82, 0x33, 0x08, 0x2e, 0x44, 0x2f, 0x1d, 0x75, 0xe1, 0x66,
-	0xe8, 0xb4, 0xc7, 0xda, 0xc5, 0x24, 0x31, 0x49, 0x8b, 0x82, 0x7b, 0xf7, 0x2e, 0x7c, 0x03, 0x5f,
-	0xc8, 0xc7, 0xf0, 0x29, 0xa4, 0x39, 0x9d, 0x3f, 0x3a, 0x53, 0x0b, 0xba, 0xb9, 0xbb, 0x43, 0xf3,
-	0xfd, 0xbe, 0xf3, 0x25, 0x39, 0x29, 0x3d, 0x15, 0x12, 0x78, 0x0e, 0x5c, 0xd7, 0x3a, 0x96, 0x4a,
-	0x18, 0x11, 0x67, 0x25, 0x70, 0x13, 0x1b, 0x95, 0xe5, 0x10, 0x37, 0x09, 0x16, 0x0b, 0x0d, 0xaa,
-	0xa9, 0x72, 0x60, 0x56, 0xe2, 0x8d, 0xb6, 0x10, 0x7e, 0x61, 0x16, 0x62, 0x56, 0xcb, 0x9a, 0x24,
-	0x88, 0x7a, 0x5c, 0x73, 0xb1, 0x5a, 0x09, 0xde, 0xda, 0x62, 0x85, 0x74, 0x70, 0x7f, 0x4f, 0xae,
-	0x40, 0x8b, 0x5a, 0x61, 0x82, 0x75, 0xdd, 0x89, 0xef, 0xee, 0x89, 0x7f, 0xcf, 0xda, 0xc9, 0x1e,
-	0x0c, 0xc8, 0x16, 0xb9, 0xe0, 0xef, 0xaa, 0x12, 0xd5, 0xe1, 0x57, 0x42, 0x6f, 0xcd, 0x6a, 0xa5,
-	0x80, 0x9b, 0xe7, 0xd5, 0x52, 0x65, 0xea, 0xd3, 0xcc, 0x2e, 0x7b, 0xe7, 0xf4, 0x2a, 0x17, 0x05,
-	0xf8, 0xe4, 0x84, 0x8c, 0x8f, 0x27, 0xf7, 0x58, 0xcf, 0xce, 0xbb, 0xed, 0x34, 0x09, 0x7b, 0x21,
-	0x0a, 0x48, 0x2d, 0xe3, 0x3d, 0xa6, 0x2e, 0x36, 0xf1, 0x9d, 0x3e, 0x7a, 0x7d, 0x62, 0xec, 0x55,
-	0x5b, 0x60, 0xcf, 0xb4, 0xa3, 0x6c, 0xa8, 0xd7, 0xb2, 0xc8, 0x0c, 0x14, 0x97, 0x27, 0xd4, 0x0f,
-	0x42, 0x6f, 0x3f, 0xfd, 0x28, 0x85, 0x32, 0x76, 0x75, 0x8e, 0x83, 0x91, 0xc2, 0x87, 0x1a, 0xb4,
-	0xf9, 0xaf, 0x64, 0x67, 0xf4, 0x9a, 0x96, 0x19, 0xd7, 0xbe, 0x73, 0x72, 0x34, 0x3e, 0x9e, 0x8c,
-	0xfe, 0x12, 0x6c, 0x2e, 0x33, 0x9e, 0xa2, 0xda, 0x9b, 0xd2, 0xeb, 0xeb, 0x09, 0xf1, 0x8f, 0xfa,
-	0xda, 0x6e, 0x66, 0xa8, 0x49, 0x58, 0xda, 0xd5, 0xe9, 0x86, 0x0b, 0xef, 0xd0, 0xe0, 0xd0, 0x9e,
-	0xb4, 0x14, 0x5c, 0xc3, 0xe4, 0x9b, 0x43, 0x6f, 0xec, 0x2e, 0x78, 0x9f, 0xa9, 0xdb, 0xdd, 0xc4,
-	0x19, 0x1b, 0x78, 0x0a, 0xec, 0xd0, 0x54, 0x05, 0xc3, 0xd8, 0xa1, 0x7b, 0x0f, 0xaf, 0x8c, 0xc9,
-	0x43, 0xe2, 0x7d, 0x21, 0xd4, 0xc5, 0xb4, 0xde, 0xf9, 0xa0, 0x4f, 0xef, 0x55, 0x05, 0x8f, 0xfe,
-	0x89, 0xc5, 0x23, 0xc1, 0x24, 0xd3, 0xef, 0x84, 0x86, 0x95, 0x18, 0xf2, 0x99, 0xde, 0xdc, 0xb5,
-	0xb8, 0x68, 0x15, 0x17, 0xe4, 0xed, 0xb3, 0xb2, 0x32, 0xef, 0xeb, 0x65, 0x3b, 0x0a, 0x31, 0xc2,
-	0x51, 0xc5, 0xb5, 0x51, 0xf5, 0x0a, 0xb8, 0xc9, 0x4c, 0x25, 0x78, 0xbc, 0xf5, 0x8d, 0xf0, 0x05,
-	0x97, 0xc0, 0xa3, 0xf2, 0xcf, 0x3f, 0xd4, 0x4f, 0x67, 0xf4, 0x52, 0x02, 0x9f, 0x61, 0x00, 0x6b,
-	0xcf, 0x9e, 0xd8, 0x00, 0xb6, 0x2d, 0x7b, 0x93, 0x2c, 0x5d, 0x8b, 0x9f, 0xfe, 0x0a, 0x00, 0x00,
-	0xff, 0xff, 0x65, 0x76, 0xd7, 0xb9, 0xed, 0x04, 0x00, 0x00,
-}
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ context.Context
-var _ grpc.ClientConn
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the grpc package it is being compiled against.
-const _ = grpc.SupportPackageIsVersion4
-
-// TraceServiceClient is the client API for TraceService service.
-//
-// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
-type TraceServiceClient interface {
-	// After initialization, this RPC must be kept alive for the entire life of
-	// the application. The agent pushes configs down to applications via a
-	// stream.
-	Config(ctx context.Context, opts ...grpc.CallOption) (TraceService_ConfigClient, error)
-	// For performance reasons, it is recommended to keep this RPC
-	// alive for the entire life of the application.
-	Export(ctx context.Context, opts ...grpc.CallOption) (TraceService_ExportClient, error)
-}
-
-type traceServiceClient struct {
-	cc *grpc.ClientConn
-}
-
-func NewTraceServiceClient(cc *grpc.ClientConn) TraceServiceClient {
-	return &traceServiceClient{cc}
-}
-
-func (c *traceServiceClient) Config(ctx context.Context, opts ...grpc.CallOption) (TraceService_ConfigClient, error) {
-	stream, err := c.cc.NewStream(ctx, &_TraceService_serviceDesc.Streams[0], "/opencensus.proto.agent.trace.v1.TraceService/Config", opts...)
-	if err != nil {
-		return nil, err
-	}
-	x := &traceServiceConfigClient{stream}
-	return x, nil
-}
-
-type TraceService_ConfigClient interface {
-	Send(*CurrentLibraryConfig) error
-	Recv() (*UpdatedLibraryConfig, error)
-	grpc.ClientStream
-}
-
-type traceServiceConfigClient struct {
-	grpc.ClientStream
-}
-
-func (x *traceServiceConfigClient) Send(m *CurrentLibraryConfig) error {
-	return x.ClientStream.SendMsg(m)
-}
-
-func (x *traceServiceConfigClient) Recv() (*UpdatedLibraryConfig, error) {
-	m := new(UpdatedLibraryConfig)
-	if err := x.ClientStream.RecvMsg(m); err != nil {
-		return nil, err
-	}
-	return m, nil
-}
-
-func (c *traceServiceClient) Export(ctx context.Context, opts ...grpc.CallOption) (TraceService_ExportClient, error) {
-	stream, err := c.cc.NewStream(ctx, &_TraceService_serviceDesc.Streams[1], "/opencensus.proto.agent.trace.v1.TraceService/Export", opts...)
-	if err != nil {
-		return nil, err
-	}
-	x := &traceServiceExportClient{stream}
-	return x, nil
-}
-
-type TraceService_ExportClient interface {
-	Send(*ExportTraceServiceRequest) error
-	Recv() (*ExportTraceServiceResponse, error)
-	grpc.ClientStream
-}
-
-type traceServiceExportClient struct {
-	grpc.ClientStream
-}
-
-func (x *traceServiceExportClient) Send(m *ExportTraceServiceRequest) error {
-	return x.ClientStream.SendMsg(m)
-}
-
-func (x *traceServiceExportClient) Recv() (*ExportTraceServiceResponse, error) {
-	m := new(ExportTraceServiceResponse)
-	if err := x.ClientStream.RecvMsg(m); err != nil {
-		return nil, err
-	}
-	return m, nil
-}
-
-// TraceServiceServer is the server API for TraceService service.
-type TraceServiceServer interface {
-	// After initialization, this RPC must be kept alive for the entire life of
-	// the application. The agent pushes configs down to applications via a
-	// stream.
-	Config(TraceService_ConfigServer) error
-	// For performance reasons, it is recommended to keep this RPC
-	// alive for the entire life of the application.
-	Export(TraceService_ExportServer) error
-}
-
-// UnimplementedTraceServiceServer can be embedded to have forward compatible implementations.
-type UnimplementedTraceServiceServer struct {
-}
-
-func (*UnimplementedTraceServiceServer) Config(srv TraceService_ConfigServer) error {
-	return status.Errorf(codes.Unimplemented, "method Config not implemented")
-}
-func (*UnimplementedTraceServiceServer) Export(srv TraceService_ExportServer) error {
-	return status.Errorf(codes.Unimplemented, "method Export not implemented")
-}
-
-func RegisterTraceServiceServer(s *grpc.Server, srv TraceServiceServer) {
-	s.RegisterService(&_TraceService_serviceDesc, srv)
-}
-
-func _TraceService_Config_Handler(srv interface{}, stream grpc.ServerStream) error {
-	return srv.(TraceServiceServer).Config(&traceServiceConfigServer{stream})
-}
-
-type TraceService_ConfigServer interface {
-	Send(*UpdatedLibraryConfig) error
-	Recv() (*CurrentLibraryConfig, error)
-	grpc.ServerStream
-}
-
-type traceServiceConfigServer struct {
-	grpc.ServerStream
-}
-
-func (x *traceServiceConfigServer) Send(m *UpdatedLibraryConfig) error {
-	return x.ServerStream.SendMsg(m)
-}
-
-func (x *traceServiceConfigServer) Recv() (*CurrentLibraryConfig, error) {
-	m := new(CurrentLibraryConfig)
-	if err := x.ServerStream.RecvMsg(m); err != nil {
-		return nil, err
-	}
-	return m, nil
-}
-
-func _TraceService_Export_Handler(srv interface{}, stream grpc.ServerStream) error {
-	return srv.(TraceServiceServer).Export(&traceServiceExportServer{stream})
-}
-
-type TraceService_ExportServer interface {
-	Send(*ExportTraceServiceResponse) error
-	Recv() (*ExportTraceServiceRequest, error)
-	grpc.ServerStream
-}
-
-type traceServiceExportServer struct {
-	grpc.ServerStream
-}
-
-func (x *traceServiceExportServer) Send(m *ExportTraceServiceResponse) error {
-	return x.ServerStream.SendMsg(m)
-}
-
-func (x *traceServiceExportServer) Recv() (*ExportTraceServiceRequest, error) {
-	m := new(ExportTraceServiceRequest)
-	if err := x.ServerStream.RecvMsg(m); err != nil {
-		return nil, err
-	}
-	return m, nil
-}
-
-var _TraceService_serviceDesc = grpc.ServiceDesc{
-	ServiceName: "opencensus.proto.agent.trace.v1.TraceService",
-	HandlerType: (*TraceServiceServer)(nil),
-	Methods:     []grpc.MethodDesc{},
-	Streams: []grpc.StreamDesc{
-		{
-			StreamName:    "Config",
-			Handler:       _TraceService_Config_Handler,
-			ServerStreams: true,
-			ClientStreams: true,
-		},
-		{
-			StreamName:    "Export",
-			Handler:       _TraceService_Export_Handler,
-			ServerStreams: true,
-			ClientStreams: true,
-		},
-	},
-	Metadata: "opencensus/proto/agent/trace/v1/trace_service.proto",
-}
diff --git a/third_party/go/opencensus-proto/gen-go/agent/trace/v1/trace_service.pb.gw.go b/third_party/go/opencensus-proto/gen-go/agent/trace/v1/trace_service.pb.gw.go
deleted file mode 100644
index 334331b..0000000
--- a/third_party/go/opencensus-proto/gen-go/agent/trace/v1/trace_service.pb.gw.go
+++ /dev/null
@@ -1,150 +0,0 @@
-// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT.
-// source: opencensus/proto/agent/trace/v1/trace_service.proto
-
-/*
-Package v1 is a reverse proxy.
-
-It translates gRPC into RESTful JSON APIs.
-*/
-package v1
-
-import (
-	"context"
-	"io"
-	"net/http"
-
-	"github.com/golang/protobuf/proto"
-	"github.com/grpc-ecosystem/grpc-gateway/runtime"
-	"github.com/grpc-ecosystem/grpc-gateway/utilities"
-	"google.golang.org/grpc"
-	"google.golang.org/grpc/codes"
-	"google.golang.org/grpc/grpclog"
-	"google.golang.org/grpc/status"
-)
-
-var _ codes.Code
-var _ io.Reader
-var _ status.Status
-var _ = runtime.String
-var _ = utilities.NewDoubleArray
-
-func request_TraceService_Export_0(ctx context.Context, marshaler runtime.Marshaler, client TraceServiceClient, req *http.Request, pathParams map[string]string) (TraceService_ExportClient, runtime.ServerMetadata, error) {
-	var metadata runtime.ServerMetadata
-	stream, err := client.Export(ctx)
-	if err != nil {
-		grpclog.Infof("Failed to start streaming: %v", err)
-		return nil, metadata, err
-	}
-	dec := marshaler.NewDecoder(req.Body)
-	handleSend := func() error {
-		var protoReq ExportTraceServiceRequest
-		err := dec.Decode(&protoReq)
-		if err == io.EOF {
-			return err
-		}
-		if err != nil {
-			grpclog.Infof("Failed to decode request: %v", err)
-			return err
-		}
-		if err := stream.Send(&protoReq); err != nil {
-			grpclog.Infof("Failed to send request: %v", err)
-			return err
-		}
-		return nil
-	}
-	if err := handleSend(); err != nil {
-		if cerr := stream.CloseSend(); cerr != nil {
-			grpclog.Infof("Failed to terminate client stream: %v", cerr)
-		}
-		if err == io.EOF {
-			return stream, metadata, nil
-		}
-		return nil, metadata, err
-	}
-	go func() {
-		for {
-			if err := handleSend(); err != nil {
-				break
-			}
-		}
-		if err := stream.CloseSend(); err != nil {
-			grpclog.Infof("Failed to terminate client stream: %v", err)
-		}
-	}()
-	header, err := stream.Header()
-	if err != nil {
-		grpclog.Infof("Failed to get header from client: %v", err)
-		return nil, metadata, err
-	}
-	metadata.HeaderMD = header
-	return stream, metadata, nil
-}
-
-// RegisterTraceServiceHandlerFromEndpoint is same as RegisterTraceServiceHandler but
-// automatically dials to "endpoint" and closes the connection when "ctx" gets done.
-func RegisterTraceServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) {
-	conn, err := grpc.Dial(endpoint, opts...)
-	if err != nil {
-		return err
-	}
-	defer func() {
-		if err != nil {
-			if cerr := conn.Close(); cerr != nil {
-				grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr)
-			}
-			return
-		}
-		go func() {
-			<-ctx.Done()
-			if cerr := conn.Close(); cerr != nil {
-				grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr)
-			}
-		}()
-	}()
-
-	return RegisterTraceServiceHandler(ctx, mux, conn)
-}
-
-// RegisterTraceServiceHandler registers the http handlers for service TraceService to "mux".
-// The handlers forward requests to the grpc endpoint over "conn".
-func RegisterTraceServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error {
-	return RegisterTraceServiceHandlerClient(ctx, mux, NewTraceServiceClient(conn))
-}
-
-// RegisterTraceServiceHandlerClient registers the http handlers for service TraceService
-// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "TraceServiceClient".
-// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "TraceServiceClient"
-// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in
-// "TraceServiceClient" to call the correct interceptors.
-func RegisterTraceServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client TraceServiceClient) error {
-
-	mux.Handle("POST", pattern_TraceService_Export_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
-		ctx, cancel := context.WithCancel(req.Context())
-		defer cancel()
-		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
-		rctx, err := runtime.AnnotateContext(ctx, mux, req)
-		if err != nil {
-			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
-			return
-		}
-		resp, md, err := request_TraceService_Export_0(rctx, inboundMarshaler, client, req, pathParams)
-		ctx = runtime.NewServerMetadataContext(ctx, md)
-		if err != nil {
-			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
-			return
-		}
-
-		forward_TraceService_Export_0(ctx, mux, outboundMarshaler, w, req, func() (proto.Message, error) { return resp.Recv() }, mux.GetForwardResponseOptions()...)
-
-	})
-
-	return nil
-}
-
-var (
-	pattern_TraceService_Export_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v1", "trace"}, ""))
-)
-
-var (
-	forward_TraceService_Export_0 = runtime.ForwardResponseStream
-)
diff --git a/third_party/go/opencensus-proto/gen-go/metrics/v1/BUILD.bazel b/third_party/go/opencensus-proto/gen-go/metrics/v1/BUILD.bazel
deleted file mode 100644
index b130dcf..0000000
--- a/third_party/go/opencensus-proto/gen-go/metrics/v1/BUILD.bazel
+++ /dev/null
@@ -1,14 +0,0 @@
-load("@io_bazel_rules_go//go:def.bzl", "go_library")
-
-go_library(
-    name = "go_default_library",
-    srcs = ["metrics.pb.go"],
-    importpath = "github.com/census-instrumentation/opencensus-proto/gen-go/metrics/v1",
-    visibility = ["//visibility:public"],
-    deps = [
-        "@com_github_census_instrumentation_opencensus_proto//gen-go/resource/v1:go_default_library",
-        "@com_github_golang_protobuf//proto:go_default_library",
-        "@io_bazel_rules_go//proto/wkt:timestamp_go_proto",
-        "@io_bazel_rules_go//proto/wkt:wrappers_go_proto",
-    ],
-)
diff --git a/third_party/go/opencensus-proto/gen-go/metrics/v1/metrics.pb.go b/third_party/go/opencensus-proto/gen-go/metrics/v1/metrics.pb.go
deleted file mode 100644
index 466b234..0000000
--- a/third_party/go/opencensus-proto/gen-go/metrics/v1/metrics.pb.go
+++ /dev/null
@@ -1,1127 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// source: opencensus/proto/metrics/v1/metrics.proto
-
-package v1
-
-import (
-	fmt "fmt"
-	v1 "github.com/census-instrumentation/opencensus-proto/gen-go/resource/v1"
-	proto "github.com/golang/protobuf/proto"
-	timestamp "github.com/golang/protobuf/ptypes/timestamp"
-	wrappers "github.com/golang/protobuf/ptypes/wrappers"
-	math "math"
-)
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the proto package it is being compiled against.
-// A compilation error at this line likely means your copy of the
-// proto package needs to be updated.
-const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
-
-// The kind of metric. It describes how the data is reported.
-//
-// A gauge is an instantaneous measurement of a value.
-//
-// A cumulative measurement is a value accumulated over a time interval. In
-// a time series, cumulative measurements should have the same start time,
-// increasing values and increasing end times, until an event resets the
-// cumulative value to zero and sets a new start time for the following
-// points.
-type MetricDescriptor_Type int32
-
-const (
-	// Do not use this default value.
-	MetricDescriptor_UNSPECIFIED MetricDescriptor_Type = 0
-	// Integer gauge. The value can go both up and down.
-	MetricDescriptor_GAUGE_INT64 MetricDescriptor_Type = 1
-	// Floating point gauge. The value can go both up and down.
-	MetricDescriptor_GAUGE_DOUBLE MetricDescriptor_Type = 2
-	// Distribution gauge measurement. The count and sum can go both up and
-	// down. Recorded values are always >= 0.
-	// Used in scenarios like a snapshot of time the current items in a queue
-	// have spent there.
-	MetricDescriptor_GAUGE_DISTRIBUTION MetricDescriptor_Type = 3
-	// Integer cumulative measurement. The value cannot decrease, if resets
-	// then the start_time should also be reset.
-	MetricDescriptor_CUMULATIVE_INT64 MetricDescriptor_Type = 4
-	// Floating point cumulative measurement. The value cannot decrease, if
-	// resets then the start_time should also be reset. Recorded values are
-	// always >= 0.
-	MetricDescriptor_CUMULATIVE_DOUBLE MetricDescriptor_Type = 5
-	// Distribution cumulative measurement. The count and sum cannot decrease,
-	// if resets then the start_time should also be reset.
-	MetricDescriptor_CUMULATIVE_DISTRIBUTION MetricDescriptor_Type = 6
-	// Some frameworks implemented Histograms as a summary of observations
-	// (usually things like request durations and response sizes). While it
-	// also provides a total count of observations and a sum of all observed
-	// values, it calculates configurable percentiles over a sliding time
-	// window. This is not recommended, since it cannot be aggregated.
-	MetricDescriptor_SUMMARY MetricDescriptor_Type = 7
-)
-
-var MetricDescriptor_Type_name = map[int32]string{
-	0: "UNSPECIFIED",
-	1: "GAUGE_INT64",
-	2: "GAUGE_DOUBLE",
-	3: "GAUGE_DISTRIBUTION",
-	4: "CUMULATIVE_INT64",
-	5: "CUMULATIVE_DOUBLE",
-	6: "CUMULATIVE_DISTRIBUTION",
-	7: "SUMMARY",
-}
-
-var MetricDescriptor_Type_value = map[string]int32{
-	"UNSPECIFIED":             0,
-	"GAUGE_INT64":             1,
-	"GAUGE_DOUBLE":            2,
-	"GAUGE_DISTRIBUTION":      3,
-	"CUMULATIVE_INT64":        4,
-	"CUMULATIVE_DOUBLE":       5,
-	"CUMULATIVE_DISTRIBUTION": 6,
-	"SUMMARY":                 7,
-}
-
-func (x MetricDescriptor_Type) String() string {
-	return proto.EnumName(MetricDescriptor_Type_name, int32(x))
-}
-
-func (MetricDescriptor_Type) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_0ee3deb72053811a, []int{1, 0}
-}
-
-// Defines a Metric which has one or more timeseries.
-type Metric struct {
-	// The descriptor of the Metric.
-	// TODO(issue #152): consider only sending the name of descriptor for
-	// optimization.
-	MetricDescriptor *MetricDescriptor `protobuf:"bytes,1,opt,name=metric_descriptor,json=metricDescriptor,proto3" json:"metric_descriptor,omitempty"`
-	// One or more timeseries for a single metric, where each timeseries has
-	// one or more points.
-	Timeseries []*TimeSeries `protobuf:"bytes,2,rep,name=timeseries,proto3" json:"timeseries,omitempty"`
-	// The resource for the metric. If unset, it may be set to a default value
-	// provided for a sequence of messages in an RPC stream.
-	Resource             *v1.Resource `protobuf:"bytes,3,opt,name=resource,proto3" json:"resource,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
-	XXX_unrecognized     []byte       `json:"-"`
-	XXX_sizecache        int32        `json:"-"`
-}
-
-func (m *Metric) Reset()         { *m = Metric{} }
-func (m *Metric) String() string { return proto.CompactTextString(m) }
-func (*Metric) ProtoMessage()    {}
-func (*Metric) Descriptor() ([]byte, []int) {
-	return fileDescriptor_0ee3deb72053811a, []int{0}
-}
-
-func (m *Metric) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Metric.Unmarshal(m, b)
-}
-func (m *Metric) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Metric.Marshal(b, m, deterministic)
-}
-func (m *Metric) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Metric.Merge(m, src)
-}
-func (m *Metric) XXX_Size() int {
-	return xxx_messageInfo_Metric.Size(m)
-}
-func (m *Metric) XXX_DiscardUnknown() {
-	xxx_messageInfo_Metric.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Metric proto.InternalMessageInfo
-
-func (m *Metric) GetMetricDescriptor() *MetricDescriptor {
-	if m != nil {
-		return m.MetricDescriptor
-	}
-	return nil
-}
-
-func (m *Metric) GetTimeseries() []*TimeSeries {
-	if m != nil {
-		return m.Timeseries
-	}
-	return nil
-}
-
-func (m *Metric) GetResource() *v1.Resource {
-	if m != nil {
-		return m.Resource
-	}
-	return nil
-}
-
-// Defines a metric type and its schema.
-type MetricDescriptor struct {
-	// The metric type, including its DNS name prefix. It must be unique.
-	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
-	// A detailed description of the metric, which can be used in documentation.
-	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
-	// The unit in which the metric value is reported. Follows the format
-	// described by http://unitsofmeasure.org/ucum.html.
-	Unit string                `protobuf:"bytes,3,opt,name=unit,proto3" json:"unit,omitempty"`
-	Type MetricDescriptor_Type `protobuf:"varint,4,opt,name=type,proto3,enum=opencensus.proto.metrics.v1.MetricDescriptor_Type" json:"type,omitempty"`
-	// The label keys associated with the metric descriptor.
-	LabelKeys            []*LabelKey `protobuf:"bytes,5,rep,name=label_keys,json=labelKeys,proto3" json:"label_keys,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
-	XXX_unrecognized     []byte      `json:"-"`
-	XXX_sizecache        int32       `json:"-"`
-}
-
-func (m *MetricDescriptor) Reset()         { *m = MetricDescriptor{} }
-func (m *MetricDescriptor) String() string { return proto.CompactTextString(m) }
-func (*MetricDescriptor) ProtoMessage()    {}
-func (*MetricDescriptor) Descriptor() ([]byte, []int) {
-	return fileDescriptor_0ee3deb72053811a, []int{1}
-}
-
-func (m *MetricDescriptor) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_MetricDescriptor.Unmarshal(m, b)
-}
-func (m *MetricDescriptor) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_MetricDescriptor.Marshal(b, m, deterministic)
-}
-func (m *MetricDescriptor) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_MetricDescriptor.Merge(m, src)
-}
-func (m *MetricDescriptor) XXX_Size() int {
-	return xxx_messageInfo_MetricDescriptor.Size(m)
-}
-func (m *MetricDescriptor) XXX_DiscardUnknown() {
-	xxx_messageInfo_MetricDescriptor.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_MetricDescriptor proto.InternalMessageInfo
-
-func (m *MetricDescriptor) GetName() string {
-	if m != nil {
-		return m.Name
-	}
-	return ""
-}
-
-func (m *MetricDescriptor) GetDescription() string {
-	if m != nil {
-		return m.Description
-	}
-	return ""
-}
-
-func (m *MetricDescriptor) GetUnit() string {
-	if m != nil {
-		return m.Unit
-	}
-	return ""
-}
-
-func (m *MetricDescriptor) GetType() MetricDescriptor_Type {
-	if m != nil {
-		return m.Type
-	}
-	return MetricDescriptor_UNSPECIFIED
-}
-
-func (m *MetricDescriptor) GetLabelKeys() []*LabelKey {
-	if m != nil {
-		return m.LabelKeys
-	}
-	return nil
-}
-
-// Defines a label key associated with a metric descriptor.
-type LabelKey struct {
-	// The key for the label.
-	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
-	// A human-readable description of what this label key represents.
-	Description          string   `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *LabelKey) Reset()         { *m = LabelKey{} }
-func (m *LabelKey) String() string { return proto.CompactTextString(m) }
-func (*LabelKey) ProtoMessage()    {}
-func (*LabelKey) Descriptor() ([]byte, []int) {
-	return fileDescriptor_0ee3deb72053811a, []int{2}
-}
-
-func (m *LabelKey) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_LabelKey.Unmarshal(m, b)
-}
-func (m *LabelKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_LabelKey.Marshal(b, m, deterministic)
-}
-func (m *LabelKey) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_LabelKey.Merge(m, src)
-}
-func (m *LabelKey) XXX_Size() int {
-	return xxx_messageInfo_LabelKey.Size(m)
-}
-func (m *LabelKey) XXX_DiscardUnknown() {
-	xxx_messageInfo_LabelKey.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_LabelKey proto.InternalMessageInfo
-
-func (m *LabelKey) GetKey() string {
-	if m != nil {
-		return m.Key
-	}
-	return ""
-}
-
-func (m *LabelKey) GetDescription() string {
-	if m != nil {
-		return m.Description
-	}
-	return ""
-}
-
-// A collection of data points that describes the time-varying values
-// of a metric.
-type TimeSeries struct {
-	// Must be present for cumulative metrics. The time when the cumulative value
-	// was reset to zero. Exclusive. The cumulative value is over the time interval
-	// (start_timestamp, timestamp]. If not specified, the backend can use the
-	// previous recorded value.
-	StartTimestamp *timestamp.Timestamp `protobuf:"bytes,1,opt,name=start_timestamp,json=startTimestamp,proto3" json:"start_timestamp,omitempty"`
-	// The set of label values that uniquely identify this timeseries. Applies to
-	// all points. The order of label values must match that of label keys in the
-	// metric descriptor.
-	LabelValues []*LabelValue `protobuf:"bytes,2,rep,name=label_values,json=labelValues,proto3" json:"label_values,omitempty"`
-	// The data points of this timeseries. Point.value type MUST match the
-	// MetricDescriptor.type.
-	Points               []*Point `protobuf:"bytes,3,rep,name=points,proto3" json:"points,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *TimeSeries) Reset()         { *m = TimeSeries{} }
-func (m *TimeSeries) String() string { return proto.CompactTextString(m) }
-func (*TimeSeries) ProtoMessage()    {}
-func (*TimeSeries) Descriptor() ([]byte, []int) {
-	return fileDescriptor_0ee3deb72053811a, []int{3}
-}
-
-func (m *TimeSeries) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_TimeSeries.Unmarshal(m, b)
-}
-func (m *TimeSeries) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_TimeSeries.Marshal(b, m, deterministic)
-}
-func (m *TimeSeries) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_TimeSeries.Merge(m, src)
-}
-func (m *TimeSeries) XXX_Size() int {
-	return xxx_messageInfo_TimeSeries.Size(m)
-}
-func (m *TimeSeries) XXX_DiscardUnknown() {
-	xxx_messageInfo_TimeSeries.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_TimeSeries proto.InternalMessageInfo
-
-func (m *TimeSeries) GetStartTimestamp() *timestamp.Timestamp {
-	if m != nil {
-		return m.StartTimestamp
-	}
-	return nil
-}
-
-func (m *TimeSeries) GetLabelValues() []*LabelValue {
-	if m != nil {
-		return m.LabelValues
-	}
-	return nil
-}
-
-func (m *TimeSeries) GetPoints() []*Point {
-	if m != nil {
-		return m.Points
-	}
-	return nil
-}
-
-type LabelValue struct {
-	// The value for the label.
-	Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
-	// If false the value field is ignored and considered not set.
-	// This is used to differentiate a missing label from an empty string.
-	HasValue             bool     `protobuf:"varint,2,opt,name=has_value,json=hasValue,proto3" json:"has_value,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *LabelValue) Reset()         { *m = LabelValue{} }
-func (m *LabelValue) String() string { return proto.CompactTextString(m) }
-func (*LabelValue) ProtoMessage()    {}
-func (*LabelValue) Descriptor() ([]byte, []int) {
-	return fileDescriptor_0ee3deb72053811a, []int{4}
-}
-
-func (m *LabelValue) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_LabelValue.Unmarshal(m, b)
-}
-func (m *LabelValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_LabelValue.Marshal(b, m, deterministic)
-}
-func (m *LabelValue) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_LabelValue.Merge(m, src)
-}
-func (m *LabelValue) XXX_Size() int {
-	return xxx_messageInfo_LabelValue.Size(m)
-}
-func (m *LabelValue) XXX_DiscardUnknown() {
-	xxx_messageInfo_LabelValue.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_LabelValue proto.InternalMessageInfo
-
-func (m *LabelValue) GetValue() string {
-	if m != nil {
-		return m.Value
-	}
-	return ""
-}
-
-func (m *LabelValue) GetHasValue() bool {
-	if m != nil {
-		return m.HasValue
-	}
-	return false
-}
-
-// A timestamped measurement.
-type Point struct {
-	// The moment when this point was recorded. Inclusive.
-	// If not specified, the timestamp will be decided by the backend.
-	Timestamp *timestamp.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
-	// The actual point value.
-	//
-	// Types that are valid to be assigned to Value:
-	//	*Point_Int64Value
-	//	*Point_DoubleValue
-	//	*Point_DistributionValue
-	//	*Point_SummaryValue
-	Value                isPoint_Value `protobuf_oneof:"value"`
-	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
-	XXX_unrecognized     []byte        `json:"-"`
-	XXX_sizecache        int32         `json:"-"`
-}
-
-func (m *Point) Reset()         { *m = Point{} }
-func (m *Point) String() string { return proto.CompactTextString(m) }
-func (*Point) ProtoMessage()    {}
-func (*Point) Descriptor() ([]byte, []int) {
-	return fileDescriptor_0ee3deb72053811a, []int{5}
-}
-
-func (m *Point) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Point.Unmarshal(m, b)
-}
-func (m *Point) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Point.Marshal(b, m, deterministic)
-}
-func (m *Point) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Point.Merge(m, src)
-}
-func (m *Point) XXX_Size() int {
-	return xxx_messageInfo_Point.Size(m)
-}
-func (m *Point) XXX_DiscardUnknown() {
-	xxx_messageInfo_Point.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Point proto.InternalMessageInfo
-
-func (m *Point) GetTimestamp() *timestamp.Timestamp {
-	if m != nil {
-		return m.Timestamp
-	}
-	return nil
-}
-
-type isPoint_Value interface {
-	isPoint_Value()
-}
-
-type Point_Int64Value struct {
-	Int64Value int64 `protobuf:"varint,2,opt,name=int64_value,json=int64Value,proto3,oneof"`
-}
-
-type Point_DoubleValue struct {
-	DoubleValue float64 `protobuf:"fixed64,3,opt,name=double_value,json=doubleValue,proto3,oneof"`
-}
-
-type Point_DistributionValue struct {
-	DistributionValue *DistributionValue `protobuf:"bytes,4,opt,name=distribution_value,json=distributionValue,proto3,oneof"`
-}
-
-type Point_SummaryValue struct {
-	SummaryValue *SummaryValue `protobuf:"bytes,5,opt,name=summary_value,json=summaryValue,proto3,oneof"`
-}
-
-func (*Point_Int64Value) isPoint_Value() {}
-
-func (*Point_DoubleValue) isPoint_Value() {}
-
-func (*Point_DistributionValue) isPoint_Value() {}
-
-func (*Point_SummaryValue) isPoint_Value() {}
-
-func (m *Point) GetValue() isPoint_Value {
-	if m != nil {
-		return m.Value
-	}
-	return nil
-}
-
-func (m *Point) GetInt64Value() int64 {
-	if x, ok := m.GetValue().(*Point_Int64Value); ok {
-		return x.Int64Value
-	}
-	return 0
-}
-
-func (m *Point) GetDoubleValue() float64 {
-	if x, ok := m.GetValue().(*Point_DoubleValue); ok {
-		return x.DoubleValue
-	}
-	return 0
-}
-
-func (m *Point) GetDistributionValue() *DistributionValue {
-	if x, ok := m.GetValue().(*Point_DistributionValue); ok {
-		return x.DistributionValue
-	}
-	return nil
-}
-
-func (m *Point) GetSummaryValue() *SummaryValue {
-	if x, ok := m.GetValue().(*Point_SummaryValue); ok {
-		return x.SummaryValue
-	}
-	return nil
-}
-
-// XXX_OneofWrappers is for the internal use of the proto package.
-func (*Point) XXX_OneofWrappers() []interface{} {
-	return []interface{}{
-		(*Point_Int64Value)(nil),
-		(*Point_DoubleValue)(nil),
-		(*Point_DistributionValue)(nil),
-		(*Point_SummaryValue)(nil),
-	}
-}
-
-// Distribution contains summary statistics for a population of values. It
-// optionally contains a histogram representing the distribution of those
-// values across a set of buckets.
-type DistributionValue struct {
-	// The number of values in the population. Must be non-negative. This value
-	// must equal the sum of the values in bucket_counts if a histogram is
-	// provided.
-	Count int64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"`
-	// The sum of the values in the population. If count is zero then this field
-	// must be zero.
-	Sum float64 `protobuf:"fixed64,2,opt,name=sum,proto3" json:"sum,omitempty"`
-	// The sum of squared deviations from the mean of the values in the
-	// population. For values x_i this is:
-	//
-	//     Sum[i=1..n]((x_i - mean)^2)
-	//
-	// Knuth, "The Art of Computer Programming", Vol. 2, page 323, 3rd edition
-	// describes Welford's method for accumulating this sum in one pass.
-	//
-	// If count is zero then this field must be zero.
-	SumOfSquaredDeviation float64 `protobuf:"fixed64,3,opt,name=sum_of_squared_deviation,json=sumOfSquaredDeviation,proto3" json:"sum_of_squared_deviation,omitempty"`
-	// Don't change bucket boundaries within a TimeSeries if your backend doesn't
-	// support this.
-	// TODO(issue #152): consider not required to send bucket options for
-	// optimization.
-	BucketOptions *DistributionValue_BucketOptions `protobuf:"bytes,4,opt,name=bucket_options,json=bucketOptions,proto3" json:"bucket_options,omitempty"`
-	// If the distribution does not have a histogram, then omit this field.
-	// If there is a histogram, then the sum of the values in the Bucket counts
-	// must equal the value in the count field of the distribution.
-	Buckets              []*DistributionValue_Bucket `protobuf:"bytes,5,rep,name=buckets,proto3" json:"buckets,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}                    `json:"-"`
-	XXX_unrecognized     []byte                      `json:"-"`
-	XXX_sizecache        int32                       `json:"-"`
-}
-
-func (m *DistributionValue) Reset()         { *m = DistributionValue{} }
-func (m *DistributionValue) String() string { return proto.CompactTextString(m) }
-func (*DistributionValue) ProtoMessage()    {}
-func (*DistributionValue) Descriptor() ([]byte, []int) {
-	return fileDescriptor_0ee3deb72053811a, []int{6}
-}
-
-func (m *DistributionValue) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_DistributionValue.Unmarshal(m, b)
-}
-func (m *DistributionValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_DistributionValue.Marshal(b, m, deterministic)
-}
-func (m *DistributionValue) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_DistributionValue.Merge(m, src)
-}
-func (m *DistributionValue) XXX_Size() int {
-	return xxx_messageInfo_DistributionValue.Size(m)
-}
-func (m *DistributionValue) XXX_DiscardUnknown() {
-	xxx_messageInfo_DistributionValue.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_DistributionValue proto.InternalMessageInfo
-
-func (m *DistributionValue) GetCount() int64 {
-	if m != nil {
-		return m.Count
-	}
-	return 0
-}
-
-func (m *DistributionValue) GetSum() float64 {
-	if m != nil {
-		return m.Sum
-	}
-	return 0
-}
-
-func (m *DistributionValue) GetSumOfSquaredDeviation() float64 {
-	if m != nil {
-		return m.SumOfSquaredDeviation
-	}
-	return 0
-}
-
-func (m *DistributionValue) GetBucketOptions() *DistributionValue_BucketOptions {
-	if m != nil {
-		return m.BucketOptions
-	}
-	return nil
-}
-
-func (m *DistributionValue) GetBuckets() []*DistributionValue_Bucket {
-	if m != nil {
-		return m.Buckets
-	}
-	return nil
-}
-
-// A Distribution may optionally contain a histogram of the values in the
-// population. The bucket boundaries for that histogram are described by
-// BucketOptions.
-//
-// If bucket_options has no type, then there is no histogram associated with
-// the Distribution.
-type DistributionValue_BucketOptions struct {
-	// Types that are valid to be assigned to Type:
-	//	*DistributionValue_BucketOptions_Explicit_
-	Type                 isDistributionValue_BucketOptions_Type `protobuf_oneof:"type"`
-	XXX_NoUnkeyedLiteral struct{}                               `json:"-"`
-	XXX_unrecognized     []byte                                 `json:"-"`
-	XXX_sizecache        int32                                  `json:"-"`
-}
-
-func (m *DistributionValue_BucketOptions) Reset()         { *m = DistributionValue_BucketOptions{} }
-func (m *DistributionValue_BucketOptions) String() string { return proto.CompactTextString(m) }
-func (*DistributionValue_BucketOptions) ProtoMessage()    {}
-func (*DistributionValue_BucketOptions) Descriptor() ([]byte, []int) {
-	return fileDescriptor_0ee3deb72053811a, []int{6, 0}
-}
-
-func (m *DistributionValue_BucketOptions) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_DistributionValue_BucketOptions.Unmarshal(m, b)
-}
-func (m *DistributionValue_BucketOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_DistributionValue_BucketOptions.Marshal(b, m, deterministic)
-}
-func (m *DistributionValue_BucketOptions) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_DistributionValue_BucketOptions.Merge(m, src)
-}
-func (m *DistributionValue_BucketOptions) XXX_Size() int {
-	return xxx_messageInfo_DistributionValue_BucketOptions.Size(m)
-}
-func (m *DistributionValue_BucketOptions) XXX_DiscardUnknown() {
-	xxx_messageInfo_DistributionValue_BucketOptions.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_DistributionValue_BucketOptions proto.InternalMessageInfo
-
-type isDistributionValue_BucketOptions_Type interface {
-	isDistributionValue_BucketOptions_Type()
-}
-
-type DistributionValue_BucketOptions_Explicit_ struct {
-	Explicit *DistributionValue_BucketOptions_Explicit `protobuf:"bytes,1,opt,name=explicit,proto3,oneof"`
-}
-
-func (*DistributionValue_BucketOptions_Explicit_) isDistributionValue_BucketOptions_Type() {}
-
-func (m *DistributionValue_BucketOptions) GetType() isDistributionValue_BucketOptions_Type {
-	if m != nil {
-		return m.Type
-	}
-	return nil
-}
-
-func (m *DistributionValue_BucketOptions) GetExplicit() *DistributionValue_BucketOptions_Explicit {
-	if x, ok := m.GetType().(*DistributionValue_BucketOptions_Explicit_); ok {
-		return x.Explicit
-	}
-	return nil
-}
-
-// XXX_OneofWrappers is for the internal use of the proto package.
-func (*DistributionValue_BucketOptions) XXX_OneofWrappers() []interface{} {
-	return []interface{}{
-		(*DistributionValue_BucketOptions_Explicit_)(nil),
-	}
-}
-
-// Specifies a set of buckets with arbitrary upper-bounds.
-// This defines size(bounds) + 1 (= N) buckets. The boundaries for bucket
-// index i are:
-//
-// [0, bucket_bounds[i]) for i == 0
-// [bucket_bounds[i-1], bucket_bounds[i]) for 0 < i < N-1
-// [bucket_bounds[i], +infinity) for i == N-1
-type DistributionValue_BucketOptions_Explicit struct {
-	// The values must be strictly increasing and > 0.
-	Bounds               []float64 `protobuf:"fixed64,1,rep,packed,name=bounds,proto3" json:"bounds,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
-	XXX_unrecognized     []byte    `json:"-"`
-	XXX_sizecache        int32     `json:"-"`
-}
-
-func (m *DistributionValue_BucketOptions_Explicit) Reset() {
-	*m = DistributionValue_BucketOptions_Explicit{}
-}
-func (m *DistributionValue_BucketOptions_Explicit) String() string { return proto.CompactTextString(m) }
-func (*DistributionValue_BucketOptions_Explicit) ProtoMessage()    {}
-func (*DistributionValue_BucketOptions_Explicit) Descriptor() ([]byte, []int) {
-	return fileDescriptor_0ee3deb72053811a, []int{6, 0, 0}
-}
-
-func (m *DistributionValue_BucketOptions_Explicit) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_DistributionValue_BucketOptions_Explicit.Unmarshal(m, b)
-}
-func (m *DistributionValue_BucketOptions_Explicit) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_DistributionValue_BucketOptions_Explicit.Marshal(b, m, deterministic)
-}
-func (m *DistributionValue_BucketOptions_Explicit) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_DistributionValue_BucketOptions_Explicit.Merge(m, src)
-}
-func (m *DistributionValue_BucketOptions_Explicit) XXX_Size() int {
-	return xxx_messageInfo_DistributionValue_BucketOptions_Explicit.Size(m)
-}
-func (m *DistributionValue_BucketOptions_Explicit) XXX_DiscardUnknown() {
-	xxx_messageInfo_DistributionValue_BucketOptions_Explicit.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_DistributionValue_BucketOptions_Explicit proto.InternalMessageInfo
-
-func (m *DistributionValue_BucketOptions_Explicit) GetBounds() []float64 {
-	if m != nil {
-		return m.Bounds
-	}
-	return nil
-}
-
-type DistributionValue_Bucket struct {
-	// The number of values in each bucket of the histogram, as described in
-	// bucket_bounds.
-	Count int64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"`
-	// If the distribution does not have a histogram, then omit this field.
-	Exemplar             *DistributionValue_Exemplar `protobuf:"bytes,2,opt,name=exemplar,proto3" json:"exemplar,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}                    `json:"-"`
-	XXX_unrecognized     []byte                      `json:"-"`
-	XXX_sizecache        int32                       `json:"-"`
-}
-
-func (m *DistributionValue_Bucket) Reset()         { *m = DistributionValue_Bucket{} }
-func (m *DistributionValue_Bucket) String() string { return proto.CompactTextString(m) }
-func (*DistributionValue_Bucket) ProtoMessage()    {}
-func (*DistributionValue_Bucket) Descriptor() ([]byte, []int) {
-	return fileDescriptor_0ee3deb72053811a, []int{6, 1}
-}
-
-func (m *DistributionValue_Bucket) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_DistributionValue_Bucket.Unmarshal(m, b)
-}
-func (m *DistributionValue_Bucket) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_DistributionValue_Bucket.Marshal(b, m, deterministic)
-}
-func (m *DistributionValue_Bucket) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_DistributionValue_Bucket.Merge(m, src)
-}
-func (m *DistributionValue_Bucket) XXX_Size() int {
-	return xxx_messageInfo_DistributionValue_Bucket.Size(m)
-}
-func (m *DistributionValue_Bucket) XXX_DiscardUnknown() {
-	xxx_messageInfo_DistributionValue_Bucket.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_DistributionValue_Bucket proto.InternalMessageInfo
-
-func (m *DistributionValue_Bucket) GetCount() int64 {
-	if m != nil {
-		return m.Count
-	}
-	return 0
-}
-
-func (m *DistributionValue_Bucket) GetExemplar() *DistributionValue_Exemplar {
-	if m != nil {
-		return m.Exemplar
-	}
-	return nil
-}
-
-// Exemplars are example points that may be used to annotate aggregated
-// Distribution values. They are metadata that gives information about a
-// particular value added to a Distribution bucket.
-type DistributionValue_Exemplar struct {
-	// Value of the exemplar point. It determines which bucket the exemplar
-	// belongs to.
-	Value float64 `protobuf:"fixed64,1,opt,name=value,proto3" json:"value,omitempty"`
-	// The observation (sampling) time of the above value.
-	Timestamp *timestamp.Timestamp `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
-	// Contextual information about the example value.
-	Attachments          map[string]string `protobuf:"bytes,3,rep,name=attachments,proto3" json:"attachments,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
-	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
-	XXX_unrecognized     []byte            `json:"-"`
-	XXX_sizecache        int32             `json:"-"`
-}
-
-func (m *DistributionValue_Exemplar) Reset()         { *m = DistributionValue_Exemplar{} }
-func (m *DistributionValue_Exemplar) String() string { return proto.CompactTextString(m) }
-func (*DistributionValue_Exemplar) ProtoMessage()    {}
-func (*DistributionValue_Exemplar) Descriptor() ([]byte, []int) {
-	return fileDescriptor_0ee3deb72053811a, []int{6, 2}
-}
-
-func (m *DistributionValue_Exemplar) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_DistributionValue_Exemplar.Unmarshal(m, b)
-}
-func (m *DistributionValue_Exemplar) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_DistributionValue_Exemplar.Marshal(b, m, deterministic)
-}
-func (m *DistributionValue_Exemplar) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_DistributionValue_Exemplar.Merge(m, src)
-}
-func (m *DistributionValue_Exemplar) XXX_Size() int {
-	return xxx_messageInfo_DistributionValue_Exemplar.Size(m)
-}
-func (m *DistributionValue_Exemplar) XXX_DiscardUnknown() {
-	xxx_messageInfo_DistributionValue_Exemplar.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_DistributionValue_Exemplar proto.InternalMessageInfo
-
-func (m *DistributionValue_Exemplar) GetValue() float64 {
-	if m != nil {
-		return m.Value
-	}
-	return 0
-}
-
-func (m *DistributionValue_Exemplar) GetTimestamp() *timestamp.Timestamp {
-	if m != nil {
-		return m.Timestamp
-	}
-	return nil
-}
-
-func (m *DistributionValue_Exemplar) GetAttachments() map[string]string {
-	if m != nil {
-		return m.Attachments
-	}
-	return nil
-}
-
-// The start_timestamp only applies to the count and sum in the SummaryValue.
-type SummaryValue struct {
-	// The total number of recorded values since start_time. Optional since
-	// some systems don't expose this.
-	Count *wrappers.Int64Value `protobuf:"bytes,1,opt,name=count,proto3" json:"count,omitempty"`
-	// The total sum of recorded values since start_time. Optional since some
-	// systems don't expose this. If count is zero then this field must be zero.
-	// This field must be unset if the sum is not available.
-	Sum *wrappers.DoubleValue `protobuf:"bytes,2,opt,name=sum,proto3" json:"sum,omitempty"`
-	// Values calculated over an arbitrary time window.
-	Snapshot             *SummaryValue_Snapshot `protobuf:"bytes,3,opt,name=snapshot,proto3" json:"snapshot,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
-	XXX_unrecognized     []byte                 `json:"-"`
-	XXX_sizecache        int32                  `json:"-"`
-}
-
-func (m *SummaryValue) Reset()         { *m = SummaryValue{} }
-func (m *SummaryValue) String() string { return proto.CompactTextString(m) }
-func (*SummaryValue) ProtoMessage()    {}
-func (*SummaryValue) Descriptor() ([]byte, []int) {
-	return fileDescriptor_0ee3deb72053811a, []int{7}
-}
-
-func (m *SummaryValue) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_SummaryValue.Unmarshal(m, b)
-}
-func (m *SummaryValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_SummaryValue.Marshal(b, m, deterministic)
-}
-func (m *SummaryValue) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_SummaryValue.Merge(m, src)
-}
-func (m *SummaryValue) XXX_Size() int {
-	return xxx_messageInfo_SummaryValue.Size(m)
-}
-func (m *SummaryValue) XXX_DiscardUnknown() {
-	xxx_messageInfo_SummaryValue.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_SummaryValue proto.InternalMessageInfo
-
-func (m *SummaryValue) GetCount() *wrappers.Int64Value {
-	if m != nil {
-		return m.Count
-	}
-	return nil
-}
-
-func (m *SummaryValue) GetSum() *wrappers.DoubleValue {
-	if m != nil {
-		return m.Sum
-	}
-	return nil
-}
-
-func (m *SummaryValue) GetSnapshot() *SummaryValue_Snapshot {
-	if m != nil {
-		return m.Snapshot
-	}
-	return nil
-}
-
-// The values in this message can be reset at arbitrary unknown times, with
-// the requirement that all of them are reset at the same time.
-type SummaryValue_Snapshot struct {
-	// The number of values in the snapshot. Optional since some systems don't
-	// expose this.
-	Count *wrappers.Int64Value `protobuf:"bytes,1,opt,name=count,proto3" json:"count,omitempty"`
-	// The sum of values in the snapshot. Optional since some systems don't
-	// expose this. If count is zero then this field must be zero or not set
-	// (if not supported).
-	Sum *wrappers.DoubleValue `protobuf:"bytes,2,opt,name=sum,proto3" json:"sum,omitempty"`
-	// A list of values at different percentiles of the distribution calculated
-	// from the current snapshot. The percentiles must be strictly increasing.
-	PercentileValues     []*SummaryValue_Snapshot_ValueAtPercentile `protobuf:"bytes,3,rep,name=percentile_values,json=percentileValues,proto3" json:"percentile_values,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}                                   `json:"-"`
-	XXX_unrecognized     []byte                                     `json:"-"`
-	XXX_sizecache        int32                                      `json:"-"`
-}
-
-func (m *SummaryValue_Snapshot) Reset()         { *m = SummaryValue_Snapshot{} }
-func (m *SummaryValue_Snapshot) String() string { return proto.CompactTextString(m) }
-func (*SummaryValue_Snapshot) ProtoMessage()    {}
-func (*SummaryValue_Snapshot) Descriptor() ([]byte, []int) {
-	return fileDescriptor_0ee3deb72053811a, []int{7, 0}
-}
-
-func (m *SummaryValue_Snapshot) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_SummaryValue_Snapshot.Unmarshal(m, b)
-}
-func (m *SummaryValue_Snapshot) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_SummaryValue_Snapshot.Marshal(b, m, deterministic)
-}
-func (m *SummaryValue_Snapshot) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_SummaryValue_Snapshot.Merge(m, src)
-}
-func (m *SummaryValue_Snapshot) XXX_Size() int {
-	return xxx_messageInfo_SummaryValue_Snapshot.Size(m)
-}
-func (m *SummaryValue_Snapshot) XXX_DiscardUnknown() {
-	xxx_messageInfo_SummaryValue_Snapshot.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_SummaryValue_Snapshot proto.InternalMessageInfo
-
-func (m *SummaryValue_Snapshot) GetCount() *wrappers.Int64Value {
-	if m != nil {
-		return m.Count
-	}
-	return nil
-}
-
-func (m *SummaryValue_Snapshot) GetSum() *wrappers.DoubleValue {
-	if m != nil {
-		return m.Sum
-	}
-	return nil
-}
-
-func (m *SummaryValue_Snapshot) GetPercentileValues() []*SummaryValue_Snapshot_ValueAtPercentile {
-	if m != nil {
-		return m.PercentileValues
-	}
-	return nil
-}
-
-// Represents the value at a given percentile of a distribution.
-type SummaryValue_Snapshot_ValueAtPercentile struct {
-	// The percentile of a distribution. Must be in the interval
-	// (0.0, 100.0].
-	Percentile float64 `protobuf:"fixed64,1,opt,name=percentile,proto3" json:"percentile,omitempty"`
-	// The value at the given percentile of a distribution.
-	Value                float64  `protobuf:"fixed64,2,opt,name=value,proto3" json:"value,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *SummaryValue_Snapshot_ValueAtPercentile) Reset() {
-	*m = SummaryValue_Snapshot_ValueAtPercentile{}
-}
-func (m *SummaryValue_Snapshot_ValueAtPercentile) String() string { return proto.CompactTextString(m) }
-func (*SummaryValue_Snapshot_ValueAtPercentile) ProtoMessage()    {}
-func (*SummaryValue_Snapshot_ValueAtPercentile) Descriptor() ([]byte, []int) {
-	return fileDescriptor_0ee3deb72053811a, []int{7, 0, 0}
-}
-
-func (m *SummaryValue_Snapshot_ValueAtPercentile) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_SummaryValue_Snapshot_ValueAtPercentile.Unmarshal(m, b)
-}
-func (m *SummaryValue_Snapshot_ValueAtPercentile) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_SummaryValue_Snapshot_ValueAtPercentile.Marshal(b, m, deterministic)
-}
-func (m *SummaryValue_Snapshot_ValueAtPercentile) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_SummaryValue_Snapshot_ValueAtPercentile.Merge(m, src)
-}
-func (m *SummaryValue_Snapshot_ValueAtPercentile) XXX_Size() int {
-	return xxx_messageInfo_SummaryValue_Snapshot_ValueAtPercentile.Size(m)
-}
-func (m *SummaryValue_Snapshot_ValueAtPercentile) XXX_DiscardUnknown() {
-	xxx_messageInfo_SummaryValue_Snapshot_ValueAtPercentile.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_SummaryValue_Snapshot_ValueAtPercentile proto.InternalMessageInfo
-
-func (m *SummaryValue_Snapshot_ValueAtPercentile) GetPercentile() float64 {
-	if m != nil {
-		return m.Percentile
-	}
-	return 0
-}
-
-func (m *SummaryValue_Snapshot_ValueAtPercentile) GetValue() float64 {
-	if m != nil {
-		return m.Value
-	}
-	return 0
-}
-
-func init() {
-	proto.RegisterEnum("opencensus.proto.metrics.v1.MetricDescriptor_Type", MetricDescriptor_Type_name, MetricDescriptor_Type_value)
-	proto.RegisterType((*Metric)(nil), "opencensus.proto.metrics.v1.Metric")
-	proto.RegisterType((*MetricDescriptor)(nil), "opencensus.proto.metrics.v1.MetricDescriptor")
-	proto.RegisterType((*LabelKey)(nil), "opencensus.proto.metrics.v1.LabelKey")
-	proto.RegisterType((*TimeSeries)(nil), "opencensus.proto.metrics.v1.TimeSeries")
-	proto.RegisterType((*LabelValue)(nil), "opencensus.proto.metrics.v1.LabelValue")
-	proto.RegisterType((*Point)(nil), "opencensus.proto.metrics.v1.Point")
-	proto.RegisterType((*DistributionValue)(nil), "opencensus.proto.metrics.v1.DistributionValue")
-	proto.RegisterType((*DistributionValue_BucketOptions)(nil), "opencensus.proto.metrics.v1.DistributionValue.BucketOptions")
-	proto.RegisterType((*DistributionValue_BucketOptions_Explicit)(nil), "opencensus.proto.metrics.v1.DistributionValue.BucketOptions.Explicit")
-	proto.RegisterType((*DistributionValue_Bucket)(nil), "opencensus.proto.metrics.v1.DistributionValue.Bucket")
-	proto.RegisterType((*DistributionValue_Exemplar)(nil), "opencensus.proto.metrics.v1.DistributionValue.Exemplar")
-	proto.RegisterMapType((map[string]string)(nil), "opencensus.proto.metrics.v1.DistributionValue.Exemplar.AttachmentsEntry")
-	proto.RegisterType((*SummaryValue)(nil), "opencensus.proto.metrics.v1.SummaryValue")
-	proto.RegisterType((*SummaryValue_Snapshot)(nil), "opencensus.proto.metrics.v1.SummaryValue.Snapshot")
-	proto.RegisterType((*SummaryValue_Snapshot_ValueAtPercentile)(nil), "opencensus.proto.metrics.v1.SummaryValue.Snapshot.ValueAtPercentile")
-}
-
-func init() {
-	proto.RegisterFile("opencensus/proto/metrics/v1/metrics.proto", fileDescriptor_0ee3deb72053811a)
-}
-
-var fileDescriptor_0ee3deb72053811a = []byte{
-	// 1118 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x56, 0xdd, 0x6e, 0x1b, 0xc5,
-	0x17, 0xcf, 0xda, 0x8e, 0xe3, 0x9c, 0x75, 0xd2, 0xf5, 0xa8, 0xed, 0xdf, 0x72, 0xfe, 0x0a, 0x61,
-	0x11, 0x90, 0x0a, 0x65, 0xad, 0x98, 0xd2, 0x56, 0x15, 0x2a, 0x8a, 0x63, 0x37, 0x31, 0x24, 0xb1,
-	0x35, 0xb6, 0x23, 0xd1, 0x1b, 0x6b, 0xbd, 0x9e, 0x24, 0x4b, 0xbc, 0x1f, 0xdd, 0x99, 0x0d, 0xf8,
-	0x05, 0x78, 0x02, 0xc4, 0x35, 0xb7, 0x88, 0xe7, 0xe0, 0x8a, 0x27, 0xe0, 0x15, 0xb8, 0x41, 0xbc,
-	0x01, 0xda, 0x99, 0xd9, 0x8f, 0xc4, 0x60, 0xea, 0x22, 0x71, 0x77, 0xe6, 0xcc, 0x39, 0xbf, 0xfd,
-	0x9d, 0xcf, 0x1d, 0x78, 0xe4, 0xf9, 0xc4, 0xb5, 0x88, 0x4b, 0x43, 0x5a, 0xf7, 0x03, 0x8f, 0x79,
-	0x75, 0x87, 0xb0, 0xc0, 0xb6, 0x68, 0xfd, 0x66, 0x3f, 0x16, 0x0d, 0x7e, 0x81, 0xb6, 0x52, 0x53,
-	0xa1, 0x31, 0xe2, 0xfb, 0x9b, 0xfd, 0xda, 0x3b, 0x97, 0x9e, 0x77, 0x39, 0x25, 0x02, 0x63, 0x1c,
-	0x5e, 0xd4, 0x99, 0xed, 0x10, 0xca, 0x4c, 0xc7, 0x17, 0xb6, 0xb5, 0xed, 0xbb, 0x06, 0x5f, 0x07,
-	0xa6, 0xef, 0x93, 0x40, 0x62, 0xd5, 0x3e, 0x9a, 0x23, 0x12, 0x10, 0xea, 0x85, 0x81, 0x45, 0x22,
-	0x26, 0xb1, 0x2c, 0x8c, 0xf5, 0x3f, 0x14, 0x28, 0x9e, 0xf2, 0x8f, 0xa3, 0x57, 0x50, 0x11, 0x34,
-	0x46, 0x13, 0x42, 0xad, 0xc0, 0xf6, 0x99, 0x17, 0x54, 0x95, 0x1d, 0x65, 0x57, 0x6d, 0xec, 0x19,
-	0x0b, 0x18, 0x1b, 0xc2, 0xbf, 0x95, 0x38, 0x61, 0xcd, 0xb9, 0xa3, 0x41, 0x47, 0x00, 0x3c, 0x0c,
-	0x12, 0xd8, 0x84, 0x56, 0x73, 0x3b, 0xf9, 0x5d, 0xb5, 0xf1, 0xe1, 0x42, 0xd0, 0x81, 0xed, 0x90,
-	0x3e, 0x37, 0xc7, 0x19, 0x57, 0xd4, 0x84, 0x52, 0x1c, 0x41, 0x35, 0xcf, 0xb9, 0x7d, 0x30, 0x0f,
-	0x93, 0xc4, 0x78, 0xb3, 0x6f, 0x60, 0x29, 0xe3, 0xc4, 0x4f, 0xff, 0x3e, 0x0f, 0xda, 0x5d, 0xce,
-	0x08, 0x41, 0xc1, 0x35, 0x1d, 0xc2, 0x03, 0x5e, 0xc7, 0x5c, 0x46, 0x3b, 0xa0, 0xc6, 0xa9, 0xb0,
-	0x3d, 0xb7, 0x9a, 0xe3, 0x57, 0x59, 0x55, 0xe4, 0x15, 0xba, 0x36, 0xe3, 0x54, 0xd6, 0x31, 0x97,
-	0xd1, 0x4b, 0x28, 0xb0, 0x99, 0x4f, 0xaa, 0x85, 0x1d, 0x65, 0x77, 0xb3, 0xd1, 0x58, 0x2a, 0x75,
-	0xc6, 0x60, 0xe6, 0x13, 0xcc, 0xfd, 0x51, 0x0b, 0x60, 0x6a, 0x8e, 0xc9, 0x74, 0x74, 0x4d, 0x66,
-	0xb4, 0xba, 0xca, 0x73, 0xf6, 0xfe, 0x42, 0xb4, 0x93, 0xc8, 0xfc, 0x0b, 0x32, 0xc3, 0xeb, 0x53,
-	0x29, 0x51, 0xfd, 0x47, 0x05, 0x0a, 0x11, 0x28, 0xba, 0x07, 0xea, 0xf0, 0xac, 0xdf, 0x6b, 0x1f,
-	0x76, 0x5e, 0x76, 0xda, 0x2d, 0x6d, 0x25, 0x52, 0x1c, 0x1d, 0x0c, 0x8f, 0xda, 0xa3, 0xce, 0xd9,
-	0xe0, 0xc9, 0x63, 0x4d, 0x41, 0x1a, 0x94, 0x85, 0xa2, 0xd5, 0x1d, 0x36, 0x4f, 0xda, 0x5a, 0x0e,
-	0x3d, 0x04, 0x24, 0x35, 0x9d, 0xfe, 0x00, 0x77, 0x9a, 0xc3, 0x41, 0xa7, 0x7b, 0xa6, 0xe5, 0xd1,
-	0x7d, 0xd0, 0x0e, 0x87, 0xa7, 0xc3, 0x93, 0x83, 0x41, 0xe7, 0x3c, 0xf6, 0x2f, 0xa0, 0x07, 0x50,
-	0xc9, 0x68, 0x25, 0xc8, 0x2a, 0xda, 0x82, 0xff, 0x65, 0xd5, 0x59, 0xa4, 0x22, 0x52, 0x61, 0xad,
-	0x3f, 0x3c, 0x3d, 0x3d, 0xc0, 0x5f, 0x6a, 0x6b, 0xfa, 0x0b, 0x28, 0xc5, 0x21, 0x20, 0x0d, 0xf2,
-	0xd7, 0x64, 0x26, 0xcb, 0x11, 0x89, 0xff, 0x5c, 0x0d, 0xfd, 0x57, 0x05, 0x20, 0xed, 0x1b, 0x74,
-	0x08, 0xf7, 0x28, 0x33, 0x03, 0x36, 0x4a, 0x26, 0x48, 0xb6, 0x73, 0xcd, 0x10, 0x23, 0x64, 0xc4,
-	0x23, 0xc4, 0xbb, 0x8d, 0x5b, 0xe0, 0x4d, 0xee, 0x92, 0x9c, 0xd1, 0xe7, 0x50, 0x16, 0x55, 0xb8,
-	0x31, 0xa7, 0xe1, 0x1b, 0xf6, 0x2e, 0x0f, 0xe2, 0x3c, 0xb2, 0xc7, 0xea, 0x34, 0x91, 0x29, 0x7a,
-	0x0e, 0x45, 0xdf, 0xb3, 0x5d, 0x46, 0xab, 0x79, 0x8e, 0xa2, 0x2f, 0x44, 0xe9, 0x45, 0xa6, 0x58,
-	0x7a, 0xe8, 0x9f, 0x01, 0xa4, 0xb0, 0xe8, 0x3e, 0xac, 0x72, 0x3e, 0x32, 0x3f, 0xe2, 0x80, 0xb6,
-	0x60, 0xfd, 0xca, 0xa4, 0x82, 0x29, 0xcf, 0x4f, 0x09, 0x97, 0xae, 0x4c, 0xca, 0x5d, 0xf4, 0x9f,
-	0x73, 0xb0, 0xca, 0x21, 0xd1, 0x33, 0x58, 0x5f, 0x26, 0x23, 0xa9, 0x31, 0x7a, 0x17, 0x54, 0xdb,
-	0x65, 0x4f, 0x1e, 0x67, 0x3e, 0x91, 0x3f, 0x5e, 0xc1, 0xc0, 0x95, 0x82, 0xd9, 0x7b, 0x50, 0x9e,
-	0x78, 0xe1, 0x78, 0x4a, 0xa4, 0x4d, 0x34, 0x19, 0xca, 0xf1, 0x0a, 0x56, 0x85, 0x56, 0x18, 0x8d,
-	0x00, 0x4d, 0x6c, 0xca, 0x02, 0x7b, 0x1c, 0x46, 0x85, 0x93, 0xa6, 0x05, 0x4e, 0xc5, 0x58, 0x98,
-	0x94, 0x56, 0xc6, 0x8d, 0x63, 0x1d, 0xaf, 0xe0, 0xca, 0xe4, 0xae, 0x12, 0xf5, 0x60, 0x83, 0x86,
-	0x8e, 0x63, 0x06, 0x33, 0x89, 0xbd, 0xca, 0xb1, 0x1f, 0x2d, 0xc4, 0xee, 0x0b, 0x8f, 0x18, 0xb6,
-	0x4c, 0x33, 0xe7, 0xe6, 0x9a, 0xcc, 0xb8, 0xfe, 0x4b, 0x11, 0x2a, 0x73, 0x2c, 0xa2, 0x82, 0x58,
-	0x5e, 0xe8, 0x32, 0x9e, 0xcf, 0x3c, 0x16, 0x87, 0xa8, 0x89, 0x69, 0xe8, 0xf0, 0x3c, 0x29, 0x38,
-	0x12, 0xd1, 0x53, 0xa8, 0xd2, 0xd0, 0x19, 0x79, 0x17, 0x23, 0xfa, 0x3a, 0x34, 0x03, 0x32, 0x19,
-	0x4d, 0xc8, 0x8d, 0x6d, 0xf2, 0x8e, 0xe6, 0xa9, 0xc2, 0x0f, 0x68, 0xe8, 0x74, 0x2f, 0xfa, 0xe2,
-	0xb6, 0x15, 0x5f, 0x22, 0x0b, 0x36, 0xc7, 0xa1, 0x75, 0x4d, 0xd8, 0xc8, 0xe3, 0xcd, 0x4e, 0x65,
-	0xba, 0x3e, 0x5d, 0x2e, 0x5d, 0x46, 0x93, 0x83, 0x74, 0x05, 0x06, 0xde, 0x18, 0x67, 0x8f, 0xa8,
-	0x0b, 0x6b, 0x42, 0x11, 0xef, 0x9b, 0x4f, 0xde, 0x0a, 0x1d, 0xc7, 0x28, 0xb5, 0x1f, 0x14, 0xd8,
-	0xb8, 0xf5, 0x45, 0x64, 0x41, 0x89, 0x7c, 0xe3, 0x4f, 0x6d, 0xcb, 0x66, 0xb2, 0xf7, 0xda, 0xff,
-	0x26, 0x02, 0xa3, 0x2d, 0xc1, 0x8e, 0x57, 0x70, 0x02, 0x5c, 0xd3, 0xa1, 0x14, 0xeb, 0xd1, 0x43,
-	0x28, 0x8e, 0xbd, 0xd0, 0x9d, 0xd0, 0xaa, 0xb2, 0x93, 0xdf, 0x55, 0xb0, 0x3c, 0x35, 0x8b, 0x62,
-	0x4d, 0xd7, 0x28, 0x14, 0x05, 0xe2, 0xdf, 0xd4, 0xb0, 0x1f, 0x11, 0x26, 0x8e, 0x3f, 0x35, 0x03,
-	0x5e, 0x48, 0xb5, 0xf1, 0x74, 0x49, 0xc2, 0x6d, 0xe9, 0x8e, 0x13, 0xa0, 0xda, 0xb7, 0xb9, 0x88,
-	0xa1, 0x38, 0xdc, 0x1e, 0x66, 0x25, 0x1e, 0xe6, 0x5b, 0x53, 0x9a, 0x5b, 0x66, 0x4a, 0xbf, 0x02,
-	0xd5, 0x64, 0xcc, 0xb4, 0xae, 0x1c, 0x92, 0xee, 0x9a, 0xe3, 0xb7, 0x24, 0x6d, 0x1c, 0xa4, 0x50,
-	0x6d, 0x97, 0x05, 0x33, 0x9c, 0x05, 0xaf, 0xbd, 0x00, 0xed, 0xae, 0xc1, 0x5f, 0xac, 0xee, 0x24,
-	0xc2, 0x5c, 0x66, 0x5d, 0x3d, 0xcf, 0x3d, 0x53, 0xf4, 0xdf, 0xf3, 0x50, 0xce, 0xce, 0x1d, 0xda,
-	0xcf, 0x16, 0x41, 0x6d, 0x6c, 0xcd, 0x85, 0xdc, 0x49, 0x76, 0x4d, 0x5c, 0x21, 0x23, 0x9d, 0x32,
-	0xb5, 0xf1, 0xff, 0x39, 0x87, 0x56, 0xba, 0x78, 0xc4, 0x0c, 0x9e, 0x41, 0x89, 0xba, 0xa6, 0x4f,
-	0xaf, 0x3c, 0x26, 0xdf, 0x10, 0x8d, 0x37, 0xde, 0x0b, 0x46, 0x5f, 0x7a, 0xe2, 0x04, 0xa3, 0xf6,
-	0x53, 0x0e, 0x4a, 0xb1, 0xfa, 0xbf, 0xe0, 0xff, 0x1a, 0x2a, 0x3e, 0x09, 0x2c, 0xe2, 0x32, 0x3b,
-	0x5e, 0xb3, 0x71, 0x95, 0x5b, 0xcb, 0x07, 0x62, 0xf0, 0xe3, 0x01, 0xeb, 0x25, 0x90, 0x58, 0x4b,
-	0xe1, 0xc5, 0x9f, 0xab, 0xd6, 0x81, 0xca, 0x9c, 0x19, 0xda, 0x06, 0x48, 0x0d, 0x65, 0xf3, 0x66,
-	0x34, 0xb7, 0xab, 0x1e, 0xf7, 0x75, 0xf3, 0x3b, 0x05, 0xb6, 0x6d, 0x6f, 0x11, 0xcf, 0x66, 0x59,
-	0x3c, 0x8b, 0x68, 0x2f, 0xba, 0xe8, 0x29, 0xaf, 0x5a, 0x97, 0x36, 0xbb, 0x0a, 0xc7, 0x86, 0xe5,
-	0x39, 0x75, 0xe1, 0xb3, 0x67, 0xbb, 0x94, 0x05, 0x61, 0xd4, 0x74, 0x7c, 0x3d, 0xd6, 0x53, 0xb8,
-	0x3d, 0xf1, 0xe6, 0xbd, 0x24, 0xee, 0xde, 0x65, 0xf6, 0x0d, 0xfe, 0x5b, 0x6e, 0xab, 0xeb, 0x13,
-	0xf7, 0x50, 0x7c, 0x93, 0x43, 0xcb, 0xe7, 0x17, 0x35, 0xce, 0xf7, 0xc7, 0x45, 0xee, 0xf6, 0xf1,
-	0x9f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xf8, 0xd0, 0xb4, 0x8d, 0xc7, 0x0b, 0x00, 0x00,
-}
diff --git a/third_party/go/opencensus-proto/gen-go/resource/v1/BUILD.bazel b/third_party/go/opencensus-proto/gen-go/resource/v1/BUILD.bazel
deleted file mode 100644
index f2a3ec3..0000000
--- a/third_party/go/opencensus-proto/gen-go/resource/v1/BUILD.bazel
+++ /dev/null
@@ -1,11 +0,0 @@
-load("@io_bazel_rules_go//go:def.bzl", "go_library")
-
-go_library(
-    name = "go_default_library",
-    srcs = ["resource.pb.go"],
-    importpath = "github.com/census-instrumentation/opencensus-proto/gen-go/resource/v1",
-    visibility = ["//visibility:public"],
-    deps = [
-        "@com_github_golang_protobuf//proto:go_default_library",
-    ],
-)
diff --git a/third_party/go/opencensus-proto/gen-go/resource/v1/resource.pb.go b/third_party/go/opencensus-proto/gen-go/resource/v1/resource.pb.go
deleted file mode 100644
index 5dba6a2..0000000
--- a/third_party/go/opencensus-proto/gen-go/resource/v1/resource.pb.go
+++ /dev/null
@@ -1,100 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// source: opencensus/proto/resource/v1/resource.proto
-
-package v1
-
-import (
-	fmt "fmt"
-	proto "github.com/golang/protobuf/proto"
-	math "math"
-)
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the proto package it is being compiled against.
-// A compilation error at this line likely means your copy of the
-// proto package needs to be updated.
-const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
-
-// Resource information.
-type Resource struct {
-	// Type identifier for the resource.
-	Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
-	// Set of labels that describe the resource.
-	Labels               map[string]string `protobuf:"bytes,2,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
-	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
-	XXX_unrecognized     []byte            `json:"-"`
-	XXX_sizecache        int32             `json:"-"`
-}
-
-func (m *Resource) Reset()         { *m = Resource{} }
-func (m *Resource) String() string { return proto.CompactTextString(m) }
-func (*Resource) ProtoMessage()    {}
-func (*Resource) Descriptor() ([]byte, []int) {
-	return fileDescriptor_584700775a2fc762, []int{0}
-}
-
-func (m *Resource) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Resource.Unmarshal(m, b)
-}
-func (m *Resource) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Resource.Marshal(b, m, deterministic)
-}
-func (m *Resource) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Resource.Merge(m, src)
-}
-func (m *Resource) XXX_Size() int {
-	return xxx_messageInfo_Resource.Size(m)
-}
-func (m *Resource) XXX_DiscardUnknown() {
-	xxx_messageInfo_Resource.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Resource proto.InternalMessageInfo
-
-func (m *Resource) GetType() string {
-	if m != nil {
-		return m.Type
-	}
-	return ""
-}
-
-func (m *Resource) GetLabels() map[string]string {
-	if m != nil {
-		return m.Labels
-	}
-	return nil
-}
-
-func init() {
-	proto.RegisterType((*Resource)(nil), "opencensus.proto.resource.v1.Resource")
-	proto.RegisterMapType((map[string]string)(nil), "opencensus.proto.resource.v1.Resource.LabelsEntry")
-}
-
-func init() {
-	proto.RegisterFile("opencensus/proto/resource/v1/resource.proto", fileDescriptor_584700775a2fc762)
-}
-
-var fileDescriptor_584700775a2fc762 = []byte{
-	// 251 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xd2, 0xce, 0x2f, 0x48, 0xcd,
-	0x4b, 0x4e, 0xcd, 0x2b, 0x2e, 0x2d, 0xd6, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0xd7, 0x2f, 0x4a, 0x2d,
-	0xce, 0x2f, 0x2d, 0x4a, 0x4e, 0xd5, 0x2f, 0x33, 0x84, 0xb3, 0xf5, 0xc0, 0x52, 0x42, 0x32, 0x08,
-	0xc5, 0x10, 0x11, 0x3d, 0xb8, 0x82, 0x32, 0x43, 0xa5, 0xa5, 0x8c, 0x5c, 0x1c, 0x41, 0x50, 0xbe,
-	0x90, 0x10, 0x17, 0x4b, 0x49, 0x65, 0x41, 0xaa, 0x04, 0xa3, 0x02, 0xa3, 0x06, 0x67, 0x10, 0x98,
-	0x2d, 0xe4, 0xc5, 0xc5, 0x96, 0x93, 0x98, 0x94, 0x9a, 0x53, 0x2c, 0xc1, 0xa4, 0xc0, 0xac, 0xc1,
-	0x6d, 0x64, 0xa4, 0x87, 0xcf, 0x3c, 0x3d, 0x98, 0x59, 0x7a, 0x3e, 0x60, 0x4d, 0xae, 0x79, 0x25,
-	0x45, 0x95, 0x41, 0x50, 0x13, 0xa4, 0x2c, 0xb9, 0xb8, 0x91, 0x84, 0x85, 0x04, 0xb8, 0x98, 0xb3,
-	0x53, 0x2b, 0xa1, 0xb6, 0x81, 0x98, 0x42, 0x22, 0x5c, 0xac, 0x65, 0x89, 0x39, 0xa5, 0xa9, 0x12,
-	0x4c, 0x60, 0x31, 0x08, 0xc7, 0x8a, 0xc9, 0x82, 0xd1, 0x69, 0x06, 0x23, 0x97, 0x7c, 0x66, 0x3e,
-	0x5e, 0xbb, 0x9d, 0x78, 0x61, 0x96, 0x07, 0x80, 0xa4, 0x02, 0x18, 0xa3, 0x5c, 0xd3, 0x33, 0x4b,
-	0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0x21, 0xba, 0x74, 0x33, 0xf3, 0x8a, 0x4b, 0x8a,
-	0x4a, 0x73, 0x53, 0xf3, 0x4a, 0x12, 0x4b, 0x32, 0xf3, 0xf3, 0xf4, 0x11, 0x06, 0xea, 0x42, 0x42,
-	0x32, 0x3d, 0x35, 0x4f, 0x37, 0x1d, 0x25, 0x40, 0x5f, 0x31, 0xc9, 0xf8, 0x17, 0xa4, 0xe6, 0x39,
-	0x43, 0xac, 0x05, 0x9b, 0x8d, 0xf0, 0x66, 0x98, 0x61, 0x12, 0x1b, 0x58, 0xa3, 0x31, 0x20, 0x00,
-	0x00, 0xff, 0xff, 0xcf, 0x32, 0xff, 0x46, 0x96, 0x01, 0x00, 0x00,
-}
diff --git a/third_party/go/opencensus-proto/gen-go/stats/v1/BUILD.bazel b/third_party/go/opencensus-proto/gen-go/stats/v1/BUILD.bazel
deleted file mode 100644
index f3f9349..0000000
--- a/third_party/go/opencensus-proto/gen-go/stats/v1/BUILD.bazel
+++ /dev/null
@@ -1,12 +0,0 @@
-load("@io_bazel_rules_go//go:def.bzl", "go_library")
-
-go_library(
-    name = "go_default_library",
-    srcs = ["stats.pb.go"],
-    importpath = "github.com/census-instrumentation/opencensus-proto/gen-go/stats/v1",
-    visibility = ["//visibility:public"],
-    deps = [
-        "@com_github_golang_protobuf//proto:go_default_library",
-        "@io_bazel_rules_go//proto/wkt:timestamp_go_proto",
-    ],
-)
diff --git a/third_party/go/opencensus-proto/gen-go/stats/v1/stats.pb.go b/third_party/go/opencensus-proto/gen-go/stats/v1/stats.pb.go
deleted file mode 100644
index f7f96fa..0000000
--- a/third_party/go/opencensus-proto/gen-go/stats/v1/stats.pb.go
+++ /dev/null
@@ -1,644 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// source: opencensus/proto/stats/v1/stats.proto
-
-package v1
-
-import (
-	fmt "fmt"
-	proto "github.com/golang/protobuf/proto"
-	timestamp "github.com/golang/protobuf/ptypes/timestamp"
-	math "math"
-)
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the proto package it is being compiled against.
-// A compilation error at this line likely means your copy of the
-// proto package needs to be updated.
-const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
-
-type Measure_Type int32
-
-const (
-	// Unknown type.
-	Measure_TYPE_UNSPECIFIED Measure_Type = 0
-	// Indicates an int64 Measure.
-	Measure_INT64 Measure_Type = 1
-	// Indicates a double Measure.
-	Measure_DOUBLE Measure_Type = 2
-)
-
-var Measure_Type_name = map[int32]string{
-	0: "TYPE_UNSPECIFIED",
-	1: "INT64",
-	2: "DOUBLE",
-}
-
-var Measure_Type_value = map[string]int32{
-	"TYPE_UNSPECIFIED": 0,
-	"INT64":            1,
-	"DOUBLE":           2,
-}
-
-func (x Measure_Type) String() string {
-	return proto.EnumName(Measure_Type_name, int32(x))
-}
-
-func (Measure_Type) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_5cb731b1ef81fd07, []int{1, 0}
-}
-
-// TODO(bdrutu): Consider if this should be moved to a "tags" directory to match the API structure.
-type Tag struct {
-	Key                  string   `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
-	Value                string   `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *Tag) Reset()         { *m = Tag{} }
-func (m *Tag) String() string { return proto.CompactTextString(m) }
-func (*Tag) ProtoMessage()    {}
-func (*Tag) Descriptor() ([]byte, []int) {
-	return fileDescriptor_5cb731b1ef81fd07, []int{0}
-}
-
-func (m *Tag) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Tag.Unmarshal(m, b)
-}
-func (m *Tag) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Tag.Marshal(b, m, deterministic)
-}
-func (m *Tag) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Tag.Merge(m, src)
-}
-func (m *Tag) XXX_Size() int {
-	return xxx_messageInfo_Tag.Size(m)
-}
-func (m *Tag) XXX_DiscardUnknown() {
-	xxx_messageInfo_Tag.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Tag proto.InternalMessageInfo
-
-func (m *Tag) GetKey() string {
-	if m != nil {
-		return m.Key
-	}
-	return ""
-}
-
-func (m *Tag) GetValue() string {
-	if m != nil {
-		return m.Value
-	}
-	return ""
-}
-
-// Measure .
-type Measure struct {
-	// A string by which the measure will be referred to, e.g. "rpc_server_latency". Names MUST be
-	// unique within the library.
-	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
-	// Describes the measure, e.g. "RPC latency in seconds".
-	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
-	// Describes the unit used for the Measure. Follows the format described by
-	// http://unitsofmeasure.org/ucum.html.
-	Unit string `protobuf:"bytes,3,opt,name=unit,proto3" json:"unit,omitempty"`
-	// The type used for this Measure.
-	Type                 Measure_Type `protobuf:"varint,4,opt,name=type,proto3,enum=opencensus.proto.stats.v1.Measure_Type" json:"type,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
-	XXX_unrecognized     []byte       `json:"-"`
-	XXX_sizecache        int32        `json:"-"`
-}
-
-func (m *Measure) Reset()         { *m = Measure{} }
-func (m *Measure) String() string { return proto.CompactTextString(m) }
-func (*Measure) ProtoMessage()    {}
-func (*Measure) Descriptor() ([]byte, []int) {
-	return fileDescriptor_5cb731b1ef81fd07, []int{1}
-}
-
-func (m *Measure) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Measure.Unmarshal(m, b)
-}
-func (m *Measure) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Measure.Marshal(b, m, deterministic)
-}
-func (m *Measure) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Measure.Merge(m, src)
-}
-func (m *Measure) XXX_Size() int {
-	return xxx_messageInfo_Measure.Size(m)
-}
-func (m *Measure) XXX_DiscardUnknown() {
-	xxx_messageInfo_Measure.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Measure proto.InternalMessageInfo
-
-func (m *Measure) GetName() string {
-	if m != nil {
-		return m.Name
-	}
-	return ""
-}
-
-func (m *Measure) GetDescription() string {
-	if m != nil {
-		return m.Description
-	}
-	return ""
-}
-
-func (m *Measure) GetUnit() string {
-	if m != nil {
-		return m.Unit
-	}
-	return ""
-}
-
-func (m *Measure) GetType() Measure_Type {
-	if m != nil {
-		return m.Type
-	}
-	return Measure_TYPE_UNSPECIFIED
-}
-
-type View struct {
-	// A string by which the View will be referred to, e.g. "rpc_latency". Names MUST be unique
-	// within the library.
-	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
-	// Describes the view, e.g. "RPC latency distribution"
-	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
-	// The Measure to which this view is applied.
-	Measure *Measure `protobuf:"bytes,3,opt,name=measure,proto3" json:"measure,omitempty"`
-	// An array of tag keys. These values associated with tags of this name form the basis by which
-	// individual stats will be aggregated (one aggregation per unique tag value). If none are
-	// provided, then all data is recorded in a single aggregation.
-	Columns []string `protobuf:"bytes,4,rep,name=columns,proto3" json:"columns,omitempty"`
-	// The description of the aggregation used for this view which describes how data collected are
-	// aggregated.
-	//
-	// Types that are valid to be assigned to Aggregation:
-	//	*View_CountAggregation
-	//	*View_SumAggregation
-	//	*View_LastValueAggregation
-	//	*View_DistributionAggregation
-	Aggregation          isView_Aggregation `protobuf_oneof:"aggregation"`
-	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
-	XXX_unrecognized     []byte             `json:"-"`
-	XXX_sizecache        int32              `json:"-"`
-}
-
-func (m *View) Reset()         { *m = View{} }
-func (m *View) String() string { return proto.CompactTextString(m) }
-func (*View) ProtoMessage()    {}
-func (*View) Descriptor() ([]byte, []int) {
-	return fileDescriptor_5cb731b1ef81fd07, []int{2}
-}
-
-func (m *View) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_View.Unmarshal(m, b)
-}
-func (m *View) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_View.Marshal(b, m, deterministic)
-}
-func (m *View) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_View.Merge(m, src)
-}
-func (m *View) XXX_Size() int {
-	return xxx_messageInfo_View.Size(m)
-}
-func (m *View) XXX_DiscardUnknown() {
-	xxx_messageInfo_View.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_View proto.InternalMessageInfo
-
-func (m *View) GetName() string {
-	if m != nil {
-		return m.Name
-	}
-	return ""
-}
-
-func (m *View) GetDescription() string {
-	if m != nil {
-		return m.Description
-	}
-	return ""
-}
-
-func (m *View) GetMeasure() *Measure {
-	if m != nil {
-		return m.Measure
-	}
-	return nil
-}
-
-func (m *View) GetColumns() []string {
-	if m != nil {
-		return m.Columns
-	}
-	return nil
-}
-
-type isView_Aggregation interface {
-	isView_Aggregation()
-}
-
-type View_CountAggregation struct {
-	CountAggregation *CountAggregation `protobuf:"bytes,5,opt,name=count_aggregation,json=countAggregation,proto3,oneof"`
-}
-
-type View_SumAggregation struct {
-	SumAggregation *SumAggregation `protobuf:"bytes,6,opt,name=sum_aggregation,json=sumAggregation,proto3,oneof"`
-}
-
-type View_LastValueAggregation struct {
-	LastValueAggregation *LastValueAggregation `protobuf:"bytes,7,opt,name=last_value_aggregation,json=lastValueAggregation,proto3,oneof"`
-}
-
-type View_DistributionAggregation struct {
-	DistributionAggregation *DistributionAggregation `protobuf:"bytes,8,opt,name=distribution_aggregation,json=distributionAggregation,proto3,oneof"`
-}
-
-func (*View_CountAggregation) isView_Aggregation() {}
-
-func (*View_SumAggregation) isView_Aggregation() {}
-
-func (*View_LastValueAggregation) isView_Aggregation() {}
-
-func (*View_DistributionAggregation) isView_Aggregation() {}
-
-func (m *View) GetAggregation() isView_Aggregation {
-	if m != nil {
-		return m.Aggregation
-	}
-	return nil
-}
-
-func (m *View) GetCountAggregation() *CountAggregation {
-	if x, ok := m.GetAggregation().(*View_CountAggregation); ok {
-		return x.CountAggregation
-	}
-	return nil
-}
-
-func (m *View) GetSumAggregation() *SumAggregation {
-	if x, ok := m.GetAggregation().(*View_SumAggregation); ok {
-		return x.SumAggregation
-	}
-	return nil
-}
-
-func (m *View) GetLastValueAggregation() *LastValueAggregation {
-	if x, ok := m.GetAggregation().(*View_LastValueAggregation); ok {
-		return x.LastValueAggregation
-	}
-	return nil
-}
-
-func (m *View) GetDistributionAggregation() *DistributionAggregation {
-	if x, ok := m.GetAggregation().(*View_DistributionAggregation); ok {
-		return x.DistributionAggregation
-	}
-	return nil
-}
-
-// XXX_OneofWrappers is for the internal use of the proto package.
-func (*View) XXX_OneofWrappers() []interface{} {
-	return []interface{}{
-		(*View_CountAggregation)(nil),
-		(*View_SumAggregation)(nil),
-		(*View_LastValueAggregation)(nil),
-		(*View_DistributionAggregation)(nil),
-	}
-}
-
-type CountAggregation struct {
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *CountAggregation) Reset()         { *m = CountAggregation{} }
-func (m *CountAggregation) String() string { return proto.CompactTextString(m) }
-func (*CountAggregation) ProtoMessage()    {}
-func (*CountAggregation) Descriptor() ([]byte, []int) {
-	return fileDescriptor_5cb731b1ef81fd07, []int{3}
-}
-
-func (m *CountAggregation) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_CountAggregation.Unmarshal(m, b)
-}
-func (m *CountAggregation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_CountAggregation.Marshal(b, m, deterministic)
-}
-func (m *CountAggregation) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_CountAggregation.Merge(m, src)
-}
-func (m *CountAggregation) XXX_Size() int {
-	return xxx_messageInfo_CountAggregation.Size(m)
-}
-func (m *CountAggregation) XXX_DiscardUnknown() {
-	xxx_messageInfo_CountAggregation.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_CountAggregation proto.InternalMessageInfo
-
-type SumAggregation struct {
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *SumAggregation) Reset()         { *m = SumAggregation{} }
-func (m *SumAggregation) String() string { return proto.CompactTextString(m) }
-func (*SumAggregation) ProtoMessage()    {}
-func (*SumAggregation) Descriptor() ([]byte, []int) {
-	return fileDescriptor_5cb731b1ef81fd07, []int{4}
-}
-
-func (m *SumAggregation) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_SumAggregation.Unmarshal(m, b)
-}
-func (m *SumAggregation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_SumAggregation.Marshal(b, m, deterministic)
-}
-func (m *SumAggregation) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_SumAggregation.Merge(m, src)
-}
-func (m *SumAggregation) XXX_Size() int {
-	return xxx_messageInfo_SumAggregation.Size(m)
-}
-func (m *SumAggregation) XXX_DiscardUnknown() {
-	xxx_messageInfo_SumAggregation.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_SumAggregation proto.InternalMessageInfo
-
-type LastValueAggregation struct {
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *LastValueAggregation) Reset()         { *m = LastValueAggregation{} }
-func (m *LastValueAggregation) String() string { return proto.CompactTextString(m) }
-func (*LastValueAggregation) ProtoMessage()    {}
-func (*LastValueAggregation) Descriptor() ([]byte, []int) {
-	return fileDescriptor_5cb731b1ef81fd07, []int{5}
-}
-
-func (m *LastValueAggregation) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_LastValueAggregation.Unmarshal(m, b)
-}
-func (m *LastValueAggregation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_LastValueAggregation.Marshal(b, m, deterministic)
-}
-func (m *LastValueAggregation) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_LastValueAggregation.Merge(m, src)
-}
-func (m *LastValueAggregation) XXX_Size() int {
-	return xxx_messageInfo_LastValueAggregation.Size(m)
-}
-func (m *LastValueAggregation) XXX_DiscardUnknown() {
-	xxx_messageInfo_LastValueAggregation.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_LastValueAggregation proto.InternalMessageInfo
-
-type DistributionAggregation struct {
-	// A Distribution may optionally contain a histogram of the values in the
-	// population. The bucket boundaries for that histogram are described by
-	// `bucket_bounds`. This defines `size(bucket_bounds) + 1` (= N)
-	// buckets. The boundaries for bucket index i are:
-	//
-	// (-infinity, bucket_bounds[i]) for i == 0
-	// [bucket_bounds[i-1], bucket_bounds[i]) for 0 < i < N-2
-	// [bucket_bounds[i-1], +infinity) for i == N-1
-	//
-	// i.e. an underflow bucket (number 0), zero or more finite buckets (1
-	// through N - 2, and an overflow bucket (N - 1), with inclusive lower
-	// bounds and exclusive upper bounds.
-	//
-	// If `bucket_bounds` has no elements (zero size), then there is no
-	// histogram associated with the Distribution. If `bucket_bounds` has only
-	// one element, there are no finite buckets, and that single element is the
-	// common boundary of the overflow and underflow buckets. The values must
-	// be monotonically increasing.
-	BucketBounds         []float64 `protobuf:"fixed64,1,rep,packed,name=bucket_bounds,json=bucketBounds,proto3" json:"bucket_bounds,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
-	XXX_unrecognized     []byte    `json:"-"`
-	XXX_sizecache        int32     `json:"-"`
-}
-
-func (m *DistributionAggregation) Reset()         { *m = DistributionAggregation{} }
-func (m *DistributionAggregation) String() string { return proto.CompactTextString(m) }
-func (*DistributionAggregation) ProtoMessage()    {}
-func (*DistributionAggregation) Descriptor() ([]byte, []int) {
-	return fileDescriptor_5cb731b1ef81fd07, []int{6}
-}
-
-func (m *DistributionAggregation) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_DistributionAggregation.Unmarshal(m, b)
-}
-func (m *DistributionAggregation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_DistributionAggregation.Marshal(b, m, deterministic)
-}
-func (m *DistributionAggregation) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_DistributionAggregation.Merge(m, src)
-}
-func (m *DistributionAggregation) XXX_Size() int {
-	return xxx_messageInfo_DistributionAggregation.Size(m)
-}
-func (m *DistributionAggregation) XXX_DiscardUnknown() {
-	xxx_messageInfo_DistributionAggregation.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_DistributionAggregation proto.InternalMessageInfo
-
-func (m *DistributionAggregation) GetBucketBounds() []float64 {
-	if m != nil {
-		return m.BucketBounds
-	}
-	return nil
-}
-
-// Describes a data point to be collected for a Measure.
-type Measurement struct {
-	Tags []*Tag `protobuf:"bytes,1,rep,name=tags,proto3" json:"tags,omitempty"`
-	// The name of the measure to which the value is applied.
-	MeasureName string `protobuf:"bytes,2,opt,name=measure_name,json=measureName,proto3" json:"measure_name,omitempty"`
-	// The recorded value, MUST have the appropriate type to match the Measure.
-	//
-	// Types that are valid to be assigned to Value:
-	//	*Measurement_DoubleValue
-	//	*Measurement_IntValue
-	Value isMeasurement_Value `protobuf_oneof:"value"`
-	// The time when this measurement was recorded. If the implementation uses a async buffer to
-	// record measurements this may be the time when the measurement was read from the buffer.
-	Time                 *timestamp.Timestamp `protobuf:"bytes,5,opt,name=time,proto3" json:"time,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
-	XXX_unrecognized     []byte               `json:"-"`
-	XXX_sizecache        int32                `json:"-"`
-}
-
-func (m *Measurement) Reset()         { *m = Measurement{} }
-func (m *Measurement) String() string { return proto.CompactTextString(m) }
-func (*Measurement) ProtoMessage()    {}
-func (*Measurement) Descriptor() ([]byte, []int) {
-	return fileDescriptor_5cb731b1ef81fd07, []int{7}
-}
-
-func (m *Measurement) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Measurement.Unmarshal(m, b)
-}
-func (m *Measurement) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Measurement.Marshal(b, m, deterministic)
-}
-func (m *Measurement) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Measurement.Merge(m, src)
-}
-func (m *Measurement) XXX_Size() int {
-	return xxx_messageInfo_Measurement.Size(m)
-}
-func (m *Measurement) XXX_DiscardUnknown() {
-	xxx_messageInfo_Measurement.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Measurement proto.InternalMessageInfo
-
-func (m *Measurement) GetTags() []*Tag {
-	if m != nil {
-		return m.Tags
-	}
-	return nil
-}
-
-func (m *Measurement) GetMeasureName() string {
-	if m != nil {
-		return m.MeasureName
-	}
-	return ""
-}
-
-type isMeasurement_Value interface {
-	isMeasurement_Value()
-}
-
-type Measurement_DoubleValue struct {
-	DoubleValue float64 `protobuf:"fixed64,3,opt,name=double_value,json=doubleValue,proto3,oneof"`
-}
-
-type Measurement_IntValue struct {
-	IntValue int64 `protobuf:"varint,4,opt,name=int_value,json=intValue,proto3,oneof"`
-}
-
-func (*Measurement_DoubleValue) isMeasurement_Value() {}
-
-func (*Measurement_IntValue) isMeasurement_Value() {}
-
-func (m *Measurement) GetValue() isMeasurement_Value {
-	if m != nil {
-		return m.Value
-	}
-	return nil
-}
-
-func (m *Measurement) GetDoubleValue() float64 {
-	if x, ok := m.GetValue().(*Measurement_DoubleValue); ok {
-		return x.DoubleValue
-	}
-	return 0
-}
-
-func (m *Measurement) GetIntValue() int64 {
-	if x, ok := m.GetValue().(*Measurement_IntValue); ok {
-		return x.IntValue
-	}
-	return 0
-}
-
-func (m *Measurement) GetTime() *timestamp.Timestamp {
-	if m != nil {
-		return m.Time
-	}
-	return nil
-}
-
-// XXX_OneofWrappers is for the internal use of the proto package.
-func (*Measurement) XXX_OneofWrappers() []interface{} {
-	return []interface{}{
-		(*Measurement_DoubleValue)(nil),
-		(*Measurement_IntValue)(nil),
-	}
-}
-
-func init() {
-	proto.RegisterEnum("opencensus.proto.stats.v1.Measure_Type", Measure_Type_name, Measure_Type_value)
-	proto.RegisterType((*Tag)(nil), "opencensus.proto.stats.v1.Tag")
-	proto.RegisterType((*Measure)(nil), "opencensus.proto.stats.v1.Measure")
-	proto.RegisterType((*View)(nil), "opencensus.proto.stats.v1.View")
-	proto.RegisterType((*CountAggregation)(nil), "opencensus.proto.stats.v1.CountAggregation")
-	proto.RegisterType((*SumAggregation)(nil), "opencensus.proto.stats.v1.SumAggregation")
-	proto.RegisterType((*LastValueAggregation)(nil), "opencensus.proto.stats.v1.LastValueAggregation")
-	proto.RegisterType((*DistributionAggregation)(nil), "opencensus.proto.stats.v1.DistributionAggregation")
-	proto.RegisterType((*Measurement)(nil), "opencensus.proto.stats.v1.Measurement")
-}
-
-func init() {
-	proto.RegisterFile("opencensus/proto/stats/v1/stats.proto", fileDescriptor_5cb731b1ef81fd07)
-}
-
-var fileDescriptor_5cb731b1ef81fd07 = []byte{
-	// 654 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x54, 0xdd, 0x4e, 0xdb, 0x4c,
-	0x10, 0x8d, 0x89, 0x21, 0x64, 0x02, 0x7c, 0xfe, 0x56, 0x11, 0x18, 0xd4, 0x9f, 0xd4, 0xa8, 0x6a,
-	0xaa, 0x2a, 0xb6, 0x08, 0x55, 0x6f, 0x5a, 0x55, 0xaa, 0x21, 0x15, 0x48, 0x14, 0x22, 0x63, 0x90,
-	0xca, 0x4d, 0x64, 0x3b, 0x5b, 0xd7, 0x22, 0xde, 0xb5, 0xbc, 0xbb, 0x54, 0xbc, 0x43, 0xdf, 0xa5,
-	0x4f, 0xd1, 0x07, 0xe9, 0x6d, 0x9f, 0xa2, 0xf2, 0xae, 0xa3, 0x60, 0x44, 0x52, 0xa9, 0x77, 0xb3,
-	0xc7, 0x73, 0xce, 0xd9, 0x99, 0x1d, 0x0f, 0x3c, 0xa7, 0x19, 0x26, 0x11, 0x26, 0x4c, 0x30, 0x27,
-	0xcb, 0x29, 0xa7, 0x0e, 0xe3, 0x01, 0x67, 0xce, 0xcd, 0x9e, 0x0a, 0x6c, 0x09, 0xa2, 0xed, 0x59,
-	0x9a, 0x42, 0x6c, 0xf5, 0xf5, 0x66, 0x6f, 0xe7, 0x69, 0x4c, 0x69, 0x3c, 0xc1, 0x8a, 0x1d, 0x8a,
-	0x2f, 0x0e, 0x4f, 0x52, 0xcc, 0x78, 0x90, 0x66, 0x2a, 0xd3, 0xea, 0x41, 0xdd, 0x0f, 0x62, 0x64,
-	0x40, 0xfd, 0x1a, 0xdf, 0x9a, 0x5a, 0x47, 0xeb, 0x36, 0xbd, 0x22, 0x44, 0x6d, 0x58, 0xbe, 0x09,
-	0x26, 0x02, 0x9b, 0x4b, 0x12, 0x53, 0x07, 0xeb, 0xa7, 0x06, 0x8d, 0x4f, 0x38, 0x60, 0x22, 0xc7,
-	0x08, 0x81, 0x4e, 0x82, 0x14, 0x97, 0x24, 0x19, 0xa3, 0x0e, 0xb4, 0xc6, 0x98, 0x45, 0x79, 0x92,
-	0xf1, 0x84, 0x92, 0x92, 0x7b, 0x17, 0x2a, 0x58, 0x82, 0x24, 0xdc, 0xac, 0x2b, 0x56, 0x11, 0xa3,
-	0xb7, 0xa0, 0xf3, 0xdb, 0x0c, 0x9b, 0x7a, 0x47, 0xeb, 0x6e, 0xf4, 0x5f, 0xd8, 0x73, 0xeb, 0xb1,
-	0x4b, 0x6f, 0xdb, 0xbf, 0xcd, 0xb0, 0x27, 0x49, 0xd6, 0x3e, 0xe8, 0xc5, 0x09, 0xb5, 0xc1, 0xf0,
-	0x3f, 0x0f, 0x07, 0xa3, 0x8b, 0xd3, 0xf3, 0xe1, 0xe0, 0xe0, 0xf8, 0xe3, 0xf1, 0xe0, 0xd0, 0xa8,
-	0xa1, 0x26, 0x2c, 0x1f, 0x9f, 0xfa, 0x6f, 0x5e, 0x1b, 0x1a, 0x02, 0x58, 0x39, 0x3c, 0xbb, 0x70,
-	0x4f, 0x06, 0xc6, 0x92, 0xf5, 0x43, 0x07, 0xfd, 0x32, 0xc1, 0xdf, 0xfe, 0xb1, 0x88, 0x77, 0xd0,
-	0x48, 0xd5, 0x4d, 0x64, 0x1d, 0xad, 0xbe, 0xf5, 0xf7, 0x3b, 0x7b, 0x53, 0x0a, 0x32, 0xa1, 0x11,
-	0xd1, 0x89, 0x48, 0x09, 0x33, 0xf5, 0x4e, 0xbd, 0xdb, 0xf4, 0xa6, 0x47, 0x74, 0x05, 0xff, 0x47,
-	0x54, 0x10, 0x3e, 0x0a, 0xe2, 0x38, 0xc7, 0x71, 0x20, 0xfd, 0x97, 0xa5, 0xc3, 0xab, 0x05, 0x0e,
-	0x07, 0x05, 0xe7, 0xc3, 0x8c, 0x72, 0x54, 0xf3, 0x8c, 0xe8, 0x1e, 0x86, 0x7c, 0xf8, 0x8f, 0x89,
-	0xb4, 0xa2, 0xbc, 0x22, 0x95, 0x5f, 0x2e, 0x50, 0x3e, 0x17, 0x69, 0x55, 0x77, 0x83, 0x55, 0x10,
-	0x14, 0xc3, 0xe6, 0x24, 0x60, 0x7c, 0x24, 0xc7, 0xa3, 0x22, 0xde, 0x90, 0xe2, 0xce, 0x02, 0xf1,
-	0x93, 0x80, 0xf1, 0xcb, 0x82, 0x57, 0xb5, 0x68, 0x4f, 0x1e, 0xc0, 0x11, 0x05, 0x73, 0x9c, 0x30,
-	0x9e, 0x27, 0xa1, 0x28, 0xce, 0x15, 0xab, 0x55, 0x69, 0xd5, 0x5f, 0x60, 0x75, 0x78, 0x87, 0x5a,
-	0x75, 0xdb, 0x1a, 0x3f, 0xfc, 0xc9, 0x5d, 0x87, 0xd6, 0x1d, 0x0f, 0x0b, 0x81, 0x71, 0xbf, 0xcd,
-	0x96, 0x01, 0x1b, 0xd5, 0x06, 0x59, 0x9b, 0xd0, 0x7e, 0xa8, 0x2a, 0xeb, 0x3d, 0x6c, 0xcd, 0xb9,
-	0x02, 0xda, 0x85, 0xf5, 0x50, 0x44, 0xd7, 0x98, 0x8f, 0x42, 0x2a, 0xc8, 0x98, 0x99, 0x5a, 0xa7,
-	0xde, 0xd5, 0xbc, 0x35, 0x05, 0xba, 0x12, 0xb3, 0x7e, 0x69, 0xd0, 0x2a, 0xe7, 0x28, 0xc5, 0x84,
-	0xa3, 0x3e, 0xe8, 0x3c, 0x88, 0x55, 0x6e, 0xab, 0xff, 0x64, 0x41, 0xe5, 0x7e, 0x10, 0x7b, 0x32,
-	0x17, 0x3d, 0x83, 0xb5, 0x72, 0x02, 0x47, 0x72, 0xe4, 0xcb, 0xb9, 0x2e, 0xb1, 0xd3, 0x62, 0xf2,
-	0x77, 0x61, 0x6d, 0x4c, 0x45, 0x38, 0xc1, 0xea, 0x3d, 0xe5, 0x70, 0x6b, 0x47, 0x35, 0xaf, 0xa5,
-	0x50, 0x59, 0x16, 0x7a, 0x0c, 0xcd, 0x84, 0x94, 0x2f, 0x2e, 0x7f, 0xd9, 0xfa, 0x51, 0xcd, 0x5b,
-	0x4d, 0x88, 0xaa, 0x1a, 0xd9, 0xa0, 0x17, 0x4b, 0xa6, 0x1c, 0xdb, 0x1d, 0x5b, 0x6d, 0x20, 0x7b,
-	0xba, 0x81, 0x6c, 0x7f, 0xba, 0x81, 0x3c, 0x99, 0xe7, 0x36, 0xca, 0x45, 0xe3, 0x7e, 0xd7, 0xe0,
-	0x51, 0x42, 0xe7, 0x97, 0xe2, 0xc2, 0x79, 0x11, 0x0d, 0x0b, 0x70, 0xa8, 0x5d, 0xb9, 0x71, 0xc2,
-	0xbf, 0x8a, 0xd0, 0x8e, 0x68, 0xea, 0xa8, 0xfc, 0x5e, 0x42, 0x18, 0xcf, 0x45, 0xd1, 0x20, 0xd9,
-	0x5a, 0x67, 0x26, 0xd5, 0x53, 0xeb, 0x33, 0xc6, 0xa4, 0x17, 0xcf, 0xb6, 0xe8, 0xef, 0xa5, 0xed,
-	0xb3, 0x0c, 0x93, 0x03, 0xe5, 0x26, 0x85, 0x6d, 0xe9, 0x61, 0x5f, 0xee, 0x85, 0x2b, 0x92, 0xb2,
-	0xff, 0x27, 0x00, 0x00, 0xff, 0xff, 0x25, 0x26, 0x34, 0x5a, 0x85, 0x05, 0x00, 0x00,
-}
diff --git a/third_party/go/opencensus-proto/gen-go/trace/v1/BUILD.bazel b/third_party/go/opencensus-proto/gen-go/trace/v1/BUILD.bazel
deleted file mode 100644
index 6ec165d..0000000
--- a/third_party/go/opencensus-proto/gen-go/trace/v1/BUILD.bazel
+++ /dev/null
@@ -1,17 +0,0 @@
-load("@io_bazel_rules_go//go:def.bzl", "go_library")
-
-go_library(
-    name = "go_default_library",
-    srcs = [
-        "trace.pb.go",
-        "trace_config.pb.go",
-    ],
-    importpath = "github.com/census-instrumentation/opencensus-proto/gen-go/trace/v1",
-    visibility = ["//visibility:public"],
-    deps = [
-        "@com_github_census_instrumentation_opencensus_proto//gen-go/resource/v1:go_default_library",
-        "@com_github_golang_protobuf//proto:go_default_library",
-        "@io_bazel_rules_go//proto/wkt:timestamp_go_proto",
-        "@io_bazel_rules_go//proto/wkt:wrappers_go_proto",
-    ],
-)
diff --git a/third_party/go/opencensus-proto/gen-go/trace/v1/trace.pb.go b/third_party/go/opencensus-proto/gen-go/trace/v1/trace.pb.go
deleted file mode 100644
index 2f4ab19..0000000
--- a/third_party/go/opencensus-proto/gen-go/trace/v1/trace.pb.go
+++ /dev/null
@@ -1,1553 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// source: opencensus/proto/trace/v1/trace.proto
-
-package v1
-
-import (
-	fmt "fmt"
-	v1 "github.com/census-instrumentation/opencensus-proto/gen-go/resource/v1"
-	proto "github.com/golang/protobuf/proto"
-	timestamp "github.com/golang/protobuf/ptypes/timestamp"
-	wrappers "github.com/golang/protobuf/ptypes/wrappers"
-	math "math"
-)
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the proto package it is being compiled against.
-// A compilation error at this line likely means your copy of the
-// proto package needs to be updated.
-const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
-
-// Type of span. Can be used to specify additional relationships between spans
-// in addition to a parent/child relationship.
-type Span_SpanKind int32
-
-const (
-	// Unspecified.
-	Span_SPAN_KIND_UNSPECIFIED Span_SpanKind = 0
-	// Indicates that the span covers server-side handling of an RPC or other
-	// remote network request.
-	Span_SERVER Span_SpanKind = 1
-	// Indicates that the span covers the client-side wrapper around an RPC or
-	// other remote request.
-	Span_CLIENT Span_SpanKind = 2
-)
-
-var Span_SpanKind_name = map[int32]string{
-	0: "SPAN_KIND_UNSPECIFIED",
-	1: "SERVER",
-	2: "CLIENT",
-}
-
-var Span_SpanKind_value = map[string]int32{
-	"SPAN_KIND_UNSPECIFIED": 0,
-	"SERVER":                1,
-	"CLIENT":                2,
-}
-
-func (x Span_SpanKind) String() string {
-	return proto.EnumName(Span_SpanKind_name, int32(x))
-}
-
-func (Span_SpanKind) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_8ea38bbb821bf584, []int{0, 0}
-}
-
-// Indicates whether the message was sent or received.
-type Span_TimeEvent_MessageEvent_Type int32
-
-const (
-	// Unknown event type.
-	Span_TimeEvent_MessageEvent_TYPE_UNSPECIFIED Span_TimeEvent_MessageEvent_Type = 0
-	// Indicates a sent message.
-	Span_TimeEvent_MessageEvent_SENT Span_TimeEvent_MessageEvent_Type = 1
-	// Indicates a received message.
-	Span_TimeEvent_MessageEvent_RECEIVED Span_TimeEvent_MessageEvent_Type = 2
-)
-
-var Span_TimeEvent_MessageEvent_Type_name = map[int32]string{
-	0: "TYPE_UNSPECIFIED",
-	1: "SENT",
-	2: "RECEIVED",
-}
-
-var Span_TimeEvent_MessageEvent_Type_value = map[string]int32{
-	"TYPE_UNSPECIFIED": 0,
-	"SENT":             1,
-	"RECEIVED":         2,
-}
-
-func (x Span_TimeEvent_MessageEvent_Type) String() string {
-	return proto.EnumName(Span_TimeEvent_MessageEvent_Type_name, int32(x))
-}
-
-func (Span_TimeEvent_MessageEvent_Type) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_8ea38bbb821bf584, []int{0, 2, 1, 0}
-}
-
-// The relationship of the current span relative to the linked span: child,
-// parent, or unspecified.
-type Span_Link_Type int32
-
-const (
-	// The relationship of the two spans is unknown, or known but other
-	// than parent-child.
-	Span_Link_TYPE_UNSPECIFIED Span_Link_Type = 0
-	// The linked span is a child of the current span.
-	Span_Link_CHILD_LINKED_SPAN Span_Link_Type = 1
-	// The linked span is a parent of the current span.
-	Span_Link_PARENT_LINKED_SPAN Span_Link_Type = 2
-)
-
-var Span_Link_Type_name = map[int32]string{
-	0: "TYPE_UNSPECIFIED",
-	1: "CHILD_LINKED_SPAN",
-	2: "PARENT_LINKED_SPAN",
-}
-
-var Span_Link_Type_value = map[string]int32{
-	"TYPE_UNSPECIFIED":   0,
-	"CHILD_LINKED_SPAN":  1,
-	"PARENT_LINKED_SPAN": 2,
-}
-
-func (x Span_Link_Type) String() string {
-	return proto.EnumName(Span_Link_Type_name, int32(x))
-}
-
-func (Span_Link_Type) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_8ea38bbb821bf584, []int{0, 4, 0}
-}
-
-// A span represents a single operation within a trace. Spans can be
-// nested to form a trace tree. Spans may also be linked to other spans
-// from the same or different trace. And form graphs. Often, a trace
-// contains a root span that describes the end-to-end latency, and one
-// or more subspans for its sub-operations. A trace can also contain
-// multiple root spans, or none at all. Spans do not need to be
-// contiguous - there may be gaps or overlaps between spans in a trace.
-//
-// The next id is 17.
-// TODO(bdrutu): Add an example.
-type Span struct {
-	// A unique identifier for a trace. All spans from the same trace share
-	// the same `trace_id`. The ID is a 16-byte array. An ID with all zeroes
-	// is considered invalid.
-	//
-	// This field is semantically required. Receiver should generate new
-	// random trace_id if empty or invalid trace_id was received.
-	//
-	// This field is required.
-	TraceId []byte `protobuf:"bytes,1,opt,name=trace_id,json=traceId,proto3" json:"trace_id,omitempty"`
-	// A unique identifier for a span within a trace, assigned when the span
-	// is created. The ID is an 8-byte array. An ID with all zeroes is considered
-	// invalid.
-	//
-	// This field is semantically required. Receiver should generate new
-	// random span_id if empty or invalid span_id was received.
-	//
-	// This field is required.
-	SpanId []byte `protobuf:"bytes,2,opt,name=span_id,json=spanId,proto3" json:"span_id,omitempty"`
-	// The Tracestate on the span.
-	Tracestate *Span_Tracestate `protobuf:"bytes,15,opt,name=tracestate,proto3" json:"tracestate,omitempty"`
-	// The `span_id` of this span's parent span. If this is a root span, then this
-	// field must be empty. The ID is an 8-byte array.
-	ParentSpanId []byte `protobuf:"bytes,3,opt,name=parent_span_id,json=parentSpanId,proto3" json:"parent_span_id,omitempty"`
-	// A description of the span's operation.
-	//
-	// For example, the name can be a qualified method name or a file name
-	// and a line number where the operation is called. A best practice is to use
-	// the same display name at the same call point in an application.
-	// This makes it easier to correlate spans in different traces.
-	//
-	// This field is semantically required to be set to non-empty string.
-	// When null or empty string received - receiver may use string "name"
-	// as a replacement. There might be smarted algorithms implemented by
-	// receiver to fix the empty span name.
-	//
-	// This field is required.
-	Name *TruncatableString `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
-	// Distinguishes between spans generated in a particular context. For example,
-	// two spans with the same name may be distinguished using `CLIENT` (caller)
-	// and `SERVER` (callee) to identify queueing latency associated with the span.
-	Kind Span_SpanKind `protobuf:"varint,14,opt,name=kind,proto3,enum=opencensus.proto.trace.v1.Span_SpanKind" json:"kind,omitempty"`
-	// The start time of the span. On the client side, this is the time kept by
-	// the local machine where the span execution starts. On the server side, this
-	// is the time when the server's application handler starts running.
-	//
-	// This field is semantically required. When not set on receive -
-	// receiver should set it to the value of end_time field if it was
-	// set. Or to the current time if neither was set. It is important to
-	// keep end_time > start_time for consistency.
-	//
-	// This field is required.
-	StartTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
-	// The end time of the span. On the client side, this is the time kept by
-	// the local machine where the span execution ends. On the server side, this
-	// is the time when the server application handler stops running.
-	//
-	// This field is semantically required. When not set on receive -
-	// receiver should set it to start_time value. It is important to
-	// keep end_time > start_time for consistency.
-	//
-	// This field is required.
-	EndTime *timestamp.Timestamp `protobuf:"bytes,6,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
-	// A set of attributes on the span.
-	Attributes *Span_Attributes `protobuf:"bytes,7,opt,name=attributes,proto3" json:"attributes,omitempty"`
-	// A stack trace captured at the start of the span.
-	StackTrace *StackTrace `protobuf:"bytes,8,opt,name=stack_trace,json=stackTrace,proto3" json:"stack_trace,omitempty"`
-	// The included time events.
-	TimeEvents *Span_TimeEvents `protobuf:"bytes,9,opt,name=time_events,json=timeEvents,proto3" json:"time_events,omitempty"`
-	// The included links.
-	Links *Span_Links `protobuf:"bytes,10,opt,name=links,proto3" json:"links,omitempty"`
-	// An optional final status for this span. Semantically when Status
-	// wasn't set it is means span ended without errors and assume
-	// Status.Ok (code = 0).
-	Status *Status `protobuf:"bytes,11,opt,name=status,proto3" json:"status,omitempty"`
-	// An optional resource that is associated with this span. If not set, this span
-	// should be part of a batch that does include the resource information, unless resource
-	// information is unknown.
-	Resource *v1.Resource `protobuf:"bytes,16,opt,name=resource,proto3" json:"resource,omitempty"`
-	// A highly recommended but not required flag that identifies when a
-	// trace crosses a process boundary. True when the parent_span belongs
-	// to the same process as the current span. This flag is most commonly
-	// used to indicate the need to adjust time as clocks in different
-	// processes may not be synchronized.
-	SameProcessAsParentSpan *wrappers.BoolValue `protobuf:"bytes,12,opt,name=same_process_as_parent_span,json=sameProcessAsParentSpan,proto3" json:"same_process_as_parent_span,omitempty"`
-	// An optional number of child spans that were generated while this span
-	// was active. If set, allows an implementation to detect missing child spans.
-	ChildSpanCount       *wrappers.UInt32Value `protobuf:"bytes,13,opt,name=child_span_count,json=childSpanCount,proto3" json:"child_span_count,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
-	XXX_unrecognized     []byte                `json:"-"`
-	XXX_sizecache        int32                 `json:"-"`
-}
-
-func (m *Span) Reset()         { *m = Span{} }
-func (m *Span) String() string { return proto.CompactTextString(m) }
-func (*Span) ProtoMessage()    {}
-func (*Span) Descriptor() ([]byte, []int) {
-	return fileDescriptor_8ea38bbb821bf584, []int{0}
-}
-
-func (m *Span) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Span.Unmarshal(m, b)
-}
-func (m *Span) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Span.Marshal(b, m, deterministic)
-}
-func (m *Span) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Span.Merge(m, src)
-}
-func (m *Span) XXX_Size() int {
-	return xxx_messageInfo_Span.Size(m)
-}
-func (m *Span) XXX_DiscardUnknown() {
-	xxx_messageInfo_Span.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Span proto.InternalMessageInfo
-
-func (m *Span) GetTraceId() []byte {
-	if m != nil {
-		return m.TraceId
-	}
-	return nil
-}
-
-func (m *Span) GetSpanId() []byte {
-	if m != nil {
-		return m.SpanId
-	}
-	return nil
-}
-
-func (m *Span) GetTracestate() *Span_Tracestate {
-	if m != nil {
-		return m.Tracestate
-	}
-	return nil
-}
-
-func (m *Span) GetParentSpanId() []byte {
-	if m != nil {
-		return m.ParentSpanId
-	}
-	return nil
-}
-
-func (m *Span) GetName() *TruncatableString {
-	if m != nil {
-		return m.Name
-	}
-	return nil
-}
-
-func (m *Span) GetKind() Span_SpanKind {
-	if m != nil {
-		return m.Kind
-	}
-	return Span_SPAN_KIND_UNSPECIFIED
-}
-
-func (m *Span) GetStartTime() *timestamp.Timestamp {
-	if m != nil {
-		return m.StartTime
-	}
-	return nil
-}
-
-func (m *Span) GetEndTime() *timestamp.Timestamp {
-	if m != nil {
-		return m.EndTime
-	}
-	return nil
-}
-
-func (m *Span) GetAttributes() *Span_Attributes {
-	if m != nil {
-		return m.Attributes
-	}
-	return nil
-}
-
-func (m *Span) GetStackTrace() *StackTrace {
-	if m != nil {
-		return m.StackTrace
-	}
-	return nil
-}
-
-func (m *Span) GetTimeEvents() *Span_TimeEvents {
-	if m != nil {
-		return m.TimeEvents
-	}
-	return nil
-}
-
-func (m *Span) GetLinks() *Span_Links {
-	if m != nil {
-		return m.Links
-	}
-	return nil
-}
-
-func (m *Span) GetStatus() *Status {
-	if m != nil {
-		return m.Status
-	}
-	return nil
-}
-
-func (m *Span) GetResource() *v1.Resource {
-	if m != nil {
-		return m.Resource
-	}
-	return nil
-}
-
-func (m *Span) GetSameProcessAsParentSpan() *wrappers.BoolValue {
-	if m != nil {
-		return m.SameProcessAsParentSpan
-	}
-	return nil
-}
-
-func (m *Span) GetChildSpanCount() *wrappers.UInt32Value {
-	if m != nil {
-		return m.ChildSpanCount
-	}
-	return nil
-}
-
-// This field conveys information about request position in multiple distributed tracing graphs.
-// It is a list of Tracestate.Entry with a maximum of 32 members in the list.
-//
-// See the https://github.com/w3c/distributed-tracing for more details about this field.
-type Span_Tracestate struct {
-	// A list of entries that represent the Tracestate.
-	Entries              []*Span_Tracestate_Entry `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}                 `json:"-"`
-	XXX_unrecognized     []byte                   `json:"-"`
-	XXX_sizecache        int32                    `json:"-"`
-}
-
-func (m *Span_Tracestate) Reset()         { *m = Span_Tracestate{} }
-func (m *Span_Tracestate) String() string { return proto.CompactTextString(m) }
-func (*Span_Tracestate) ProtoMessage()    {}
-func (*Span_Tracestate) Descriptor() ([]byte, []int) {
-	return fileDescriptor_8ea38bbb821bf584, []int{0, 0}
-}
-
-func (m *Span_Tracestate) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Span_Tracestate.Unmarshal(m, b)
-}
-func (m *Span_Tracestate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Span_Tracestate.Marshal(b, m, deterministic)
-}
-func (m *Span_Tracestate) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Span_Tracestate.Merge(m, src)
-}
-func (m *Span_Tracestate) XXX_Size() int {
-	return xxx_messageInfo_Span_Tracestate.Size(m)
-}
-func (m *Span_Tracestate) XXX_DiscardUnknown() {
-	xxx_messageInfo_Span_Tracestate.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Span_Tracestate proto.InternalMessageInfo
-
-func (m *Span_Tracestate) GetEntries() []*Span_Tracestate_Entry {
-	if m != nil {
-		return m.Entries
-	}
-	return nil
-}
-
-type Span_Tracestate_Entry struct {
-	// The key must begin with a lowercase letter, and can only contain
-	// lowercase letters 'a'-'z', digits '0'-'9', underscores '_', dashes
-	// '-', asterisks '*', and forward slashes '/'.
-	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
-	// The value is opaque string up to 256 characters printable ASCII
-	// RFC0020 characters (i.e., the range 0x20 to 0x7E) except ',' and '='.
-	// Note that this also excludes tabs, newlines, carriage returns, etc.
-	Value                string   `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *Span_Tracestate_Entry) Reset()         { *m = Span_Tracestate_Entry{} }
-func (m *Span_Tracestate_Entry) String() string { return proto.CompactTextString(m) }
-func (*Span_Tracestate_Entry) ProtoMessage()    {}
-func (*Span_Tracestate_Entry) Descriptor() ([]byte, []int) {
-	return fileDescriptor_8ea38bbb821bf584, []int{0, 0, 0}
-}
-
-func (m *Span_Tracestate_Entry) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Span_Tracestate_Entry.Unmarshal(m, b)
-}
-func (m *Span_Tracestate_Entry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Span_Tracestate_Entry.Marshal(b, m, deterministic)
-}
-func (m *Span_Tracestate_Entry) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Span_Tracestate_Entry.Merge(m, src)
-}
-func (m *Span_Tracestate_Entry) XXX_Size() int {
-	return xxx_messageInfo_Span_Tracestate_Entry.Size(m)
-}
-func (m *Span_Tracestate_Entry) XXX_DiscardUnknown() {
-	xxx_messageInfo_Span_Tracestate_Entry.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Span_Tracestate_Entry proto.InternalMessageInfo
-
-func (m *Span_Tracestate_Entry) GetKey() string {
-	if m != nil {
-		return m.Key
-	}
-	return ""
-}
-
-func (m *Span_Tracestate_Entry) GetValue() string {
-	if m != nil {
-		return m.Value
-	}
-	return ""
-}
-
-// A set of attributes, each with a key and a value.
-type Span_Attributes struct {
-	// The set of attributes. The value can be a string, an integer, a double
-	// or the Boolean values `true` or `false`. Note, global attributes like
-	// server name can be set as tags using resource API. Examples of attributes:
-	//
-	//     "/http/user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36"
-	//     "/http/server_latency": 300
-	//     "abc.com/myattribute": true
-	//     "abc.com/score": 10.239
-	AttributeMap map[string]*AttributeValue `protobuf:"bytes,1,rep,name=attribute_map,json=attributeMap,proto3" json:"attribute_map,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
-	// The number of attributes that were discarded. Attributes can be discarded
-	// because their keys are too long or because there are too many attributes.
-	// If this value is 0, then no attributes were dropped.
-	DroppedAttributesCount int32    `protobuf:"varint,2,opt,name=dropped_attributes_count,json=droppedAttributesCount,proto3" json:"dropped_attributes_count,omitempty"`
-	XXX_NoUnkeyedLiteral   struct{} `json:"-"`
-	XXX_unrecognized       []byte   `json:"-"`
-	XXX_sizecache          int32    `json:"-"`
-}
-
-func (m *Span_Attributes) Reset()         { *m = Span_Attributes{} }
-func (m *Span_Attributes) String() string { return proto.CompactTextString(m) }
-func (*Span_Attributes) ProtoMessage()    {}
-func (*Span_Attributes) Descriptor() ([]byte, []int) {
-	return fileDescriptor_8ea38bbb821bf584, []int{0, 1}
-}
-
-func (m *Span_Attributes) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Span_Attributes.Unmarshal(m, b)
-}
-func (m *Span_Attributes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Span_Attributes.Marshal(b, m, deterministic)
-}
-func (m *Span_Attributes) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Span_Attributes.Merge(m, src)
-}
-func (m *Span_Attributes) XXX_Size() int {
-	return xxx_messageInfo_Span_Attributes.Size(m)
-}
-func (m *Span_Attributes) XXX_DiscardUnknown() {
-	xxx_messageInfo_Span_Attributes.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Span_Attributes proto.InternalMessageInfo
-
-func (m *Span_Attributes) GetAttributeMap() map[string]*AttributeValue {
-	if m != nil {
-		return m.AttributeMap
-	}
-	return nil
-}
-
-func (m *Span_Attributes) GetDroppedAttributesCount() int32 {
-	if m != nil {
-		return m.DroppedAttributesCount
-	}
-	return 0
-}
-
-// A time-stamped annotation or message event in the Span.
-type Span_TimeEvent struct {
-	// The time the event occurred.
-	Time *timestamp.Timestamp `protobuf:"bytes,1,opt,name=time,proto3" json:"time,omitempty"`
-	// A `TimeEvent` can contain either an `Annotation` object or a
-	// `MessageEvent` object, but not both.
-	//
-	// Types that are valid to be assigned to Value:
-	//	*Span_TimeEvent_Annotation_
-	//	*Span_TimeEvent_MessageEvent_
-	Value                isSpan_TimeEvent_Value `protobuf_oneof:"value"`
-	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
-	XXX_unrecognized     []byte                 `json:"-"`
-	XXX_sizecache        int32                  `json:"-"`
-}
-
-func (m *Span_TimeEvent) Reset()         { *m = Span_TimeEvent{} }
-func (m *Span_TimeEvent) String() string { return proto.CompactTextString(m) }
-func (*Span_TimeEvent) ProtoMessage()    {}
-func (*Span_TimeEvent) Descriptor() ([]byte, []int) {
-	return fileDescriptor_8ea38bbb821bf584, []int{0, 2}
-}
-
-func (m *Span_TimeEvent) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Span_TimeEvent.Unmarshal(m, b)
-}
-func (m *Span_TimeEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Span_TimeEvent.Marshal(b, m, deterministic)
-}
-func (m *Span_TimeEvent) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Span_TimeEvent.Merge(m, src)
-}
-func (m *Span_TimeEvent) XXX_Size() int {
-	return xxx_messageInfo_Span_TimeEvent.Size(m)
-}
-func (m *Span_TimeEvent) XXX_DiscardUnknown() {
-	xxx_messageInfo_Span_TimeEvent.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Span_TimeEvent proto.InternalMessageInfo
-
-func (m *Span_TimeEvent) GetTime() *timestamp.Timestamp {
-	if m != nil {
-		return m.Time
-	}
-	return nil
-}
-
-type isSpan_TimeEvent_Value interface {
-	isSpan_TimeEvent_Value()
-}
-
-type Span_TimeEvent_Annotation_ struct {
-	Annotation *Span_TimeEvent_Annotation `protobuf:"bytes,2,opt,name=annotation,proto3,oneof"`
-}
-
-type Span_TimeEvent_MessageEvent_ struct {
-	MessageEvent *Span_TimeEvent_MessageEvent `protobuf:"bytes,3,opt,name=message_event,json=messageEvent,proto3,oneof"`
-}
-
-func (*Span_TimeEvent_Annotation_) isSpan_TimeEvent_Value() {}
-
-func (*Span_TimeEvent_MessageEvent_) isSpan_TimeEvent_Value() {}
-
-func (m *Span_TimeEvent) GetValue() isSpan_TimeEvent_Value {
-	if m != nil {
-		return m.Value
-	}
-	return nil
-}
-
-func (m *Span_TimeEvent) GetAnnotation() *Span_TimeEvent_Annotation {
-	if x, ok := m.GetValue().(*Span_TimeEvent_Annotation_); ok {
-		return x.Annotation
-	}
-	return nil
-}
-
-func (m *Span_TimeEvent) GetMessageEvent() *Span_TimeEvent_MessageEvent {
-	if x, ok := m.GetValue().(*Span_TimeEvent_MessageEvent_); ok {
-		return x.MessageEvent
-	}
-	return nil
-}
-
-// XXX_OneofWrappers is for the internal use of the proto package.
-func (*Span_TimeEvent) XXX_OneofWrappers() []interface{} {
-	return []interface{}{
-		(*Span_TimeEvent_Annotation_)(nil),
-		(*Span_TimeEvent_MessageEvent_)(nil),
-	}
-}
-
-// A text annotation with a set of attributes.
-type Span_TimeEvent_Annotation struct {
-	// A user-supplied message describing the event.
-	Description *TruncatableString `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"`
-	// A set of attributes on the annotation.
-	Attributes           *Span_Attributes `protobuf:"bytes,2,opt,name=attributes,proto3" json:"attributes,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
-	XXX_unrecognized     []byte           `json:"-"`
-	XXX_sizecache        int32            `json:"-"`
-}
-
-func (m *Span_TimeEvent_Annotation) Reset()         { *m = Span_TimeEvent_Annotation{} }
-func (m *Span_TimeEvent_Annotation) String() string { return proto.CompactTextString(m) }
-func (*Span_TimeEvent_Annotation) ProtoMessage()    {}
-func (*Span_TimeEvent_Annotation) Descriptor() ([]byte, []int) {
-	return fileDescriptor_8ea38bbb821bf584, []int{0, 2, 0}
-}
-
-func (m *Span_TimeEvent_Annotation) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Span_TimeEvent_Annotation.Unmarshal(m, b)
-}
-func (m *Span_TimeEvent_Annotation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Span_TimeEvent_Annotation.Marshal(b, m, deterministic)
-}
-func (m *Span_TimeEvent_Annotation) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Span_TimeEvent_Annotation.Merge(m, src)
-}
-func (m *Span_TimeEvent_Annotation) XXX_Size() int {
-	return xxx_messageInfo_Span_TimeEvent_Annotation.Size(m)
-}
-func (m *Span_TimeEvent_Annotation) XXX_DiscardUnknown() {
-	xxx_messageInfo_Span_TimeEvent_Annotation.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Span_TimeEvent_Annotation proto.InternalMessageInfo
-
-func (m *Span_TimeEvent_Annotation) GetDescription() *TruncatableString {
-	if m != nil {
-		return m.Description
-	}
-	return nil
-}
-
-func (m *Span_TimeEvent_Annotation) GetAttributes() *Span_Attributes {
-	if m != nil {
-		return m.Attributes
-	}
-	return nil
-}
-
-// An event describing a message sent/received between Spans.
-type Span_TimeEvent_MessageEvent struct {
-	// The type of MessageEvent. Indicates whether the message was sent or
-	// received.
-	Type Span_TimeEvent_MessageEvent_Type `protobuf:"varint,1,opt,name=type,proto3,enum=opencensus.proto.trace.v1.Span_TimeEvent_MessageEvent_Type" json:"type,omitempty"`
-	// An identifier for the MessageEvent's message that can be used to match
-	// SENT and RECEIVED MessageEvents. For example, this field could
-	// represent a sequence ID for a streaming RPC. It is recommended to be
-	// unique within a Span.
-	Id uint64 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"`
-	// The number of uncompressed bytes sent or received.
-	UncompressedSize uint64 `protobuf:"varint,3,opt,name=uncompressed_size,json=uncompressedSize,proto3" json:"uncompressed_size,omitempty"`
-	// The number of compressed bytes sent or received. If zero, assumed to
-	// be the same size as uncompressed.
-	CompressedSize       uint64   `protobuf:"varint,4,opt,name=compressed_size,json=compressedSize,proto3" json:"compressed_size,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *Span_TimeEvent_MessageEvent) Reset()         { *m = Span_TimeEvent_MessageEvent{} }
-func (m *Span_TimeEvent_MessageEvent) String() string { return proto.CompactTextString(m) }
-func (*Span_TimeEvent_MessageEvent) ProtoMessage()    {}
-func (*Span_TimeEvent_MessageEvent) Descriptor() ([]byte, []int) {
-	return fileDescriptor_8ea38bbb821bf584, []int{0, 2, 1}
-}
-
-func (m *Span_TimeEvent_MessageEvent) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Span_TimeEvent_MessageEvent.Unmarshal(m, b)
-}
-func (m *Span_TimeEvent_MessageEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Span_TimeEvent_MessageEvent.Marshal(b, m, deterministic)
-}
-func (m *Span_TimeEvent_MessageEvent) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Span_TimeEvent_MessageEvent.Merge(m, src)
-}
-func (m *Span_TimeEvent_MessageEvent) XXX_Size() int {
-	return xxx_messageInfo_Span_TimeEvent_MessageEvent.Size(m)
-}
-func (m *Span_TimeEvent_MessageEvent) XXX_DiscardUnknown() {
-	xxx_messageInfo_Span_TimeEvent_MessageEvent.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Span_TimeEvent_MessageEvent proto.InternalMessageInfo
-
-func (m *Span_TimeEvent_MessageEvent) GetType() Span_TimeEvent_MessageEvent_Type {
-	if m != nil {
-		return m.Type
-	}
-	return Span_TimeEvent_MessageEvent_TYPE_UNSPECIFIED
-}
-
-func (m *Span_TimeEvent_MessageEvent) GetId() uint64 {
-	if m != nil {
-		return m.Id
-	}
-	return 0
-}
-
-func (m *Span_TimeEvent_MessageEvent) GetUncompressedSize() uint64 {
-	if m != nil {
-		return m.UncompressedSize
-	}
-	return 0
-}
-
-func (m *Span_TimeEvent_MessageEvent) GetCompressedSize() uint64 {
-	if m != nil {
-		return m.CompressedSize
-	}
-	return 0
-}
-
-// A collection of `TimeEvent`s. A `TimeEvent` is a time-stamped annotation
-// on the span, consisting of either user-supplied key-value pairs, or
-// details of a message sent/received between Spans.
-type Span_TimeEvents struct {
-	// A collection of `TimeEvent`s.
-	TimeEvent []*Span_TimeEvent `protobuf:"bytes,1,rep,name=time_event,json=timeEvent,proto3" json:"time_event,omitempty"`
-	// The number of dropped annotations in all the included time events.
-	// If the value is 0, then no annotations were dropped.
-	DroppedAnnotationsCount int32 `protobuf:"varint,2,opt,name=dropped_annotations_count,json=droppedAnnotationsCount,proto3" json:"dropped_annotations_count,omitempty"`
-	// The number of dropped message events in all the included time events.
-	// If the value is 0, then no message events were dropped.
-	DroppedMessageEventsCount int32    `protobuf:"varint,3,opt,name=dropped_message_events_count,json=droppedMessageEventsCount,proto3" json:"dropped_message_events_count,omitempty"`
-	XXX_NoUnkeyedLiteral      struct{} `json:"-"`
-	XXX_unrecognized          []byte   `json:"-"`
-	XXX_sizecache             int32    `json:"-"`
-}
-
-func (m *Span_TimeEvents) Reset()         { *m = Span_TimeEvents{} }
-func (m *Span_TimeEvents) String() string { return proto.CompactTextString(m) }
-func (*Span_TimeEvents) ProtoMessage()    {}
-func (*Span_TimeEvents) Descriptor() ([]byte, []int) {
-	return fileDescriptor_8ea38bbb821bf584, []int{0, 3}
-}
-
-func (m *Span_TimeEvents) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Span_TimeEvents.Unmarshal(m, b)
-}
-func (m *Span_TimeEvents) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Span_TimeEvents.Marshal(b, m, deterministic)
-}
-func (m *Span_TimeEvents) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Span_TimeEvents.Merge(m, src)
-}
-func (m *Span_TimeEvents) XXX_Size() int {
-	return xxx_messageInfo_Span_TimeEvents.Size(m)
-}
-func (m *Span_TimeEvents) XXX_DiscardUnknown() {
-	xxx_messageInfo_Span_TimeEvents.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Span_TimeEvents proto.InternalMessageInfo
-
-func (m *Span_TimeEvents) GetTimeEvent() []*Span_TimeEvent {
-	if m != nil {
-		return m.TimeEvent
-	}
-	return nil
-}
-
-func (m *Span_TimeEvents) GetDroppedAnnotationsCount() int32 {
-	if m != nil {
-		return m.DroppedAnnotationsCount
-	}
-	return 0
-}
-
-func (m *Span_TimeEvents) GetDroppedMessageEventsCount() int32 {
-	if m != nil {
-		return m.DroppedMessageEventsCount
-	}
-	return 0
-}
-
-// A pointer from the current span to another span in the same trace or in a
-// different trace. For example, this can be used in batching operations,
-// where a single batch handler processes multiple requests from different
-// traces or when the handler receives a request from a different project.
-type Span_Link struct {
-	// A unique identifier of a trace that this linked span is part of. The ID is a
-	// 16-byte array.
-	TraceId []byte `protobuf:"bytes,1,opt,name=trace_id,json=traceId,proto3" json:"trace_id,omitempty"`
-	// A unique identifier for the linked span. The ID is an 8-byte array.
-	SpanId []byte `protobuf:"bytes,2,opt,name=span_id,json=spanId,proto3" json:"span_id,omitempty"`
-	// The relationship of the current span relative to the linked span.
-	Type Span_Link_Type `protobuf:"varint,3,opt,name=type,proto3,enum=opencensus.proto.trace.v1.Span_Link_Type" json:"type,omitempty"`
-	// A set of attributes on the link.
-	Attributes *Span_Attributes `protobuf:"bytes,4,opt,name=attributes,proto3" json:"attributes,omitempty"`
-	// The Tracestate associated with the link.
-	Tracestate           *Span_Tracestate `protobuf:"bytes,5,opt,name=tracestate,proto3" json:"tracestate,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
-	XXX_unrecognized     []byte           `json:"-"`
-	XXX_sizecache        int32            `json:"-"`
-}
-
-func (m *Span_Link) Reset()         { *m = Span_Link{} }
-func (m *Span_Link) String() string { return proto.CompactTextString(m) }
-func (*Span_Link) ProtoMessage()    {}
-func (*Span_Link) Descriptor() ([]byte, []int) {
-	return fileDescriptor_8ea38bbb821bf584, []int{0, 4}
-}
-
-func (m *Span_Link) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Span_Link.Unmarshal(m, b)
-}
-func (m *Span_Link) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Span_Link.Marshal(b, m, deterministic)
-}
-func (m *Span_Link) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Span_Link.Merge(m, src)
-}
-func (m *Span_Link) XXX_Size() int {
-	return xxx_messageInfo_Span_Link.Size(m)
-}
-func (m *Span_Link) XXX_DiscardUnknown() {
-	xxx_messageInfo_Span_Link.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Span_Link proto.InternalMessageInfo
-
-func (m *Span_Link) GetTraceId() []byte {
-	if m != nil {
-		return m.TraceId
-	}
-	return nil
-}
-
-func (m *Span_Link) GetSpanId() []byte {
-	if m != nil {
-		return m.SpanId
-	}
-	return nil
-}
-
-func (m *Span_Link) GetType() Span_Link_Type {
-	if m != nil {
-		return m.Type
-	}
-	return Span_Link_TYPE_UNSPECIFIED
-}
-
-func (m *Span_Link) GetAttributes() *Span_Attributes {
-	if m != nil {
-		return m.Attributes
-	}
-	return nil
-}
-
-func (m *Span_Link) GetTracestate() *Span_Tracestate {
-	if m != nil {
-		return m.Tracestate
-	}
-	return nil
-}
-
-// A collection of links, which are references from this span to a span
-// in the same or different trace.
-type Span_Links struct {
-	// A collection of links.
-	Link []*Span_Link `protobuf:"bytes,1,rep,name=link,proto3" json:"link,omitempty"`
-	// The number of dropped links after the maximum size was enforced. If
-	// this value is 0, then no links were dropped.
-	DroppedLinksCount    int32    `protobuf:"varint,2,opt,name=dropped_links_count,json=droppedLinksCount,proto3" json:"dropped_links_count,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *Span_Links) Reset()         { *m = Span_Links{} }
-func (m *Span_Links) String() string { return proto.CompactTextString(m) }
-func (*Span_Links) ProtoMessage()    {}
-func (*Span_Links) Descriptor() ([]byte, []int) {
-	return fileDescriptor_8ea38bbb821bf584, []int{0, 5}
-}
-
-func (m *Span_Links) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Span_Links.Unmarshal(m, b)
-}
-func (m *Span_Links) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Span_Links.Marshal(b, m, deterministic)
-}
-func (m *Span_Links) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Span_Links.Merge(m, src)
-}
-func (m *Span_Links) XXX_Size() int {
-	return xxx_messageInfo_Span_Links.Size(m)
-}
-func (m *Span_Links) XXX_DiscardUnknown() {
-	xxx_messageInfo_Span_Links.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Span_Links proto.InternalMessageInfo
-
-func (m *Span_Links) GetLink() []*Span_Link {
-	if m != nil {
-		return m.Link
-	}
-	return nil
-}
-
-func (m *Span_Links) GetDroppedLinksCount() int32 {
-	if m != nil {
-		return m.DroppedLinksCount
-	}
-	return 0
-}
-
-// The `Status` type defines a logical error model that is suitable for different
-// programming environments, including REST APIs and RPC APIs. This proto's fields
-// are a subset of those of
-// [google.rpc.Status](https://github.com/googleapis/googleapis/blob/master/google/rpc/status.proto),
-// which is used by [gRPC](https://github.com/grpc).
-type Status struct {
-	// The status code. This is optional field. It is safe to assume 0 (OK)
-	// when not set.
-	Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
-	// A developer-facing error message, which should be in English.
-	Message              string   `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *Status) Reset()         { *m = Status{} }
-func (m *Status) String() string { return proto.CompactTextString(m) }
-func (*Status) ProtoMessage()    {}
-func (*Status) Descriptor() ([]byte, []int) {
-	return fileDescriptor_8ea38bbb821bf584, []int{1}
-}
-
-func (m *Status) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Status.Unmarshal(m, b)
-}
-func (m *Status) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Status.Marshal(b, m, deterministic)
-}
-func (m *Status) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Status.Merge(m, src)
-}
-func (m *Status) XXX_Size() int {
-	return xxx_messageInfo_Status.Size(m)
-}
-func (m *Status) XXX_DiscardUnknown() {
-	xxx_messageInfo_Status.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Status proto.InternalMessageInfo
-
-func (m *Status) GetCode() int32 {
-	if m != nil {
-		return m.Code
-	}
-	return 0
-}
-
-func (m *Status) GetMessage() string {
-	if m != nil {
-		return m.Message
-	}
-	return ""
-}
-
-// The value of an Attribute.
-type AttributeValue struct {
-	// The type of the value.
-	//
-	// Types that are valid to be assigned to Value:
-	//	*AttributeValue_StringValue
-	//	*AttributeValue_IntValue
-	//	*AttributeValue_BoolValue
-	//	*AttributeValue_DoubleValue
-	Value                isAttributeValue_Value `protobuf_oneof:"value"`
-	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
-	XXX_unrecognized     []byte                 `json:"-"`
-	XXX_sizecache        int32                  `json:"-"`
-}
-
-func (m *AttributeValue) Reset()         { *m = AttributeValue{} }
-func (m *AttributeValue) String() string { return proto.CompactTextString(m) }
-func (*AttributeValue) ProtoMessage()    {}
-func (*AttributeValue) Descriptor() ([]byte, []int) {
-	return fileDescriptor_8ea38bbb821bf584, []int{2}
-}
-
-func (m *AttributeValue) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_AttributeValue.Unmarshal(m, b)
-}
-func (m *AttributeValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_AttributeValue.Marshal(b, m, deterministic)
-}
-func (m *AttributeValue) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_AttributeValue.Merge(m, src)
-}
-func (m *AttributeValue) XXX_Size() int {
-	return xxx_messageInfo_AttributeValue.Size(m)
-}
-func (m *AttributeValue) XXX_DiscardUnknown() {
-	xxx_messageInfo_AttributeValue.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_AttributeValue proto.InternalMessageInfo
-
-type isAttributeValue_Value interface {
-	isAttributeValue_Value()
-}
-
-type AttributeValue_StringValue struct {
-	StringValue *TruncatableString `protobuf:"bytes,1,opt,name=string_value,json=stringValue,proto3,oneof"`
-}
-
-type AttributeValue_IntValue struct {
-	IntValue int64 `protobuf:"varint,2,opt,name=int_value,json=intValue,proto3,oneof"`
-}
-
-type AttributeValue_BoolValue struct {
-	BoolValue bool `protobuf:"varint,3,opt,name=bool_value,json=boolValue,proto3,oneof"`
-}
-
-type AttributeValue_DoubleValue struct {
-	DoubleValue float64 `protobuf:"fixed64,4,opt,name=double_value,json=doubleValue,proto3,oneof"`
-}
-
-func (*AttributeValue_StringValue) isAttributeValue_Value() {}
-
-func (*AttributeValue_IntValue) isAttributeValue_Value() {}
-
-func (*AttributeValue_BoolValue) isAttributeValue_Value() {}
-
-func (*AttributeValue_DoubleValue) isAttributeValue_Value() {}
-
-func (m *AttributeValue) GetValue() isAttributeValue_Value {
-	if m != nil {
-		return m.Value
-	}
-	return nil
-}
-
-func (m *AttributeValue) GetStringValue() *TruncatableString {
-	if x, ok := m.GetValue().(*AttributeValue_StringValue); ok {
-		return x.StringValue
-	}
-	return nil
-}
-
-func (m *AttributeValue) GetIntValue() int64 {
-	if x, ok := m.GetValue().(*AttributeValue_IntValue); ok {
-		return x.IntValue
-	}
-	return 0
-}
-
-func (m *AttributeValue) GetBoolValue() bool {
-	if x, ok := m.GetValue().(*AttributeValue_BoolValue); ok {
-		return x.BoolValue
-	}
-	return false
-}
-
-func (m *AttributeValue) GetDoubleValue() float64 {
-	if x, ok := m.GetValue().(*AttributeValue_DoubleValue); ok {
-		return x.DoubleValue
-	}
-	return 0
-}
-
-// XXX_OneofWrappers is for the internal use of the proto package.
-func (*AttributeValue) XXX_OneofWrappers() []interface{} {
-	return []interface{}{
-		(*AttributeValue_StringValue)(nil),
-		(*AttributeValue_IntValue)(nil),
-		(*AttributeValue_BoolValue)(nil),
-		(*AttributeValue_DoubleValue)(nil),
-	}
-}
-
-// The call stack which originated this span.
-type StackTrace struct {
-	// Stack frames in this stack trace.
-	StackFrames *StackTrace_StackFrames `protobuf:"bytes,1,opt,name=stack_frames,json=stackFrames,proto3" json:"stack_frames,omitempty"`
-	// The hash ID is used to conserve network bandwidth for duplicate
-	// stack traces within a single trace.
-	//
-	// Often multiple spans will have identical stack traces.
-	// The first occurrence of a stack trace should contain both
-	// `stack_frames` and a value in `stack_trace_hash_id`.
-	//
-	// Subsequent spans within the same request can refer
-	// to that stack trace by setting only `stack_trace_hash_id`.
-	//
-	// TODO: describe how to deal with the case where stack_trace_hash_id is
-	// zero because it was not set.
-	StackTraceHashId     uint64   `protobuf:"varint,2,opt,name=stack_trace_hash_id,json=stackTraceHashId,proto3" json:"stack_trace_hash_id,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *StackTrace) Reset()         { *m = StackTrace{} }
-func (m *StackTrace) String() string { return proto.CompactTextString(m) }
-func (*StackTrace) ProtoMessage()    {}
-func (*StackTrace) Descriptor() ([]byte, []int) {
-	return fileDescriptor_8ea38bbb821bf584, []int{3}
-}
-
-func (m *StackTrace) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_StackTrace.Unmarshal(m, b)
-}
-func (m *StackTrace) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_StackTrace.Marshal(b, m, deterministic)
-}
-func (m *StackTrace) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_StackTrace.Merge(m, src)
-}
-func (m *StackTrace) XXX_Size() int {
-	return xxx_messageInfo_StackTrace.Size(m)
-}
-func (m *StackTrace) XXX_DiscardUnknown() {
-	xxx_messageInfo_StackTrace.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_StackTrace proto.InternalMessageInfo
-
-func (m *StackTrace) GetStackFrames() *StackTrace_StackFrames {
-	if m != nil {
-		return m.StackFrames
-	}
-	return nil
-}
-
-func (m *StackTrace) GetStackTraceHashId() uint64 {
-	if m != nil {
-		return m.StackTraceHashId
-	}
-	return 0
-}
-
-// A single stack frame in a stack trace.
-type StackTrace_StackFrame struct {
-	// The fully-qualified name that uniquely identifies the function or
-	// method that is active in this frame.
-	FunctionName *TruncatableString `protobuf:"bytes,1,opt,name=function_name,json=functionName,proto3" json:"function_name,omitempty"`
-	// An un-mangled function name, if `function_name` is
-	// [mangled](http://www.avabodh.com/cxxin/namemangling.html). The name can
-	// be fully qualified.
-	OriginalFunctionName *TruncatableString `protobuf:"bytes,2,opt,name=original_function_name,json=originalFunctionName,proto3" json:"original_function_name,omitempty"`
-	// The name of the source file where the function call appears.
-	FileName *TruncatableString `protobuf:"bytes,3,opt,name=file_name,json=fileName,proto3" json:"file_name,omitempty"`
-	// The line number in `file_name` where the function call appears.
-	LineNumber int64 `protobuf:"varint,4,opt,name=line_number,json=lineNumber,proto3" json:"line_number,omitempty"`
-	// The column number where the function call appears, if available.
-	// This is important in JavaScript because of its anonymous functions.
-	ColumnNumber int64 `protobuf:"varint,5,opt,name=column_number,json=columnNumber,proto3" json:"column_number,omitempty"`
-	// The binary module from where the code was loaded.
-	LoadModule *Module `protobuf:"bytes,6,opt,name=load_module,json=loadModule,proto3" json:"load_module,omitempty"`
-	// The version of the deployed source code.
-	SourceVersion        *TruncatableString `protobuf:"bytes,7,opt,name=source_version,json=sourceVersion,proto3" json:"source_version,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
-	XXX_unrecognized     []byte             `json:"-"`
-	XXX_sizecache        int32              `json:"-"`
-}
-
-func (m *StackTrace_StackFrame) Reset()         { *m = StackTrace_StackFrame{} }
-func (m *StackTrace_StackFrame) String() string { return proto.CompactTextString(m) }
-func (*StackTrace_StackFrame) ProtoMessage()    {}
-func (*StackTrace_StackFrame) Descriptor() ([]byte, []int) {
-	return fileDescriptor_8ea38bbb821bf584, []int{3, 0}
-}
-
-func (m *StackTrace_StackFrame) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_StackTrace_StackFrame.Unmarshal(m, b)
-}
-func (m *StackTrace_StackFrame) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_StackTrace_StackFrame.Marshal(b, m, deterministic)
-}
-func (m *StackTrace_StackFrame) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_StackTrace_StackFrame.Merge(m, src)
-}
-func (m *StackTrace_StackFrame) XXX_Size() int {
-	return xxx_messageInfo_StackTrace_StackFrame.Size(m)
-}
-func (m *StackTrace_StackFrame) XXX_DiscardUnknown() {
-	xxx_messageInfo_StackTrace_StackFrame.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_StackTrace_StackFrame proto.InternalMessageInfo
-
-func (m *StackTrace_StackFrame) GetFunctionName() *TruncatableString {
-	if m != nil {
-		return m.FunctionName
-	}
-	return nil
-}
-
-func (m *StackTrace_StackFrame) GetOriginalFunctionName() *TruncatableString {
-	if m != nil {
-		return m.OriginalFunctionName
-	}
-	return nil
-}
-
-func (m *StackTrace_StackFrame) GetFileName() *TruncatableString {
-	if m != nil {
-		return m.FileName
-	}
-	return nil
-}
-
-func (m *StackTrace_StackFrame) GetLineNumber() int64 {
-	if m != nil {
-		return m.LineNumber
-	}
-	return 0
-}
-
-func (m *StackTrace_StackFrame) GetColumnNumber() int64 {
-	if m != nil {
-		return m.ColumnNumber
-	}
-	return 0
-}
-
-func (m *StackTrace_StackFrame) GetLoadModule() *Module {
-	if m != nil {
-		return m.LoadModule
-	}
-	return nil
-}
-
-func (m *StackTrace_StackFrame) GetSourceVersion() *TruncatableString {
-	if m != nil {
-		return m.SourceVersion
-	}
-	return nil
-}
-
-// A collection of stack frames, which can be truncated.
-type StackTrace_StackFrames struct {
-	// Stack frames in this call stack.
-	Frame []*StackTrace_StackFrame `protobuf:"bytes,1,rep,name=frame,proto3" json:"frame,omitempty"`
-	// The number of stack frames that were dropped because there
-	// were too many stack frames.
-	// If this value is 0, then no stack frames were dropped.
-	DroppedFramesCount   int32    `protobuf:"varint,2,opt,name=dropped_frames_count,json=droppedFramesCount,proto3" json:"dropped_frames_count,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *StackTrace_StackFrames) Reset()         { *m = StackTrace_StackFrames{} }
-func (m *StackTrace_StackFrames) String() string { return proto.CompactTextString(m) }
-func (*StackTrace_StackFrames) ProtoMessage()    {}
-func (*StackTrace_StackFrames) Descriptor() ([]byte, []int) {
-	return fileDescriptor_8ea38bbb821bf584, []int{3, 1}
-}
-
-func (m *StackTrace_StackFrames) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_StackTrace_StackFrames.Unmarshal(m, b)
-}
-func (m *StackTrace_StackFrames) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_StackTrace_StackFrames.Marshal(b, m, deterministic)
-}
-func (m *StackTrace_StackFrames) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_StackTrace_StackFrames.Merge(m, src)
-}
-func (m *StackTrace_StackFrames) XXX_Size() int {
-	return xxx_messageInfo_StackTrace_StackFrames.Size(m)
-}
-func (m *StackTrace_StackFrames) XXX_DiscardUnknown() {
-	xxx_messageInfo_StackTrace_StackFrames.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_StackTrace_StackFrames proto.InternalMessageInfo
-
-func (m *StackTrace_StackFrames) GetFrame() []*StackTrace_StackFrame {
-	if m != nil {
-		return m.Frame
-	}
-	return nil
-}
-
-func (m *StackTrace_StackFrames) GetDroppedFramesCount() int32 {
-	if m != nil {
-		return m.DroppedFramesCount
-	}
-	return 0
-}
-
-// A description of a binary module.
-type Module struct {
-	// TODO: document the meaning of this field.
-	// For example: main binary, kernel modules, and dynamic libraries
-	// such as libc.so, sharedlib.so.
-	Module *TruncatableString `protobuf:"bytes,1,opt,name=module,proto3" json:"module,omitempty"`
-	// A unique identifier for the module, usually a hash of its
-	// contents.
-	BuildId              *TruncatableString `protobuf:"bytes,2,opt,name=build_id,json=buildId,proto3" json:"build_id,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
-	XXX_unrecognized     []byte             `json:"-"`
-	XXX_sizecache        int32              `json:"-"`
-}
-
-func (m *Module) Reset()         { *m = Module{} }
-func (m *Module) String() string { return proto.CompactTextString(m) }
-func (*Module) ProtoMessage()    {}
-func (*Module) Descriptor() ([]byte, []int) {
-	return fileDescriptor_8ea38bbb821bf584, []int{4}
-}
-
-func (m *Module) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Module.Unmarshal(m, b)
-}
-func (m *Module) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Module.Marshal(b, m, deterministic)
-}
-func (m *Module) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Module.Merge(m, src)
-}
-func (m *Module) XXX_Size() int {
-	return xxx_messageInfo_Module.Size(m)
-}
-func (m *Module) XXX_DiscardUnknown() {
-	xxx_messageInfo_Module.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Module proto.InternalMessageInfo
-
-func (m *Module) GetModule() *TruncatableString {
-	if m != nil {
-		return m.Module
-	}
-	return nil
-}
-
-func (m *Module) GetBuildId() *TruncatableString {
-	if m != nil {
-		return m.BuildId
-	}
-	return nil
-}
-
-// A string that might be shortened to a specified length.
-type TruncatableString struct {
-	// The shortened string. For example, if the original string was 500 bytes long and
-	// the limit of the string was 128 bytes, then this value contains the first 128
-	// bytes of the 500-byte string. Note that truncation always happens on a
-	// character boundary, to ensure that a truncated string is still valid UTF-8.
-	// Because it may contain multi-byte characters, the size of the truncated string
-	// may be less than the truncation limit.
-	Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
-	// The number of bytes removed from the original string. If this
-	// value is 0, then the string was not shortened.
-	TruncatedByteCount   int32    `protobuf:"varint,2,opt,name=truncated_byte_count,json=truncatedByteCount,proto3" json:"truncated_byte_count,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *TruncatableString) Reset()         { *m = TruncatableString{} }
-func (m *TruncatableString) String() string { return proto.CompactTextString(m) }
-func (*TruncatableString) ProtoMessage()    {}
-func (*TruncatableString) Descriptor() ([]byte, []int) {
-	return fileDescriptor_8ea38bbb821bf584, []int{5}
-}
-
-func (m *TruncatableString) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_TruncatableString.Unmarshal(m, b)
-}
-func (m *TruncatableString) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_TruncatableString.Marshal(b, m, deterministic)
-}
-func (m *TruncatableString) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_TruncatableString.Merge(m, src)
-}
-func (m *TruncatableString) XXX_Size() int {
-	return xxx_messageInfo_TruncatableString.Size(m)
-}
-func (m *TruncatableString) XXX_DiscardUnknown() {
-	xxx_messageInfo_TruncatableString.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_TruncatableString proto.InternalMessageInfo
-
-func (m *TruncatableString) GetValue() string {
-	if m != nil {
-		return m.Value
-	}
-	return ""
-}
-
-func (m *TruncatableString) GetTruncatedByteCount() int32 {
-	if m != nil {
-		return m.TruncatedByteCount
-	}
-	return 0
-}
-
-func init() {
-	proto.RegisterEnum("opencensus.proto.trace.v1.Span_SpanKind", Span_SpanKind_name, Span_SpanKind_value)
-	proto.RegisterEnum("opencensus.proto.trace.v1.Span_TimeEvent_MessageEvent_Type", Span_TimeEvent_MessageEvent_Type_name, Span_TimeEvent_MessageEvent_Type_value)
-	proto.RegisterEnum("opencensus.proto.trace.v1.Span_Link_Type", Span_Link_Type_name, Span_Link_Type_value)
-	proto.RegisterType((*Span)(nil), "opencensus.proto.trace.v1.Span")
-	proto.RegisterType((*Span_Tracestate)(nil), "opencensus.proto.trace.v1.Span.Tracestate")
-	proto.RegisterType((*Span_Tracestate_Entry)(nil), "opencensus.proto.trace.v1.Span.Tracestate.Entry")
-	proto.RegisterType((*Span_Attributes)(nil), "opencensus.proto.trace.v1.Span.Attributes")
-	proto.RegisterMapType((map[string]*AttributeValue)(nil), "opencensus.proto.trace.v1.Span.Attributes.AttributeMapEntry")
-	proto.RegisterType((*Span_TimeEvent)(nil), "opencensus.proto.trace.v1.Span.TimeEvent")
-	proto.RegisterType((*Span_TimeEvent_Annotation)(nil), "opencensus.proto.trace.v1.Span.TimeEvent.Annotation")
-	proto.RegisterType((*Span_TimeEvent_MessageEvent)(nil), "opencensus.proto.trace.v1.Span.TimeEvent.MessageEvent")
-	proto.RegisterType((*Span_TimeEvents)(nil), "opencensus.proto.trace.v1.Span.TimeEvents")
-	proto.RegisterType((*Span_Link)(nil), "opencensus.proto.trace.v1.Span.Link")
-	proto.RegisterType((*Span_Links)(nil), "opencensus.proto.trace.v1.Span.Links")
-	proto.RegisterType((*Status)(nil), "opencensus.proto.trace.v1.Status")
-	proto.RegisterType((*AttributeValue)(nil), "opencensus.proto.trace.v1.AttributeValue")
-	proto.RegisterType((*StackTrace)(nil), "opencensus.proto.trace.v1.StackTrace")
-	proto.RegisterType((*StackTrace_StackFrame)(nil), "opencensus.proto.trace.v1.StackTrace.StackFrame")
-	proto.RegisterType((*StackTrace_StackFrames)(nil), "opencensus.proto.trace.v1.StackTrace.StackFrames")
-	proto.RegisterType((*Module)(nil), "opencensus.proto.trace.v1.Module")
-	proto.RegisterType((*TruncatableString)(nil), "opencensus.proto.trace.v1.TruncatableString")
-}
-
-func init() {
-	proto.RegisterFile("opencensus/proto/trace/v1/trace.proto", fileDescriptor_8ea38bbb821bf584)
-}
-
-var fileDescriptor_8ea38bbb821bf584 = []byte{
-	// 1581 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x58, 0xdb, 0x6e, 0x1b, 0x41,
-	0x19, 0xce, 0xfa, 0xec, 0xdf, 0x8e, 0xeb, 0x4c, 0xd3, 0x74, 0x63, 0x0a, 0x0d, 0x6e, 0x0b, 0x29,
-	0x25, 0x9b, 0x26, 0x2d, 0x55, 0x8f, 0x2a, 0x71, 0xe2, 0x60, 0x37, 0xa9, 0xeb, 0x8e, 0xdd, 0x88,
-	0x83, 0xd0, 0x6a, 0xed, 0x9d, 0x38, 0x4b, 0xec, 0xd9, 0x65, 0x77, 0x36, 0x28, 0x7d, 0x01, 0x84,
-	0xe0, 0x86, 0x0b, 0xc4, 0x0b, 0x70, 0xc1, 0xeb, 0x20, 0xee, 0x79, 0x00, 0x24, 0x9e, 0x80, 0x1b,
-	0x34, 0x33, 0x7b, 0x72, 0xd2, 0x26, 0xc6, 0xbd, 0xb1, 0xe6, 0xf0, 0x7f, 0xdf, 0x3f, 0xff, 0xcc,
-	0x7f, 0x5a, 0xc3, 0x03, 0xdb, 0x21, 0x74, 0x48, 0xa8, 0xe7, 0x7b, 0x9b, 0x8e, 0x6b, 0x33, 0x7b,
-	0x93, 0xb9, 0xc6, 0x90, 0x6c, 0x9e, 0x6d, 0xc9, 0x81, 0x26, 0x16, 0xd1, 0x6a, 0x2c, 0x26, 0x57,
-	0x34, 0xb9, 0x7b, 0xb6, 0x55, 0x7b, 0x74, 0x89, 0xc1, 0x25, 0x9e, 0xed, 0xbb, 0x92, 0x24, 0x1c,
-	0x4b, 0x54, 0xed, 0xee, 0xc8, 0xb6, 0x47, 0x63, 0x22, 0x05, 0x07, 0xfe, 0xf1, 0x26, 0xb3, 0x26,
-	0xc4, 0x63, 0xc6, 0xc4, 0x09, 0x04, 0xbe, 0x77, 0x51, 0xe0, 0x77, 0xae, 0xe1, 0x38, 0xc4, 0x0d,
-	0xd4, 0xd6, 0xff, 0xbc, 0x02, 0x99, 0x9e, 0x63, 0x50, 0xb4, 0x0a, 0x05, 0x71, 0x04, 0xdd, 0x32,
-	0x55, 0x65, 0x4d, 0x59, 0x2f, 0xe3, 0xbc, 0x98, 0xb7, 0x4d, 0x74, 0x1b, 0xf2, 0x9e, 0x63, 0x50,
-	0xbe, 0x93, 0x12, 0x3b, 0x39, 0x3e, 0x6d, 0x9b, 0xe8, 0x1d, 0x80, 0x90, 0xf1, 0x98, 0xc1, 0x88,
-	0x7a, 0x63, 0x4d, 0x59, 0x2f, 0x6d, 0xff, 0x48, 0xfb, 0xaa, 0x69, 0x1a, 0x57, 0xa4, 0xf5, 0x23,
-	0x04, 0x4e, 0xa0, 0xd1, 0x7d, 0xa8, 0x38, 0x86, 0x4b, 0x28, 0xd3, 0x43, 0x5d, 0x69, 0xa1, 0xab,
-	0x2c, 0x57, 0x7b, 0x52, 0xe3, 0x4f, 0x21, 0x43, 0x8d, 0x09, 0x51, 0x33, 0x42, 0xd7, 0x8f, 0xaf,
-	0xd0, 0xd5, 0x77, 0x7d, 0x3a, 0x34, 0x98, 0x31, 0x18, 0x93, 0x1e, 0x73, 0x2d, 0x3a, 0xc2, 0x02,
-	0x89, 0x5e, 0x43, 0xe6, 0xd4, 0xa2, 0xa6, 0x5a, 0x59, 0x53, 0xd6, 0x2b, 0xdb, 0xeb, 0xd7, 0x9d,
-	0x96, 0xff, 0x1c, 0x58, 0xd4, 0xc4, 0x02, 0x85, 0x5e, 0x00, 0x78, 0xcc, 0x70, 0x99, 0xce, 0xef,
-	0x59, 0xcd, 0x8a, 0x53, 0xd4, 0x34, 0x79, 0xc7, 0x5a, 0x78, 0xc7, 0x5a, 0x3f, 0x7c, 0x04, 0x5c,
-	0x14, 0xd2, 0x7c, 0x8e, 0x7e, 0x02, 0x05, 0x42, 0x4d, 0x09, 0xcc, 0x5d, 0x0b, 0xcc, 0x13, 0x6a,
-	0x0a, 0xd8, 0x3b, 0x00, 0x83, 0x31, 0xd7, 0x1a, 0xf8, 0x8c, 0x78, 0x6a, 0x7e, 0xb6, 0x3b, 0xde,
-	0x89, 0x10, 0x38, 0x81, 0x46, 0xfb, 0x50, 0xf2, 0x98, 0x31, 0x3c, 0xd5, 0x85, 0xb4, 0x5a, 0x10,
-	0x64, 0x0f, 0xae, 0x22, 0xe3, 0xd2, 0xe2, 0xc1, 0x30, 0x78, 0xd1, 0x18, 0x1d, 0x40, 0x89, 0x9b,
-	0xa1, 0x93, 0x33, 0x42, 0x99, 0xa7, 0x16, 0x67, 0x7c, 0x78, 0x6b, 0x42, 0x9a, 0x02, 0x81, 0x81,
-	0x45, 0x63, 0xf4, 0x0a, 0xb2, 0x63, 0x8b, 0x9e, 0x7a, 0x2a, 0x5c, 0x7f, 0x1c, 0x4e, 0x73, 0xc8,
-	0x85, 0xb1, 0xc4, 0xa0, 0x17, 0x90, 0xe3, 0xee, 0xe3, 0x7b, 0x6a, 0x49, 0xa0, 0xbf, 0x7f, 0xb5,
-	0x31, 0xcc, 0xf7, 0x70, 0x00, 0x40, 0x0d, 0x28, 0x84, 0xc1, 0xa4, 0x56, 0x05, 0xf8, 0x07, 0x97,
-	0xc1, 0x51, 0xb8, 0x9d, 0x6d, 0x69, 0x38, 0x18, 0xe3, 0x08, 0x87, 0x7e, 0x0e, 0xdf, 0xf1, 0x8c,
-	0x09, 0xd1, 0x1d, 0xd7, 0x1e, 0x12, 0xcf, 0xd3, 0x0d, 0x4f, 0x4f, 0x38, 0xb1, 0x5a, 0xfe, 0xca,
-	0x33, 0x37, 0x6c, 0x7b, 0x7c, 0x64, 0x8c, 0x7d, 0x82, 0x6f, 0x73, 0x78, 0x57, 0xa2, 0x77, 0xbc,
-	0x6e, 0xe4, 0xea, 0x68, 0x1f, 0xaa, 0xc3, 0x13, 0x6b, 0x6c, 0xca, 0x68, 0x18, 0xda, 0x3e, 0x65,
-	0xea, 0xa2, 0xa0, 0xbb, 0x73, 0x89, 0xee, 0x53, 0x9b, 0xb2, 0x27, 0xdb, 0x92, 0xb0, 0x22, 0x50,
-	0x9c, 0x62, 0x97, 0x63, 0x6a, 0x7f, 0x50, 0x00, 0xe2, 0x88, 0x43, 0xef, 0x20, 0x4f, 0x28, 0x73,
-	0x2d, 0xe2, 0xa9, 0xca, 0x5a, 0x7a, 0xbd, 0xb4, 0xfd, 0x78, 0xf6, 0x70, 0xd5, 0x9a, 0x94, 0xb9,
-	0xe7, 0x38, 0x24, 0xa8, 0x6d, 0x42, 0x56, 0xac, 0xa0, 0x2a, 0xa4, 0x4f, 0xc9, 0xb9, 0xc8, 0x1a,
-	0x45, 0xcc, 0x87, 0x68, 0x19, 0xb2, 0x67, 0xfc, 0x38, 0x22, 0x5f, 0x14, 0xb1, 0x9c, 0xd4, 0xfe,
-	0x92, 0x02, 0x88, 0x3d, 0x13, 0x19, 0xb0, 0x18, 0xf9, 0xa6, 0x3e, 0x31, 0x9c, 0xe0, 0x44, 0xaf,
-	0x67, 0x77, 0xee, 0x78, 0xf8, 0xde, 0x70, 0xe4, 0xe9, 0xca, 0x46, 0x62, 0x09, 0x3d, 0x07, 0xd5,
-	0x74, 0x6d, 0xc7, 0x21, 0xa6, 0x1e, 0x87, 0x41, 0x70, 0x9b, 0xfc, 0x68, 0x59, 0xbc, 0x12, 0xec,
-	0xc7, 0xa4, 0xf2, 0xde, 0x7e, 0x03, 0x4b, 0x97, 0xc8, 0xbf, 0x60, 0xe8, 0xdb, 0xa4, 0xa1, 0xa5,
-	0xed, 0x87, 0x57, 0x9c, 0x3d, 0xa2, 0x93, 0x0f, 0x25, 0x71, 0x2f, 0x53, 0xcf, 0x95, 0xda, 0xdf,
-	0xb2, 0x50, 0x8c, 0x82, 0x03, 0x69, 0x90, 0x11, 0x39, 0x42, 0xb9, 0x36, 0x47, 0x08, 0x39, 0x74,
-	0x04, 0x60, 0x50, 0x6a, 0x33, 0x83, 0x59, 0x36, 0x0d, 0xce, 0xf1, 0x74, 0xe6, 0x58, 0xd4, 0x76,
-	0x22, 0x6c, 0x6b, 0x01, 0x27, 0x98, 0xd0, 0xaf, 0x61, 0x71, 0x42, 0x3c, 0xcf, 0x18, 0x05, 0x71,
-	0x2e, 0xf2, 0x71, 0x69, 0xfb, 0xd9, 0xec, 0xd4, 0xef, 0x25, 0x5c, 0x4c, 0x5a, 0x0b, 0xb8, 0x3c,
-	0x49, 0xcc, 0x6b, 0x7f, 0x57, 0x00, 0x62, 0xdd, 0xa8, 0x03, 0x25, 0x93, 0x78, 0x43, 0xd7, 0x72,
-	0x84, 0x19, 0xca, 0x1c, 0xf9, 0x3d, 0x49, 0x70, 0x21, 0x6d, 0xa6, 0xbe, 0x25, 0x6d, 0xd6, 0xfe,
-	0xab, 0x40, 0x39, 0x69, 0x0b, 0xfa, 0x00, 0x19, 0x76, 0xee, 0xc8, 0x27, 0xaa, 0x6c, 0xbf, 0x9a,
-	0xef, 0x46, 0xb4, 0xfe, 0xb9, 0x43, 0xb0, 0x20, 0x42, 0x15, 0x48, 0x05, 0xc5, 0x35, 0x83, 0x53,
-	0x96, 0x89, 0x1e, 0xc1, 0x92, 0x4f, 0x87, 0xf6, 0xc4, 0x71, 0x89, 0xe7, 0x11, 0x53, 0xf7, 0xac,
-	0xcf, 0x44, 0xdc, 0x7f, 0x06, 0x57, 0x93, 0x1b, 0x3d, 0xeb, 0x33, 0x41, 0x3f, 0x84, 0x1b, 0x17,
-	0x45, 0x33, 0x42, 0xb4, 0x32, 0x2d, 0x58, 0x7f, 0x0a, 0x19, 0xae, 0x13, 0x2d, 0x43, 0xb5, 0xff,
-	0x8b, 0x6e, 0x53, 0xff, 0xd4, 0xe9, 0x75, 0x9b, 0xbb, 0xed, 0xfd, 0x76, 0x73, 0xaf, 0xba, 0x80,
-	0x0a, 0x90, 0xe9, 0x35, 0x3b, 0xfd, 0xaa, 0x82, 0xca, 0x50, 0xc0, 0xcd, 0xdd, 0x66, 0xfb, 0xa8,
-	0xb9, 0x57, 0x4d, 0x35, 0xf2, 0x81, 0x8b, 0xd7, 0xfe, 0xc9, 0x53, 0x49, 0x9c, 0xb7, 0x5b, 0x00,
-	0x71, 0x11, 0x08, 0x62, 0xf7, 0xe1, 0xcc, 0x57, 0x81, 0x8b, 0x51, 0x09, 0x40, 0x2f, 0x61, 0x35,
-	0x8a, 0xd2, 0xc8, 0x23, 0xa6, 0xc3, 0xf4, 0x76, 0x18, 0xa6, 0xf1, 0xbe, 0x88, 0x53, 0xf4, 0x16,
-	0xee, 0x84, 0xd8, 0x29, 0x6f, 0x0d, 0xe1, 0x69, 0x01, 0x0f, 0xf9, 0x93, 0xf7, 0x1f, 0x04, 0xfa,
-	0xbf, 0x52, 0x90, 0xe1, 0x25, 0x65, 0xae, 0x06, 0xe8, 0x4d, 0xe0, 0x08, 0x69, 0xe1, 0x08, 0x0f,
-	0x67, 0x29, 0x5d, 0xc9, 0x67, 0x9f, 0x76, 0xd2, 0xcc, 0x37, 0xd5, 0xf6, 0xe9, 0x5e, 0x2c, 0xfb,
-	0x2d, 0xbd, 0x58, 0xfd, 0xe0, 0x4a, 0x47, 0xb9, 0x05, 0x4b, 0xbb, 0xad, 0xf6, 0xe1, 0x9e, 0x7e,
-	0xd8, 0xee, 0x1c, 0x34, 0xf7, 0xf4, 0x5e, 0x77, 0xa7, 0x53, 0x55, 0xd0, 0x0a, 0xa0, 0xee, 0x0e,
-	0x6e, 0x76, 0xfa, 0x53, 0xeb, 0xa9, 0xda, 0x6f, 0x21, 0x2b, 0x4a, 0x36, 0x7a, 0x0e, 0x19, 0x5e,
-	0xb4, 0x03, 0x57, 0xb9, 0x3f, 0xcb, 0x65, 0x61, 0x81, 0x40, 0x1a, 0xdc, 0x0c, 0x1f, 0x59, 0x94,
-	0xfd, 0x29, 0xd7, 0x58, 0x0a, 0xb6, 0x84, 0x12, 0xf1, 0xa6, 0xf5, 0x37, 0x50, 0x08, 0xfb, 0x36,
-	0xb4, 0x0a, 0xb7, 0xf8, 0x41, 0xf4, 0x83, 0x76, 0x67, 0xef, 0x82, 0x21, 0x00, 0xb9, 0x5e, 0x13,
-	0x1f, 0x35, 0x71, 0x55, 0xe1, 0xe3, 0xdd, 0xc3, 0x36, 0xf7, 0xff, 0x54, 0xfd, 0x19, 0xe4, 0x64,
-	0xaf, 0x80, 0x10, 0x64, 0x86, 0xb6, 0x29, 0x03, 0x3d, 0x8b, 0xc5, 0x18, 0xa9, 0x90, 0x0f, 0x3c,
-	0x2d, 0xa8, 0x6e, 0xe1, 0xb4, 0xfe, 0x0f, 0x05, 0x2a, 0xd3, 0x59, 0x1e, 0x7d, 0x84, 0xb2, 0x27,
-	0xb2, 0x93, 0x2e, 0xcb, 0xc4, 0x1c, 0x79, 0xad, 0xb5, 0x80, 0x4b, 0x92, 0x43, 0x52, 0x7e, 0x17,
-	0x8a, 0x16, 0x65, 0x7a, 0x5c, 0x76, 0xd2, 0xad, 0x05, 0x5c, 0xb0, 0x28, 0x93, 0xdb, 0x77, 0x01,
-	0x06, 0xb6, 0x3d, 0x0e, 0xf6, 0xb9, 0x63, 0x16, 0x5a, 0x0b, 0xb8, 0x38, 0x08, 0x5b, 0x0e, 0x74,
-	0x0f, 0xca, 0xa6, 0xed, 0x0f, 0xc6, 0x24, 0x10, 0xe1, 0x6e, 0xa7, 0x70, 0x25, 0x72, 0x55, 0x08,
-	0x45, 0x41, 0x5f, 0xff, 0x63, 0x0e, 0x20, 0xee, 0x02, 0x51, 0x9f, 0xdb, 0xc3, 0x3b, 0xc8, 0x63,
-	0xd7, 0x98, 0x88, 0x26, 0x82, 0xdb, 0xb3, 0x35, 0x53, 0x0b, 0x29, 0x87, 0xfb, 0x02, 0x88, 0x65,
-	0x23, 0x2a, 0x27, 0x68, 0x03, 0x6e, 0x26, 0xfa, 0x52, 0xfd, 0xc4, 0xf0, 0x4e, 0xf4, 0x28, 0x1f,
-	0x56, 0xe3, 0xc6, 0xb3, 0x65, 0x78, 0x27, 0x6d, 0xb3, 0xf6, 0x9f, 0x74, 0x70, 0x26, 0x01, 0x47,
-	0x1f, 0x61, 0xf1, 0xd8, 0xa7, 0x43, 0x9e, 0x14, 0x74, 0xf1, 0x71, 0x30, 0x4f, 0xf1, 0x28, 0x87,
-	0x14, 0x1d, 0x4e, 0x39, 0x80, 0x15, 0xdb, 0xb5, 0x46, 0x16, 0x35, 0xc6, 0xfa, 0x34, 0x77, 0x6a,
-	0x0e, 0xee, 0xe5, 0x90, 0x6b, 0x3f, 0xa9, 0xa3, 0x0d, 0xc5, 0x63, 0x6b, 0x4c, 0x24, 0x6d, 0x7a,
-	0x0e, 0xda, 0x02, 0x87, 0x0b, 0xaa, 0xbb, 0x50, 0x1a, 0x5b, 0x94, 0xe8, 0xd4, 0x9f, 0x0c, 0x88,
-	0x2b, 0x5e, 0x34, 0x8d, 0x81, 0x2f, 0x75, 0xc4, 0x0a, 0xba, 0x07, 0x8b, 0x43, 0x7b, 0xec, 0x4f,
-	0x68, 0x28, 0x92, 0x15, 0x22, 0x65, 0xb9, 0x18, 0x08, 0x35, 0xa0, 0x34, 0xb6, 0x0d, 0x53, 0x9f,
-	0xd8, 0xa6, 0x3f, 0x0e, 0xbf, 0x51, 0xae, 0x6a, 0xa8, 0xdf, 0x0b, 0x41, 0x0c, 0x1c, 0x25, 0xc7,
-	0xa8, 0x07, 0x15, 0xd9, 0x1a, 0xeb, 0x67, 0xc4, 0xf5, 0x78, 0x25, 0xcf, 0xcf, 0x61, 0xd9, 0xa2,
-	0xe4, 0x38, 0x92, 0x14, 0xb5, 0xdf, 0x2b, 0x50, 0x4a, 0xf8, 0x0e, 0xda, 0x87, 0xac, 0x70, 0xbf,
-	0x59, 0x5a, 0xd8, 0x2f, 0x79, 0x1f, 0x96, 0x70, 0xf4, 0x18, 0x96, 0xc3, 0xb4, 0x22, 0xdd, 0x79,
-	0x2a, 0xaf, 0xa0, 0x60, 0x4f, 0x2a, 0x95, 0x89, 0xe5, 0xaf, 0x0a, 0xe4, 0x02, 0x4b, 0xf7, 0x20,
-	0x17, 0x5c, 0xd4, 0x3c, 0xee, 0x16, 0x60, 0xd1, 0xcf, 0xa0, 0x30, 0xf0, 0x79, 0x9b, 0x1f, 0xb8,
-	0xfb, 0xff, 0xcb, 0x93, 0x17, 0xe8, 0xb6, 0x59, 0xff, 0x15, 0x2c, 0x5d, 0xda, 0x8d, 0xdb, 0x70,
-	0x25, 0xd1, 0x86, 0x73, 0xb3, 0x99, 0x14, 0x25, 0xa6, 0x3e, 0x38, 0x67, 0x64, 0xda, 0xec, 0x68,
-	0xaf, 0x71, 0xce, 0x88, 0x30, 0xbb, 0xf1, 0x27, 0x05, 0xee, 0x58, 0xf6, 0xd7, 0x0f, 0xd6, 0x90,
-	0x9f, 0x18, 0x5d, 0xbe, 0xd8, 0x55, 0x7e, 0xd9, 0x18, 0x59, 0xec, 0xc4, 0x1f, 0x68, 0x43, 0x7b,
-	0xb2, 0x29, 0xe5, 0x37, 0x2c, 0xea, 0x31, 0xd7, 0x9f, 0x10, 0x2a, 0x8b, 0xf7, 0x66, 0x4c, 0xb5,
-	0x21, 0xff, 0xe3, 0x18, 0x11, 0xba, 0x31, 0x8a, 0xff, 0x2c, 0xf9, 0x77, 0x6a, 0xf5, 0x83, 0x43,
-	0xe8, 0xae, 0xd4, 0x26, 0x88, 0x65, 0xb1, 0xd2, 0x8e, 0xb6, 0x06, 0x39, 0x01, 0x79, 0xf2, 0xbf,
-	0x00, 0x00, 0x00, 0xff, 0xff, 0xcb, 0x56, 0xb6, 0xfd, 0x6c, 0x11, 0x00, 0x00,
-}
diff --git a/third_party/go/opencensus-proto/gen-go/trace/v1/trace_config.pb.go b/third_party/go/opencensus-proto/gen-go/trace/v1/trace_config.pb.go
deleted file mode 100644
index 0253877..0000000
--- a/third_party/go/opencensus-proto/gen-go/trace/v1/trace_config.pb.go
+++ /dev/null
@@ -1,359 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// source: opencensus/proto/trace/v1/trace_config.proto
-
-package v1
-
-import (
-	fmt "fmt"
-	proto "github.com/golang/protobuf/proto"
-	math "math"
-)
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the proto package it is being compiled against.
-// A compilation error at this line likely means your copy of the
-// proto package needs to be updated.
-const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
-
-// How spans should be sampled:
-// - Always off
-// - Always on
-// - Always follow the parent Span's decision (off if no parent).
-type ConstantSampler_ConstantDecision int32
-
-const (
-	ConstantSampler_ALWAYS_OFF    ConstantSampler_ConstantDecision = 0
-	ConstantSampler_ALWAYS_ON     ConstantSampler_ConstantDecision = 1
-	ConstantSampler_ALWAYS_PARENT ConstantSampler_ConstantDecision = 2
-)
-
-var ConstantSampler_ConstantDecision_name = map[int32]string{
-	0: "ALWAYS_OFF",
-	1: "ALWAYS_ON",
-	2: "ALWAYS_PARENT",
-}
-
-var ConstantSampler_ConstantDecision_value = map[string]int32{
-	"ALWAYS_OFF":    0,
-	"ALWAYS_ON":     1,
-	"ALWAYS_PARENT": 2,
-}
-
-func (x ConstantSampler_ConstantDecision) String() string {
-	return proto.EnumName(ConstantSampler_ConstantDecision_name, int32(x))
-}
-
-func (ConstantSampler_ConstantDecision) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_5359209b41ff50c5, []int{2, 0}
-}
-
-// Global configuration of the trace service. All fields must be specified, or
-// the default (zero) values will be used for each type.
-type TraceConfig struct {
-	// The global default sampler used to make decisions on span sampling.
-	//
-	// Types that are valid to be assigned to Sampler:
-	//	*TraceConfig_ProbabilitySampler
-	//	*TraceConfig_ConstantSampler
-	//	*TraceConfig_RateLimitingSampler
-	Sampler isTraceConfig_Sampler `protobuf_oneof:"sampler"`
-	// The global default max number of attributes per span.
-	MaxNumberOfAttributes int64 `protobuf:"varint,4,opt,name=max_number_of_attributes,json=maxNumberOfAttributes,proto3" json:"max_number_of_attributes,omitempty"`
-	// The global default max number of annotation events per span.
-	MaxNumberOfAnnotations int64 `protobuf:"varint,5,opt,name=max_number_of_annotations,json=maxNumberOfAnnotations,proto3" json:"max_number_of_annotations,omitempty"`
-	// The global default max number of message events per span.
-	MaxNumberOfMessageEvents int64 `protobuf:"varint,6,opt,name=max_number_of_message_events,json=maxNumberOfMessageEvents,proto3" json:"max_number_of_message_events,omitempty"`
-	// The global default max number of link entries per span.
-	MaxNumberOfLinks     int64    `protobuf:"varint,7,opt,name=max_number_of_links,json=maxNumberOfLinks,proto3" json:"max_number_of_links,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *TraceConfig) Reset()         { *m = TraceConfig{} }
-func (m *TraceConfig) String() string { return proto.CompactTextString(m) }
-func (*TraceConfig) ProtoMessage()    {}
-func (*TraceConfig) Descriptor() ([]byte, []int) {
-	return fileDescriptor_5359209b41ff50c5, []int{0}
-}
-
-func (m *TraceConfig) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_TraceConfig.Unmarshal(m, b)
-}
-func (m *TraceConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_TraceConfig.Marshal(b, m, deterministic)
-}
-func (m *TraceConfig) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_TraceConfig.Merge(m, src)
-}
-func (m *TraceConfig) XXX_Size() int {
-	return xxx_messageInfo_TraceConfig.Size(m)
-}
-func (m *TraceConfig) XXX_DiscardUnknown() {
-	xxx_messageInfo_TraceConfig.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_TraceConfig proto.InternalMessageInfo
-
-type isTraceConfig_Sampler interface {
-	isTraceConfig_Sampler()
-}
-
-type TraceConfig_ProbabilitySampler struct {
-	ProbabilitySampler *ProbabilitySampler `protobuf:"bytes,1,opt,name=probability_sampler,json=probabilitySampler,proto3,oneof"`
-}
-
-type TraceConfig_ConstantSampler struct {
-	ConstantSampler *ConstantSampler `protobuf:"bytes,2,opt,name=constant_sampler,json=constantSampler,proto3,oneof"`
-}
-
-type TraceConfig_RateLimitingSampler struct {
-	RateLimitingSampler *RateLimitingSampler `protobuf:"bytes,3,opt,name=rate_limiting_sampler,json=rateLimitingSampler,proto3,oneof"`
-}
-
-func (*TraceConfig_ProbabilitySampler) isTraceConfig_Sampler() {}
-
-func (*TraceConfig_ConstantSampler) isTraceConfig_Sampler() {}
-
-func (*TraceConfig_RateLimitingSampler) isTraceConfig_Sampler() {}
-
-func (m *TraceConfig) GetSampler() isTraceConfig_Sampler {
-	if m != nil {
-		return m.Sampler
-	}
-	return nil
-}
-
-func (m *TraceConfig) GetProbabilitySampler() *ProbabilitySampler {
-	if x, ok := m.GetSampler().(*TraceConfig_ProbabilitySampler); ok {
-		return x.ProbabilitySampler
-	}
-	return nil
-}
-
-func (m *TraceConfig) GetConstantSampler() *ConstantSampler {
-	if x, ok := m.GetSampler().(*TraceConfig_ConstantSampler); ok {
-		return x.ConstantSampler
-	}
-	return nil
-}
-
-func (m *TraceConfig) GetRateLimitingSampler() *RateLimitingSampler {
-	if x, ok := m.GetSampler().(*TraceConfig_RateLimitingSampler); ok {
-		return x.RateLimitingSampler
-	}
-	return nil
-}
-
-func (m *TraceConfig) GetMaxNumberOfAttributes() int64 {
-	if m != nil {
-		return m.MaxNumberOfAttributes
-	}
-	return 0
-}
-
-func (m *TraceConfig) GetMaxNumberOfAnnotations() int64 {
-	if m != nil {
-		return m.MaxNumberOfAnnotations
-	}
-	return 0
-}
-
-func (m *TraceConfig) GetMaxNumberOfMessageEvents() int64 {
-	if m != nil {
-		return m.MaxNumberOfMessageEvents
-	}
-	return 0
-}
-
-func (m *TraceConfig) GetMaxNumberOfLinks() int64 {
-	if m != nil {
-		return m.MaxNumberOfLinks
-	}
-	return 0
-}
-
-// XXX_OneofWrappers is for the internal use of the proto package.
-func (*TraceConfig) XXX_OneofWrappers() []interface{} {
-	return []interface{}{
-		(*TraceConfig_ProbabilitySampler)(nil),
-		(*TraceConfig_ConstantSampler)(nil),
-		(*TraceConfig_RateLimitingSampler)(nil),
-	}
-}
-
-// Sampler that tries to uniformly sample traces with a given probability.
-// The probability of sampling a trace is equal to that of the specified probability.
-type ProbabilitySampler struct {
-	// The desired probability of sampling. Must be within [0.0, 1.0].
-	SamplingProbability  float64  `protobuf:"fixed64,1,opt,name=samplingProbability,proto3" json:"samplingProbability,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *ProbabilitySampler) Reset()         { *m = ProbabilitySampler{} }
-func (m *ProbabilitySampler) String() string { return proto.CompactTextString(m) }
-func (*ProbabilitySampler) ProtoMessage()    {}
-func (*ProbabilitySampler) Descriptor() ([]byte, []int) {
-	return fileDescriptor_5359209b41ff50c5, []int{1}
-}
-
-func (m *ProbabilitySampler) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_ProbabilitySampler.Unmarshal(m, b)
-}
-func (m *ProbabilitySampler) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_ProbabilitySampler.Marshal(b, m, deterministic)
-}
-func (m *ProbabilitySampler) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_ProbabilitySampler.Merge(m, src)
-}
-func (m *ProbabilitySampler) XXX_Size() int {
-	return xxx_messageInfo_ProbabilitySampler.Size(m)
-}
-func (m *ProbabilitySampler) XXX_DiscardUnknown() {
-	xxx_messageInfo_ProbabilitySampler.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_ProbabilitySampler proto.InternalMessageInfo
-
-func (m *ProbabilitySampler) GetSamplingProbability() float64 {
-	if m != nil {
-		return m.SamplingProbability
-	}
-	return 0
-}
-
-// Sampler that always makes a constant decision on span sampling.
-type ConstantSampler struct {
-	Decision             ConstantSampler_ConstantDecision `protobuf:"varint,1,opt,name=decision,proto3,enum=opencensus.proto.trace.v1.ConstantSampler_ConstantDecision" json:"decision,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}                         `json:"-"`
-	XXX_unrecognized     []byte                           `json:"-"`
-	XXX_sizecache        int32                            `json:"-"`
-}
-
-func (m *ConstantSampler) Reset()         { *m = ConstantSampler{} }
-func (m *ConstantSampler) String() string { return proto.CompactTextString(m) }
-func (*ConstantSampler) ProtoMessage()    {}
-func (*ConstantSampler) Descriptor() ([]byte, []int) {
-	return fileDescriptor_5359209b41ff50c5, []int{2}
-}
-
-func (m *ConstantSampler) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_ConstantSampler.Unmarshal(m, b)
-}
-func (m *ConstantSampler) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_ConstantSampler.Marshal(b, m, deterministic)
-}
-func (m *ConstantSampler) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_ConstantSampler.Merge(m, src)
-}
-func (m *ConstantSampler) XXX_Size() int {
-	return xxx_messageInfo_ConstantSampler.Size(m)
-}
-func (m *ConstantSampler) XXX_DiscardUnknown() {
-	xxx_messageInfo_ConstantSampler.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_ConstantSampler proto.InternalMessageInfo
-
-func (m *ConstantSampler) GetDecision() ConstantSampler_ConstantDecision {
-	if m != nil {
-		return m.Decision
-	}
-	return ConstantSampler_ALWAYS_OFF
-}
-
-// Sampler that tries to sample with a rate per time window.
-type RateLimitingSampler struct {
-	// Rate per second.
-	Qps                  int64    `protobuf:"varint,1,opt,name=qps,proto3" json:"qps,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *RateLimitingSampler) Reset()         { *m = RateLimitingSampler{} }
-func (m *RateLimitingSampler) String() string { return proto.CompactTextString(m) }
-func (*RateLimitingSampler) ProtoMessage()    {}
-func (*RateLimitingSampler) Descriptor() ([]byte, []int) {
-	return fileDescriptor_5359209b41ff50c5, []int{3}
-}
-
-func (m *RateLimitingSampler) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_RateLimitingSampler.Unmarshal(m, b)
-}
-func (m *RateLimitingSampler) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_RateLimitingSampler.Marshal(b, m, deterministic)
-}
-func (m *RateLimitingSampler) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_RateLimitingSampler.Merge(m, src)
-}
-func (m *RateLimitingSampler) XXX_Size() int {
-	return xxx_messageInfo_RateLimitingSampler.Size(m)
-}
-func (m *RateLimitingSampler) XXX_DiscardUnknown() {
-	xxx_messageInfo_RateLimitingSampler.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_RateLimitingSampler proto.InternalMessageInfo
-
-func (m *RateLimitingSampler) GetQps() int64 {
-	if m != nil {
-		return m.Qps
-	}
-	return 0
-}
-
-func init() {
-	proto.RegisterEnum("opencensus.proto.trace.v1.ConstantSampler_ConstantDecision", ConstantSampler_ConstantDecision_name, ConstantSampler_ConstantDecision_value)
-	proto.RegisterType((*TraceConfig)(nil), "opencensus.proto.trace.v1.TraceConfig")
-	proto.RegisterType((*ProbabilitySampler)(nil), "opencensus.proto.trace.v1.ProbabilitySampler")
-	proto.RegisterType((*ConstantSampler)(nil), "opencensus.proto.trace.v1.ConstantSampler")
-	proto.RegisterType((*RateLimitingSampler)(nil), "opencensus.proto.trace.v1.RateLimitingSampler")
-}
-
-func init() {
-	proto.RegisterFile("opencensus/proto/trace/v1/trace_config.proto", fileDescriptor_5359209b41ff50c5)
-}
-
-var fileDescriptor_5359209b41ff50c5 = []byte{
-	// 506 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x93, 0xc1, 0x6e, 0xd3, 0x30,
-	0x18, 0xc7, 0x97, 0x76, 0x6c, 0xec, 0x9b, 0xb6, 0x05, 0x57, 0x43, 0xa9, 0xb4, 0xc3, 0x94, 0x0b,
-	0x13, 0x22, 0x09, 0x1d, 0x07, 0x84, 0x90, 0x90, 0xda, 0x6e, 0x15, 0x87, 0xd2, 0x56, 0xd9, 0x44,
-	0x05, 0x97, 0xe0, 0x64, 0x6e, 0xb0, 0x68, 0xec, 0x60, 0x3b, 0xd5, 0x78, 0x0d, 0xce, 0x3c, 0x04,
-	0xcf, 0xc5, 0x53, 0xa0, 0x3a, 0x21, 0x49, 0xdb, 0x6d, 0xe2, 0x96, 0xef, 0xfb, 0x7f, 0xbf, 0x9f,
-	0xad, 0xd8, 0x86, 0x17, 0x3c, 0x25, 0x2c, 0x22, 0x4c, 0x66, 0xd2, 0x4b, 0x05, 0x57, 0xdc, 0x53,
-	0x02, 0x47, 0xc4, 0x5b, 0x74, 0xf2, 0x8f, 0x20, 0xe2, 0x6c, 0x46, 0x63, 0x57, 0x67, 0xa8, 0x5d,
-	0x4d, 0xe7, 0x1d, 0x57, 0x0f, 0xb9, 0x8b, 0x8e, 0xfd, 0x6b, 0x1b, 0xf6, 0xaf, 0x97, 0x45, 0x5f,
-	0x03, 0xe8, 0x0b, 0xb4, 0x52, 0xc1, 0x43, 0x1c, 0xd2, 0x39, 0x55, 0x3f, 0x02, 0x89, 0x93, 0x74,
-	0x4e, 0x84, 0x65, 0x9c, 0x1a, 0x67, 0xfb, 0xe7, 0x8e, 0x7b, 0xaf, 0xc8, 0x9d, 0x54, 0xd4, 0x55,
-	0x0e, 0xbd, 0xdf, 0xf2, 0x51, 0xba, 0xd1, 0x45, 0x53, 0x30, 0x23, 0xce, 0xa4, 0xc2, 0x4c, 0x95,
-	0xfa, 0x86, 0xd6, 0x3f, 0x7f, 0x40, 0xdf, 0x2f, 0x90, 0xca, 0x7d, 0x14, 0xad, 0xb6, 0xd0, 0x0d,
-	0x1c, 0x0b, 0xac, 0x48, 0x30, 0xa7, 0x09, 0x55, 0x94, 0xc5, 0xa5, 0xbd, 0xa9, 0xed, 0xee, 0x03,
-	0x76, 0x1f, 0x2b, 0x32, 0x2c, 0xb0, 0x6a, 0x85, 0x96, 0xd8, 0x6c, 0xa3, 0xd7, 0x60, 0x25, 0xf8,
-	0x36, 0x60, 0x59, 0x12, 0x12, 0x11, 0xf0, 0x59, 0x80, 0x95, 0x12, 0x34, 0xcc, 0x14, 0x91, 0xd6,
-	0xf6, 0xa9, 0x71, 0xd6, 0xf4, 0x8f, 0x13, 0x7c, 0x3b, 0xd2, 0xf1, 0x78, 0xd6, 0x2d, 0x43, 0xf4,
-	0x06, 0xda, 0x6b, 0x20, 0x63, 0x5c, 0x61, 0x45, 0x39, 0x93, 0xd6, 0x23, 0x4d, 0x3e, 0xad, 0x93,
-	0x55, 0x8a, 0xde, 0xc1, 0xc9, 0x2a, 0x9a, 0x10, 0x29, 0x71, 0x4c, 0x02, 0xb2, 0x20, 0x4c, 0x49,
-	0x6b, 0x47, 0xd3, 0x56, 0x8d, 0xfe, 0x90, 0x0f, 0x5c, 0xea, 0x1c, 0x39, 0xd0, 0x5a, 0xe5, 0xe7,
-	0x94, 0x7d, 0x93, 0xd6, 0xae, 0xc6, 0xcc, 0x1a, 0x36, 0x5c, 0xf6, 0x7b, 0x7b, 0xb0, 0x5b, 0xfc,
-	0x3a, 0x7b, 0x00, 0x68, 0xf3, 0x60, 0xd1, 0x4b, 0x68, 0xe9, 0x01, 0xca, 0xe2, 0x5a, 0xaa, 0x2f,
-	0x89, 0xe1, 0xdf, 0x15, 0xd9, 0xbf, 0x0d, 0x38, 0x5a, 0x3b, 0x42, 0x34, 0x85, 0xc7, 0x37, 0x24,
-	0xa2, 0x92, 0x72, 0xa6, 0xd1, 0xc3, 0xf3, 0xb7, 0xff, 0x7f, 0x01, 0xca, 0xfa, 0xa2, 0x50, 0xf8,
-	0xa5, 0xcc, 0xbe, 0x00, 0x73, 0x3d, 0x45, 0x87, 0x00, 0xdd, 0xe1, 0xb4, 0xfb, 0xe9, 0x2a, 0x18,
-	0x0f, 0x06, 0xe6, 0x16, 0x3a, 0x80, 0xbd, 0x7f, 0xf5, 0xc8, 0x34, 0xd0, 0x13, 0x38, 0x28, 0xca,
-	0x49, 0xd7, 0xbf, 0x1c, 0x5d, 0x9b, 0x0d, 0xfb, 0x19, 0xb4, 0xee, 0xb8, 0x16, 0xc8, 0x84, 0xe6,
-	0xf7, 0x54, 0xea, 0x0d, 0x37, 0xfd, 0xe5, 0x67, 0xef, 0xa7, 0x01, 0x27, 0x94, 0xdf, 0xbf, 0xf5,
-	0x9e, 0x59, 0x7b, 0x60, 0x93, 0x65, 0x34, 0x31, 0x3e, 0xf7, 0x62, 0xaa, 0xbe, 0x66, 0xa1, 0x1b,
-	0xf1, 0xc4, 0xcb, 0x29, 0x87, 0x32, 0xa9, 0x44, 0x96, 0x10, 0x96, 0x1f, 0xbb, 0x57, 0x09, 0x9d,
-	0xfc, 0x89, 0xc7, 0x84, 0x39, 0x71, 0xf5, 0xd2, 0xff, 0x34, 0xda, 0xe3, 0x94, 0xb0, 0x7e, 0xbe,
-	0xa6, 0x16, 0xbb, 0x7a, 0x25, 0xf7, 0x63, 0x27, 0xdc, 0xd1, 0xc8, 0xab, 0xbf, 0x01, 0x00, 0x00,
-	0xff, 0xff, 0x50, 0x0c, 0xfe, 0x32, 0x29, 0x04, 0x00, 0x00,
-}
diff --git a/third_party/go/repositories.bzl b/third_party/go/repositories.bzl
index 8449dd3..2a9c249 100644
--- a/third_party/go/repositories.bzl
+++ b/third_party/go/repositories.bzl
@@ -26,8 +26,9 @@
         name = "com_github_bitnami_kubecfg",
         importpath = "github.com/bitnami/kubecfg",
         vcs = "git",
-        commit = "b6817a94492c561ed61a44eeea2d92dcf2e6b8c0",
+        commit = "5070ed28ed12016b0ca75dcfd257f567f581c095",
         remote = "https://github.com/q3k/kubecfg",
+        build_extra_args = ["-exclude=vendor"],
     )
 
     go_repository(
@@ -519,11 +520,6 @@
         tag = "v11.5.0",
     )
 
-    native.local_repository(
-        name = "com_github_census_instrumentation_opencensus_proto",
-        path = "./third_party/go/opencensus-proto",
-    )
-
     go_repository(
         name = "com_github_client9_misspell",
         importpath = "github.com/client9/misspell",
@@ -552,12 +548,14 @@
         name = "com_github_docker_cli",
         commit = "54c19e67f69c",
         importpath = "github.com/docker/cli",
+        build_extra_args = ["-exclude=vendor"],
     )
 
     go_repository(
         name = "com_github_docker_distribution",
         importpath = "github.com/docker/distribution",
         tag = "v2.7.1",
+        build_extra_args = ["-exclude=vendor"],
     )
 
     go_repository(
@@ -570,6 +568,7 @@
         name = "com_github_docker_docker_ce",
         commit = "f53bd8bb8e43",
         importpath = "github.com/docker/docker-ce",
+        build_extra_args = ["-exclude=components/cli/vendor"],
     )
 
     go_repository(
@@ -636,6 +635,7 @@
         name = "com_github_genuinetools_reg",
         commit = "d959057b30da",
         importpath = "github.com/genuinetools/reg",
+        build_extra_args = ["-exclude=vendor"],
     )
 
     go_repository(
@@ -695,7 +695,8 @@
     go_repository(
         name = "com_github_grpc_ecosystem_grpc_gateway",
         importpath = "github.com/grpc-ecosystem/grpc-gateway",
-        tag = "v1.9.5",
+        sum = "h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo=",
+        version = "v1.16.0",
     )
 
     go_repository(
@@ -916,7 +917,8 @@
     go_repository(
         name = "io_opencensus_go_contrib_exporter_ocagent",
         importpath = "contrib.go.opencensus.io/exporter/ocagent",
-        tag = "v0.6.0",
+        sum = "h1:BEfdCTXfMV30tLZD8c9n64V/tIZX5+9sXiuFLnrr1k8=",
+        version = "v0.7.0",
     )
 
     go_repository(
@@ -1781,3 +1783,10 @@
         sum = "h1:K6V0Kwa5efKo60sqbTk1FOBbltdyX9Klw2a9+lKhA18=",
         version = "v0.0.0-20201101162038-25d840ce174a",
     )
+    go_repository(
+        name = "com_github_census_instrumentation_opencensus_proto",
+        importpath = "github.com/census-instrumentation/opencensus-proto",
+        sum = "h1:t/LhUZLVitR1Ow2YOnduCsavhwFUklBMoGVYUCqmCqk=",
+        version = "v0.3.0",
+        build_extra_args = ["-exclude=src"],
+    )