From cae7a4c0a192ac1f94e2278e503d59c7754b78b9 Mon Sep 17 00:00:00 2001 From: Submarinee <17373067316@163.com> Date: Sat, 3 Jul 2021 21:01:21 +0800 Subject: [PATCH 01/26] Inventory the documentation for and examples of the OTLP exporter. --- exporters/otlp/otlptrace/README.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 exporters/otlp/otlptrace/README.md diff --git a/exporters/otlp/otlptrace/README.md b/exporters/otlp/otlptrace/README.md new file mode 100644 index 00000000000..17e4472e5e8 --- /dev/null +++ b/exporters/otlp/otlptrace/README.md @@ -0,0 +1,24 @@ +# Otlptrace Exporter + +To constructs a new Otlptrace Exporter and starts it: +``` +exp, err := otlptrace.New(ctx, opts...) +``` +# Otlptrace Client +Otlptrace package define a trace exporter that uses a `otlptrace.Client` . + +`otlptrace.Client` manages connections to the collector, handles the transformation of data into wire format, +and the transmission of that data to the collector. + +# Otlptracegrpc and Otlptracehttp +The otlptracegrpc and otlptracehttp implements a gRPC `otlptrace.Client` and +an HTTP `otlptrace.Client`respectively, +both offering convenience functions . + + +## Installation + +``` +go get -u go.opentelemetry.io/otel/exporters/otlp/otlptrace +``` + From cb6825c1e26ade3a171aa2c483c1ad221f0286ea Mon Sep 17 00:00:00 2001 From: Submarinee <17373067316@163.com> Date: Tue, 6 Jul 2021 14:45:56 +0800 Subject: [PATCH 02/26] modify the documentation for otlptrace exporter. --- exporters/otlp/otlptrace/README.md | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/exporters/otlp/otlptrace/README.md b/exporters/otlp/otlptrace/README.md index 17e4472e5e8..c51a5ecb9fd 100644 --- a/exporters/otlp/otlptrace/README.md +++ b/exporters/otlp/otlptrace/README.md @@ -1,24 +1,28 @@ -# Otlptrace Exporter +# OpenTelemetry-Go OTLP Span Exporter + +OpenTelemetry Protocol (OTLP) Span Exporter. To constructs a new Otlptrace Exporter and starts it: + ``` exp, err := otlptrace.New(ctx, opts...) ``` + +# Installation + +``` +go get -u go.opentelemetry.io/otel/exporters/otlp/otlptrace +``` + # Otlptrace Client + Otlptrace package define a trace exporter that uses a `otlptrace.Client` . -`otlptrace.Client` manages connections to the collector, handles the transformation of data into wire format, +`otlptrace.Client` manages connections to the collector, handles the transformation of data into wire format, and the transmission of that data to the collector. # Otlptracegrpc and Otlptracehttp -The otlptracegrpc and otlptracehttp implements a gRPC `otlptrace.Client` and + +The otlptracegrpc and otlptracehttp implements a gRPC `otlptrace.Client` and an HTTP `otlptrace.Client`respectively, both offering convenience functions . - - -## Installation - -``` -go get -u go.opentelemetry.io/otel/exporters/otlp/otlptrace -``` - From d07160119d58fbf385b4a408c724f263e01f38b0 Mon Sep 17 00:00:00 2001 From: Submarinee <45026656+Submarinee@users.noreply.github.com> Date: Wed, 7 Jul 2021 10:12:39 +0800 Subject: [PATCH 03/26] Update exporters/otlp/otlptrace/README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Robert Pająk --- exporters/otlp/otlptrace/README.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/exporters/otlp/otlptrace/README.md b/exporters/otlp/otlptrace/README.md index c51a5ecb9fd..f55a554fb1e 100644 --- a/exporters/otlp/otlptrace/README.md +++ b/exporters/otlp/otlptrace/README.md @@ -14,15 +14,17 @@ exp, err := otlptrace.New(ctx, opts...) go get -u go.opentelemetry.io/otel/exporters/otlp/otlptrace ``` -# Otlptrace Client +## [`otlptrace`](https://pkg.go.dev/go.opentelemetry.io/otel/exporters/otlp/otlptrace) -Otlptrace package define a trace exporter that uses a `otlptrace.Client` . +`otlptrace` package implements a span exporter that uses a `otlptrace.Client` interface. `otlptrace.Client` manages connections to the collector, handles the transformation of data into wire format, and the transmission of that data to the collector. -# Otlptracegrpc and Otlptracehttp +## [`otlptracegrpc`](https://pkg.go.dev/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc) -The otlptracegrpc and otlptracehttp implements a gRPC `otlptrace.Client` and -an HTTP `otlptrace.Client`respectively, -both offering convenience functions . +The `otlptracegrpc` package implements a gRPC span exporter. + +## [`otlptracehttp`](https://pkg.go.dev/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp) + +The `otlptracehttp` package implements a HTTP span exporter. From f22864336b27cb3d72f10c34cc1d891320f9ea77 Mon Sep 17 00:00:00 2001 From: Submarinee <45026656+Submarinee@users.noreply.github.com> Date: Wed, 7 Jul 2021 10:12:59 +0800 Subject: [PATCH 04/26] Update exporters/otlp/otlptrace/README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Robert Pająk --- exporters/otlp/otlptrace/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exporters/otlp/otlptrace/README.md b/exporters/otlp/otlptrace/README.md index f55a554fb1e..7b4383fe035 100644 --- a/exporters/otlp/otlptrace/README.md +++ b/exporters/otlp/otlptrace/README.md @@ -8,7 +8,7 @@ To constructs a new Otlptrace Exporter and starts it: exp, err := otlptrace.New(ctx, opts...) ``` -# Installation +## Installation ``` go get -u go.opentelemetry.io/otel/exporters/otlp/otlptrace From cd897ea722993d178bd7ec3d9dd1b45885096bfc Mon Sep 17 00:00:00 2001 From: Submarinee <45026656+Submarinee@users.noreply.github.com> Date: Sun, 25 Jul 2021 20:20:40 +0800 Subject: [PATCH 05/26] Update exporters/otlp/otlptrace/README.md Co-authored-by: Tyler Yahn --- exporters/otlp/otlptrace/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exporters/otlp/otlptrace/README.md b/exporters/otlp/otlptrace/README.md index 7b4383fe035..e566e269a00 100644 --- a/exporters/otlp/otlptrace/README.md +++ b/exporters/otlp/otlptrace/README.md @@ -27,4 +27,4 @@ The `otlptracegrpc` package implements a gRPC span exporter. ## [`otlptracehttp`](https://pkg.go.dev/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp) -The `otlptracehttp` package implements a HTTP span exporter. +The `otlptracehttp` package implements a HTTP client to be used in the span exporter. From e3edec99235b5c2c9b355a2a0bb0455f9499785a Mon Sep 17 00:00:00 2001 From: Submarinee <45026656+Submarinee@users.noreply.github.com> Date: Sun, 25 Jul 2021 20:20:46 +0800 Subject: [PATCH 06/26] Update exporters/otlp/otlptrace/README.md Co-authored-by: Tyler Yahn --- exporters/otlp/otlptrace/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exporters/otlp/otlptrace/README.md b/exporters/otlp/otlptrace/README.md index e566e269a00..ea434f2423c 100644 --- a/exporters/otlp/otlptrace/README.md +++ b/exporters/otlp/otlptrace/README.md @@ -23,7 +23,7 @@ and the transmission of that data to the collector. ## [`otlptracegrpc`](https://pkg.go.dev/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc) -The `otlptracegrpc` package implements a gRPC span exporter. +The `otlptracegrpc` package implements a gRPC client to be used in the span exporter. ## [`otlptracehttp`](https://pkg.go.dev/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp) From 5608a4aa5af57c480b45b584106182c27bb349f7 Mon Sep 17 00:00:00 2001 From: Submarinee <45026656+Submarinee@users.noreply.github.com> Date: Sun, 25 Jul 2021 20:20:51 +0800 Subject: [PATCH 07/26] Update exporters/otlp/otlptrace/README.md Co-authored-by: Tyler Yahn --- exporters/otlp/otlptrace/README.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/exporters/otlp/otlptrace/README.md b/exporters/otlp/otlptrace/README.md index ea434f2423c..a41b3a0b3d0 100644 --- a/exporters/otlp/otlptrace/README.md +++ b/exporters/otlp/otlptrace/README.md @@ -16,10 +16,9 @@ go get -u go.opentelemetry.io/otel/exporters/otlp/otlptrace ## [`otlptrace`](https://pkg.go.dev/go.opentelemetry.io/otel/exporters/otlp/otlptrace) -`otlptrace` package implements a span exporter that uses a `otlptrace.Client` interface. - -`otlptrace.Client` manages connections to the collector, handles the transformation of data into wire format, -and the transmission of that data to the collector. +The `otlptrace` package provides an exporter implementing the OTel span exporter interface. +This exporter is configured using a client satisfying the `otlptrace.Client` interface. +This client handles the transformation of data into wire format and the transmission of that data to the collector. ## [`otlptracegrpc`](https://pkg.go.dev/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc) From 1b02defe8a2564214c92f32fe142a7147f0f71b8 Mon Sep 17 00:00:00 2001 From: Submarinee <17373067316@163.com> Date: Sun, 25 Jul 2021 22:06:51 +0800 Subject: [PATCH 08/26] add otlptrace example_test.go --- exporters/otlp/otlptrace/README.md | 4 - exporters/otlp/otlptrace/example_test.go | 94 ++++++++++++++++++++++++ 2 files changed, 94 insertions(+), 4 deletions(-) create mode 100644 exporters/otlp/otlptrace/example_test.go diff --git a/exporters/otlp/otlptrace/README.md b/exporters/otlp/otlptrace/README.md index 7b4383fe035..885fbf74fa1 100644 --- a/exporters/otlp/otlptrace/README.md +++ b/exporters/otlp/otlptrace/README.md @@ -2,11 +2,7 @@ OpenTelemetry Protocol (OTLP) Span Exporter. -To constructs a new Otlptrace Exporter and starts it: -``` -exp, err := otlptrace.New(ctx, opts...) -``` ## Installation diff --git a/exporters/otlp/otlptrace/example_test.go b/exporters/otlp/otlptrace/example_test.go new file mode 100644 index 00000000000..e1e613c6d2f --- /dev/null +++ b/exporters/otlp/otlptrace/example_test.go @@ -0,0 +1,94 @@ +// Copyright The OpenTelemetry Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package otlptrace_test + +import ( + "context" + "log" + + "go.opentelemetry.io/otel" + "go.opentelemetry.io/otel/exporters/otlp/otlptrace" + "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp" + "go.opentelemetry.io/otel/sdk/resource" + sdktrace "go.opentelemetry.io/otel/sdk/trace" + semconv "go.opentelemetry.io/otel/semconv/v1.4.0" + "go.opentelemetry.io/otel/trace" +) + +const ( + instrumentationName = "github.com/instrumentron" + instrumentationVersion = "v0.1.0" +) + +var ( + tracer = otel.GetTracerProvider().Tracer( + instrumentationName, + trace.WithInstrumentationVersion(instrumentationVersion), + trace.WithSchemaURL("https://opentelemetry.io/schemas/1.2.0"), + ) +) + +func add(ctx context.Context, x, y int64) int64 { + var span trace.Span + _, span = tracer.Start(ctx, "Addition") + defer span.End() + + return x + y +} + +func multiply(ctx context.Context, x, y int64) int64 { + var span trace.Span + _, span = tracer.Start(ctx, "Multiplication") + defer span.End() + + return x * y +} + +func Resource() *resource.Resource { + return resource.NewWithAttributes( + semconv.SchemaURL, + semconv.ServiceNameKey.String("stdout-example"), + semconv.ServiceVersionKey.String("0.0.1"), + ) +} + +func InstallExportPipeline(ctx context.Context) func() { + client := otlptracehttp.NewClient() + exporter, err := otlptrace.New(ctx, client) + if err != nil { + log.Fatalf("creating stdout exporter: %v", err) + } + + tracerProvider := sdktrace.NewTracerProvider( + sdktrace.WithBatcher(exporter), + sdktrace.WithResource(Resource()), + ) + otel.SetTracerProvider(tracerProvider) + + return func() { + if err := tracerProvider.Shutdown(ctx); err != nil { + log.Fatalf("stopping tracer provider: %v", err) + } + } +} + +func Example() { + ctx := context.Background() + // Registers a tracer Provider globally. + cleanup := InstallExportPipeline(ctx) + defer cleanup() + + log.Println("the answer is", add(ctx, multiply(ctx, multiply(ctx, 2, 2), 10), 2)) +} From af8e6ab24684f5b2a1d9fba0ebd8b5f7ec1b0e35 Mon Sep 17 00:00:00 2001 From: Submarinee <17373067316@163.com> Date: Sun, 25 Jul 2021 22:12:24 +0800 Subject: [PATCH 09/26] modify the documentation for otlptrace exporter. --- exporters/otlp/otlptrace/README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/exporters/otlp/otlptrace/README.md b/exporters/otlp/otlptrace/README.md index 885fbf74fa1..7f062c9da00 100644 --- a/exporters/otlp/otlptrace/README.md +++ b/exporters/otlp/otlptrace/README.md @@ -2,7 +2,8 @@ OpenTelemetry Protocol (OTLP) Span Exporter. - +To constructs a new Otlptrace Exporter ,you can follow this + [`example`](https://github.com/open-telemetry/opentelemetry-go/blob/main/exporters/otlp/otlptrace/example_test.go). ## Installation @@ -17,7 +18,7 @@ go get -u go.opentelemetry.io/otel/exporters/otlp/otlptrace `otlptrace.Client` manages connections to the collector, handles the transformation of data into wire format, and the transmission of that data to the collector. -## [`otlptracegrpc`](https://pkg.go.dev/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc) +##example The `otlptracegrpc` package implements a gRPC span exporter. From 4f1cd37edce676f93267eebadf458c278f9a8ced Mon Sep 17 00:00:00 2001 From: Submarinee <17373067316@163.com> Date: Sun, 25 Jul 2021 22:23:10 +0800 Subject: [PATCH 10/26] modify the documentation for otlptrace exporter. --- exporters/otlp/otlptrace/README.md | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/exporters/otlp/otlptrace/README.md b/exporters/otlp/otlptrace/README.md index 7f062c9da00..ada464fa65a 100644 --- a/exporters/otlp/otlptrace/README.md +++ b/exporters/otlp/otlptrace/README.md @@ -13,15 +13,14 @@ go get -u go.opentelemetry.io/otel/exporters/otlp/otlptrace ## [`otlptrace`](https://pkg.go.dev/go.opentelemetry.io/otel/exporters/otlp/otlptrace) -`otlptrace` package implements a span exporter that uses a `otlptrace.Client` interface. +The `otlptrace` package provides an exporter implementing the OTel span exporter interface. +This exporter is configured using a client satisfying the `otlptrace.Client` interface. +This client handles the transformation of data into wire format and the transmission of that data to the collector. -`otlptrace.Client` manages connections to the collector, handles the transformation of data into wire format, -and the transmission of that data to the collector. +## [`otlptracegrpc`](https://pkg.go.dev/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc) -##example - -The `otlptracegrpc` package implements a gRPC span exporter. +The `otlptracegrpc` package implements a gRPC client to be used in the span exporter. ## [`otlptracehttp`](https://pkg.go.dev/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp) -The `otlptracehttp` package implements a HTTP span exporter. +The `otlptracehttp` package implements a HTTP client to be used in the span exporter. \ No newline at end of file From 2ac78869baa918afcd1514492cce9cda7617ba08 Mon Sep 17 00:00:00 2001 From: Submarinee <45026656+Submarinee@users.noreply.github.com> Date: Fri, 30 Jul 2021 17:58:23 +0800 Subject: [PATCH 11/26] Update exporters/otlp/otlptrace/example_test.go Co-authored-by: Tyler Yahn --- exporters/otlp/otlptrace/example_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exporters/otlp/otlptrace/example_test.go b/exporters/otlp/otlptrace/example_test.go index e1e613c6d2f..c4a36cc06b0 100644 --- a/exporters/otlp/otlptrace/example_test.go +++ b/exporters/otlp/otlptrace/example_test.go @@ -36,7 +36,7 @@ var ( tracer = otel.GetTracerProvider().Tracer( instrumentationName, trace.WithInstrumentationVersion(instrumentationVersion), - trace.WithSchemaURL("https://opentelemetry.io/schemas/1.2.0"), + trace.WithSchemaURL(semconv.SchemaURL), ) ) From f6dea985cfc50b8eb52753b2bd9b3ef71353f92c Mon Sep 17 00:00:00 2001 From: Submarinee <45026656+Submarinee@users.noreply.github.com> Date: Fri, 30 Jul 2021 17:59:50 +0800 Subject: [PATCH 12/26] Update exporters/otlp/otlptrace/example_test.go Co-authored-by: Tyler Yahn --- exporters/otlp/otlptrace/example_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exporters/otlp/otlptrace/example_test.go b/exporters/otlp/otlptrace/example_test.go index c4a36cc06b0..0ed6f7a1895 100644 --- a/exporters/otlp/otlptrace/example_test.go +++ b/exporters/otlp/otlptrace/example_test.go @@ -68,7 +68,7 @@ func InstallExportPipeline(ctx context.Context) func() { client := otlptracehttp.NewClient() exporter, err := otlptrace.New(ctx, client) if err != nil { - log.Fatalf("creating stdout exporter: %v", err) + log.Fatalf("creating OTLP trace exporter: %v", err) } tracerProvider := sdktrace.NewTracerProvider( From b594d457cd59ec6ad1575bcd3d011b879381353b Mon Sep 17 00:00:00 2001 From: Submarinee <45026656+Submarinee@users.noreply.github.com> Date: Fri, 30 Jul 2021 18:24:26 +0800 Subject: [PATCH 13/26] Update exporters/otlp/otlptrace/example_test.go Co-authored-by: Tyler Yahn --- exporters/otlp/otlptrace/example_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exporters/otlp/otlptrace/example_test.go b/exporters/otlp/otlptrace/example_test.go index 0ed6f7a1895..848bee999b8 100644 --- a/exporters/otlp/otlptrace/example_test.go +++ b/exporters/otlp/otlptrace/example_test.go @@ -59,7 +59,7 @@ func multiply(ctx context.Context, x, y int64) int64 { func Resource() *resource.Resource { return resource.NewWithAttributes( semconv.SchemaURL, - semconv.ServiceNameKey.String("stdout-example"), + semconv.ServiceNameKey.String("otlptrace-example"), semconv.ServiceVersionKey.String("0.0.1"), ) } From 6ccfb2c6149dd615fc0edebb820128b0c2ca176d Mon Sep 17 00:00:00 2001 From: Submarinee <45026656+Submarinee@users.noreply.github.com> Date: Fri, 30 Jul 2021 18:24:38 +0800 Subject: [PATCH 14/26] Update exporters/otlp/otlptrace/README.md Co-authored-by: Tyler Yahn --- exporters/otlp/otlptrace/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/exporters/otlp/otlptrace/README.md b/exporters/otlp/otlptrace/README.md index ada464fa65a..31b857e7a9a 100644 --- a/exporters/otlp/otlptrace/README.md +++ b/exporters/otlp/otlptrace/README.md @@ -2,7 +2,7 @@ OpenTelemetry Protocol (OTLP) Span Exporter. -To constructs a new Otlptrace Exporter ,you can follow this +To constructs a new OTLP trace Exporter, you can follow this [`example`](https://github.com/open-telemetry/opentelemetry-go/blob/main/exporters/otlp/otlptrace/example_test.go). ## Installation @@ -23,4 +23,4 @@ The `otlptracegrpc` package implements a gRPC client to be used in the span expo ## [`otlptracehttp`](https://pkg.go.dev/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp) -The `otlptracehttp` package implements a HTTP client to be used in the span exporter. \ No newline at end of file +The `otlptracehttp` package implements a HTTP client to be used in the span exporter. From 1d274e49e5a18f1b6dac53ab94fd813ba32d50d3 Mon Sep 17 00:00:00 2001 From: Submarinee <45026656+Submarinee@users.noreply.github.com> Date: Fri, 30 Jul 2021 20:16:11 +0800 Subject: [PATCH 15/26] Update exporters/otlp/otlptrace/README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Robert Pająk --- exporters/otlp/otlptrace/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/exporters/otlp/otlptrace/README.md b/exporters/otlp/otlptrace/README.md index 31b857e7a9a..ce52ffbeae7 100644 --- a/exporters/otlp/otlptrace/README.md +++ b/exporters/otlp/otlptrace/README.md @@ -1,5 +1,7 @@ # OpenTelemetry-Go OTLP Span Exporter +[![Go Reference](https://pkg.go.dev/badge/go.opentelemetry.io/otel/exporters/otlp/otlptrace.svg)](https://pkg.go.dev/go.opentelemetry.io/otel/exporters/otlp/otlptrace) + OpenTelemetry Protocol (OTLP) Span Exporter. To constructs a new OTLP trace Exporter, you can follow this From 6061d42802c5822365145da13927bfe238f3b951 Mon Sep 17 00:00:00 2001 From: Submarinee <17373067316@163.com> Date: Fri, 30 Jul 2021 20:38:26 +0800 Subject: [PATCH 16/26] modify the documentation for otlptrace exporter. --- exporters/otlp/otlptrace/README.md | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/exporters/otlp/otlptrace/README.md b/exporters/otlp/otlptrace/README.md index ce52ffbeae7..1f0238d8d60 100644 --- a/exporters/otlp/otlptrace/README.md +++ b/exporters/otlp/otlptrace/README.md @@ -4,15 +4,22 @@ OpenTelemetry Protocol (OTLP) Span Exporter. -To constructs a new OTLP trace Exporter, you can follow this - [`example`](https://github.com/open-telemetry/opentelemetry-go/blob/main/exporters/otlp/otlptrace/example_test.go). - ## Installation ``` go get -u go.opentelemetry.io/otel/exporters/otlp/otlptrace ``` +## Example + +To constructs a new OTLP trace Exporter, you can follow this +[`OTLP Trace Exporter Example`](https://github.com/open-telemetry/opentelemetry-go/blob/main/exporters/otlp/otlptrace/example_test.go). + +Also,if you are not familiar with how to export trace and metric data from the OpenTelemetry-Go SDK to +the OpenTelemetry Collector, you can reference this +[`OpenTelemetry Collector Traces Example`](https://github.com/open-telemetry/opentelemetry-go/tree/main/example/otel-collector). + + ## [`otlptrace`](https://pkg.go.dev/go.opentelemetry.io/otel/exporters/otlp/otlptrace) The `otlptrace` package provides an exporter implementing the OTel span exporter interface. From c437e214419440bd47e7355880342745a646070c Mon Sep 17 00:00:00 2001 From: Submarinee <45026656+Submarinee@users.noreply.github.com> Date: Fri, 30 Jul 2021 20:47:17 +0800 Subject: [PATCH 17/26] Update exporters/otlp/otlptrace/README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Robert Pająk --- exporters/otlp/otlptrace/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exporters/otlp/otlptrace/README.md b/exporters/otlp/otlptrace/README.md index 1f0238d8d60..8ae1efabd45 100644 --- a/exporters/otlp/otlptrace/README.md +++ b/exporters/otlp/otlptrace/README.md @@ -2,7 +2,7 @@ [![Go Reference](https://pkg.go.dev/badge/go.opentelemetry.io/otel/exporters/otlp/otlptrace.svg)](https://pkg.go.dev/go.opentelemetry.io/otel/exporters/otlp/otlptrace) -OpenTelemetry Protocol (OTLP) Span Exporter. +[OpenTelemetry Protocol Exporter](https://github.com/open-telemetry/opentelemetry-specification/blob/v1.5.0/specification/protocol/exporter.md) implementation. ## Installation From 7ef6815267d7b924f8fdc7cc216061b8efff1e02 Mon Sep 17 00:00:00 2001 From: Submarinee <45026656+Submarinee@users.noreply.github.com> Date: Fri, 30 Jul 2021 21:25:50 +0800 Subject: [PATCH 18/26] Update exporters/otlp/otlptrace/README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Robert Pająk --- exporters/otlp/otlptrace/README.md | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/exporters/otlp/otlptrace/README.md b/exporters/otlp/otlptrace/README.md index 8ae1efabd45..08c3daec458 100644 --- a/exporters/otlp/otlptrace/README.md +++ b/exporters/otlp/otlptrace/README.md @@ -12,12 +12,8 @@ go get -u go.opentelemetry.io/otel/exporters/otlp/otlptrace ## Example -To constructs a new OTLP trace Exporter, you can follow this -[`OTLP Trace Exporter Example`](https://github.com/open-telemetry/opentelemetry-go/blob/main/exporters/otlp/otlptrace/example_test.go). - -Also,if you are not familiar with how to export trace and metric data from the OpenTelemetry-Go SDK to -the OpenTelemetry Collector, you can reference this -[`OpenTelemetry Collector Traces Example`](https://github.com/open-telemetry/opentelemetry-go/tree/main/example/otel-collector). +- [example_test.go](example_test.go) +- [../../example/otel-collector](../../example/otel-collector) ## [`otlptrace`](https://pkg.go.dev/go.opentelemetry.io/otel/exporters/otlp/otlptrace) From 50cfeaca5331917229a86cb9c4dbb9db7deaf92a Mon Sep 17 00:00:00 2001 From: Submarinee <45026656+Submarinee@users.noreply.github.com> Date: Fri, 30 Jul 2021 22:14:47 +0800 Subject: [PATCH 19/26] Update exporters/otlp/otlptrace/README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Robert Pająk --- exporters/otlp/otlptrace/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exporters/otlp/otlptrace/README.md b/exporters/otlp/otlptrace/README.md index 08c3daec458..b3694763bef 100644 --- a/exporters/otlp/otlptrace/README.md +++ b/exporters/otlp/otlptrace/README.md @@ -13,7 +13,7 @@ go get -u go.opentelemetry.io/otel/exporters/otlp/otlptrace ## Example - [example_test.go](example_test.go) -- [../../example/otel-collector](../../example/otel-collector) +- [../../../example/otel-collector](../../../example/otel-collector) ## [`otlptrace`](https://pkg.go.dev/go.opentelemetry.io/otel/exporters/otlp/otlptrace) From 1e4b69b60815f4ef24c74a11c21034f809ca2f87 Mon Sep 17 00:00:00 2001 From: Submarinee <45026656+Submarinee@users.noreply.github.com> Date: Thu, 19 Aug 2021 16:55:08 +0800 Subject: [PATCH 20/26] Update exporters/otlp/otlptrace/README.md Co-authored-by: Tyler Yahn --- exporters/otlp/otlptrace/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exporters/otlp/otlptrace/README.md b/exporters/otlp/otlptrace/README.md index b3694763bef..bb14f26fb8e 100644 --- a/exporters/otlp/otlptrace/README.md +++ b/exporters/otlp/otlptrace/README.md @@ -10,7 +10,7 @@ go get -u go.opentelemetry.io/otel/exporters/otlp/otlptrace ``` -## Example +## Examples - [example_test.go](example_test.go) - [../../../example/otel-collector](../../../example/otel-collector) From 5359244537a487250986a4c707bcefaa017bb477 Mon Sep 17 00:00:00 2001 From: Submarinee <45026656+Submarinee@users.noreply.github.com> Date: Thu, 19 Aug 2021 16:55:32 +0800 Subject: [PATCH 21/26] Update exporters/otlp/otlptrace/README.md Co-authored-by: Tyler Yahn --- exporters/otlp/otlptrace/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exporters/otlp/otlptrace/README.md b/exporters/otlp/otlptrace/README.md index bb14f26fb8e..7f1b8cd0051 100644 --- a/exporters/otlp/otlptrace/README.md +++ b/exporters/otlp/otlptrace/README.md @@ -13,7 +13,7 @@ go get -u go.opentelemetry.io/otel/exporters/otlp/otlptrace ## Examples - [example_test.go](example_test.go) -- [../../../example/otel-collector](../../../example/otel-collector) +- [Full example sending telemetry to a local collector](../../../example/otel-collector) ## [`otlptrace`](https://pkg.go.dev/go.opentelemetry.io/otel/exporters/otlp/otlptrace) From bf334b00bfeb6f8798fe59f2c53f5344d6993dbb Mon Sep 17 00:00:00 2001 From: Submarinee <45026656+Submarinee@users.noreply.github.com> Date: Thu, 19 Aug 2021 16:55:59 +0800 Subject: [PATCH 22/26] Update exporters/otlp/otlptrace/README.md Co-authored-by: Tyler Yahn --- exporters/otlp/otlptrace/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exporters/otlp/otlptrace/README.md b/exporters/otlp/otlptrace/README.md index 7f1b8cd0051..f1ac6e3186b 100644 --- a/exporters/otlp/otlptrace/README.md +++ b/exporters/otlp/otlptrace/README.md @@ -12,7 +12,7 @@ go get -u go.opentelemetry.io/otel/exporters/otlp/otlptrace ## Examples -- [example_test.go](example_test.go) +- [Exporter setup and examples](example_test.go) - [Full example sending telemetry to a local collector](../../../example/otel-collector) From 6df0c51b1f185c2664fdeb5056b9e551e42d86b4 Mon Sep 17 00:00:00 2001 From: Tyler Yahn Date: Thu, 2 Sep 2021 08:37:30 -0700 Subject: [PATCH 23/26] Move example to otlptracehttp package --- exporters/otlp/otlptrace/README.md | 2 +- exporters/otlp/otlptrace/{ => otlptracehttp}/example_test.go | 2 +- exporters/otlp/otlptrace/otlptracehttp/go.mod | 3 +++ 3 files changed, 5 insertions(+), 2 deletions(-) rename exporters/otlp/otlptrace/{ => otlptracehttp}/example_test.go (98%) diff --git a/exporters/otlp/otlptrace/README.md b/exporters/otlp/otlptrace/README.md index f1ac6e3186b..70c3813ab68 100644 --- a/exporters/otlp/otlptrace/README.md +++ b/exporters/otlp/otlptrace/README.md @@ -12,7 +12,7 @@ go get -u go.opentelemetry.io/otel/exporters/otlp/otlptrace ## Examples -- [Exporter setup and examples](example_test.go) +- [Exporter setup and examples](./otlptracehttp/example_test.go) - [Full example sending telemetry to a local collector](../../../example/otel-collector) diff --git a/exporters/otlp/otlptrace/example_test.go b/exporters/otlp/otlptrace/otlptracehttp/example_test.go similarity index 98% rename from exporters/otlp/otlptrace/example_test.go rename to exporters/otlp/otlptrace/otlptracehttp/example_test.go index 848bee999b8..d825d129f90 100644 --- a/exporters/otlp/otlptrace/example_test.go +++ b/exporters/otlp/otlptrace/otlptracehttp/example_test.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package otlptrace_test +package otlptracehttp_test import ( "context" diff --git a/exporters/otlp/otlptrace/otlptracehttp/go.mod b/exporters/otlp/otlptrace/otlptracehttp/go.mod index 19e7b51f1dc..906d413dc58 100644 --- a/exporters/otlp/otlptrace/otlptracehttp/go.mod +++ b/exporters/otlp/otlptrace/otlptracehttp/go.mod @@ -4,7 +4,10 @@ go 1.15 require ( github.com/stretchr/testify v1.7.0 + go.opentelemetry.io/otel v1.0.0-RC2 go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.0.0-RC2 + go.opentelemetry.io/otel/sdk v1.0.0-RC2 + go.opentelemetry.io/otel/trace v1.0.0-RC2 go.opentelemetry.io/proto/otlp v0.9.0 google.golang.org/protobuf v1.27.1 ) From 1fb0f7031e146609f21b95e3e609b8191c8f4614 Mon Sep 17 00:00:00 2001 From: Tyler Yahn Date: Thu, 2 Sep 2021 08:41:33 -0700 Subject: [PATCH 24/26] Unexport example functions --- exporters/otlp/otlptrace/otlptracehttp/example_test.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/exporters/otlp/otlptrace/otlptracehttp/example_test.go b/exporters/otlp/otlptrace/otlptracehttp/example_test.go index d825d129f90..60328ed6d89 100644 --- a/exporters/otlp/otlptrace/otlptracehttp/example_test.go +++ b/exporters/otlp/otlptrace/otlptracehttp/example_test.go @@ -56,7 +56,7 @@ func multiply(ctx context.Context, x, y int64) int64 { return x * y } -func Resource() *resource.Resource { +func newResource() *resource.Resource { return resource.NewWithAttributes( semconv.SchemaURL, semconv.ServiceNameKey.String("otlptrace-example"), @@ -64,7 +64,7 @@ func Resource() *resource.Resource { ) } -func InstallExportPipeline(ctx context.Context) func() { +func installExportPipeline(ctx context.Context) func() { client := otlptracehttp.NewClient() exporter, err := otlptrace.New(ctx, client) if err != nil { @@ -73,7 +73,7 @@ func InstallExportPipeline(ctx context.Context) func() { tracerProvider := sdktrace.NewTracerProvider( sdktrace.WithBatcher(exporter), - sdktrace.WithResource(Resource()), + sdktrace.WithResource(newResource()), ) otel.SetTracerProvider(tracerProvider) @@ -87,7 +87,7 @@ func InstallExportPipeline(ctx context.Context) func() { func Example() { ctx := context.Background() // Registers a tracer Provider globally. - cleanup := InstallExportPipeline(ctx) + cleanup := installExportPipeline(ctx) defer cleanup() log.Println("the answer is", add(ctx, multiply(ctx, multiply(ctx, 2, 2), 10), 2)) From aef81d73bdd13129554650208b29184193838802 Mon Sep 17 00:00:00 2001 From: Tyler Yahn Date: Thu, 2 Sep 2021 08:43:56 -0700 Subject: [PATCH 25/26] Fix markdownlint errors --- exporters/otlp/otlptrace/README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/exporters/otlp/otlptrace/README.md b/exporters/otlp/otlptrace/README.md index 70c3813ab68..1cacd5080e6 100644 --- a/exporters/otlp/otlptrace/README.md +++ b/exporters/otlp/otlptrace/README.md @@ -15,7 +15,6 @@ go get -u go.opentelemetry.io/otel/exporters/otlp/otlptrace - [Exporter setup and examples](./otlptracehttp/example_test.go) - [Full example sending telemetry to a local collector](../../../example/otel-collector) - ## [`otlptrace`](https://pkg.go.dev/go.opentelemetry.io/otel/exporters/otlp/otlptrace) The `otlptrace` package provides an exporter implementing the OTel span exporter interface. @@ -26,6 +25,6 @@ This client handles the transformation of data into wire format and the transmis The `otlptracegrpc` package implements a gRPC client to be used in the span exporter. -## [`otlptracehttp`](https://pkg.go.dev/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp) +## [`otlptracehttp`](https://pkg.go.dev/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp) The `otlptracehttp` package implements a HTTP client to be used in the span exporter. From 7201c27a2a2cf697ca51b75c611d8d338bd613ba Mon Sep 17 00:00:00 2001 From: Tyler Yahn Date: Thu, 2 Sep 2021 08:49:16 -0700 Subject: [PATCH 26/26] Specify payload types in README --- exporters/otlp/otlptrace/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/exporters/otlp/otlptrace/README.md b/exporters/otlp/otlptrace/README.md index 1cacd5080e6..dfdc575eab4 100644 --- a/exporters/otlp/otlptrace/README.md +++ b/exporters/otlp/otlptrace/README.md @@ -23,8 +23,8 @@ This client handles the transformation of data into wire format and the transmis ## [`otlptracegrpc`](https://pkg.go.dev/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc) -The `otlptracegrpc` package implements a gRPC client to be used in the span exporter. +The `otlptracegrpc` package implements a client for the span exporter that sends trace telemetry data to the collector using gRPC with protobuf-encoded payloads. ## [`otlptracehttp`](https://pkg.go.dev/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp) -The `otlptracehttp` package implements a HTTP client to be used in the span exporter. +The `otlptracehttp` package implements a client for the span exporter that sends trace telemetry data to the collector using HTTP with protobuf-encoded payloads.