diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 58be33669..625412184 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -73,15 +73,6 @@ updates: schedule: interval: weekly day: sunday - - package-ecosystem: gomod - directory: /example/fib - labels: - - dependencies - - go - - Skip Changelog - schedule: - interval: weekly - day: sunday - package-ecosystem: gomod directory: /example/namedtracer labels: diff --git a/.gitignore b/.gitignore index 924805565..895c7664b 100644 --- a/.gitignore +++ b/.gitignore @@ -14,13 +14,9 @@ go.work.sum gen/ /example/dice/dice -/example/fib/fib -/example/fib/traces.txt -/example/jaeger/jaeger /example/namedtracer/namedtracer /example/otel-collector/otel-collector /example/opencensus/opencensus /example/passthrough/passthrough /example/prometheus/prometheus -/example/view/view /example/zipkin/zipkin diff --git a/CHANGELOG.md b/CHANGELOG.md index 465dcd7a4..ac557daf2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm - Remove the deprecated `go.opentelemetry.io/otel/bridge/opencensus.NewTracer`. (#4706) - Remove the deprecated `go.opentelemetry.io/otel/exporters/otlp/otlpmetric` module. (#4707) - Remove the deprecated `go.opentelemetry.io/otel/example/view` module. (#4708) +- Remove the deprecated `go.opentelemetry.io/otel/example/fib` module. (#4723) ### Fixed diff --git a/example/fib/app.go b/example/fib/app.go deleted file mode 100644 index a92074258..000000000 --- a/example/fib/app.go +++ /dev/null @@ -1,104 +0,0 @@ -// 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 main - -import ( - "context" - "fmt" - "io" - "log" - "strconv" - - "go.opentelemetry.io/otel" - "go.opentelemetry.io/otel/attribute" - "go.opentelemetry.io/otel/codes" - "go.opentelemetry.io/otel/trace" -) - -// name is the Tracer name used to identify this instrumentation library. -const name = "fib" - -// App is an Fibonacci computation application. -type App struct { - r io.Reader - l *log.Logger -} - -// NewApp returns a new App. -func NewApp(r io.Reader, l *log.Logger) *App { - return &App{r: r, l: l} -} - -// Run starts polling users for Fibonacci number requests and writes results. -func (a *App) Run(ctx context.Context) error { - for { - // Each execution of the run loop, we should get a new "root" span and context. - newCtx, span := otel.Tracer(name).Start(ctx, "Run") - - n, err := a.Poll(newCtx) - if err != nil { - span.End() - return err - } - - a.Write(newCtx, n) - span.End() - } -} - -// Poll asks a user for input and returns the request. -func (a *App) Poll(ctx context.Context) (uint, error) { - _, span := otel.Tracer(name).Start(ctx, "Poll") - defer span.End() - - a.l.Print("What Fibonacci number would you like to know: ") - - var n uint - _, err := fmt.Fscanf(a.r, "%d\n", &n) - if err != nil { - span.RecordError(err) - span.SetStatus(codes.Error, err.Error()) - return 0, err - } - - // Store n as a string to not overflow an int64. - nStr := strconv.FormatUint(uint64(n), 10) - span.SetAttributes(attribute.String("request.n", nStr)) - - return n, nil -} - -// Write writes the n-th Fibonacci number back to the user. -func (a *App) Write(ctx context.Context, n uint) { - var span trace.Span - ctx, span = otel.Tracer(name).Start(ctx, "Write") - defer span.End() - - f, err := func(ctx context.Context) (uint64, error) { - _, span := otel.Tracer(name).Start(ctx, "Fibonacci") - defer span.End() - f, err := Fibonacci(n) - if err != nil { - span.RecordError(err) - span.SetStatus(codes.Error, err.Error()) - } - return f, err - }(ctx) - if err != nil { - a.l.Printf("Fibonacci(%d): %v\n", n, err) - } else { - a.l.Printf("Fibonacci(%d) = %d\n", n, f) - } -} diff --git a/example/fib/doc.go b/example/fib/doc.go deleted file mode 100644 index 77b63d476..000000000 --- a/example/fib/doc.go +++ /dev/null @@ -1,18 +0,0 @@ -// 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. - -// Fib is the "Fibonacci" old getting started example application. -// -// Deprecated: See [go.opentelemetry.io/otel/example/dice] instead. -package main diff --git a/example/fib/fib.go b/example/fib/fib.go deleted file mode 100644 index 817cc63b1..000000000 --- a/example/fib/fib.go +++ /dev/null @@ -1,35 +0,0 @@ -// 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 main - -import "fmt" - -// Fibonacci returns the n-th fibonacci number. -func Fibonacci(n uint) (uint64, error) { - if n <= 1 { - return uint64(n), nil - } - - if n > 93 { - return 0, fmt.Errorf("unsupported fibonacci number %d: too large", n) - } - - var n2, n1 uint64 = 0, 1 - for i := uint(2); i < n; i++ { - n2, n1 = n1, n1+n2 - } - - return n2 + n1, nil -} diff --git a/example/fib/go.mod b/example/fib/go.mod deleted file mode 100644 index 2637dc76f..000000000 --- a/example/fib/go.mod +++ /dev/null @@ -1,28 +0,0 @@ -// Deprecated: See go.opentelemetry.io/otel/example/dice instead. -module go.opentelemetry.io/otel/example/fib - -go 1.20 - -require ( - go.opentelemetry.io/otel v1.20.0 - go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.20.0 - go.opentelemetry.io/otel/sdk v1.20.0 - go.opentelemetry.io/otel/trace v1.20.0 -) - -require ( - github.com/go-logr/logr v1.3.0 // indirect - github.com/go-logr/stdr v1.2.2 // indirect - go.opentelemetry.io/otel/metric v1.20.0 // indirect - golang.org/x/sys v0.14.0 // indirect -) - -replace go.opentelemetry.io/otel => ../.. - -replace go.opentelemetry.io/otel/exporters/stdout/stdouttrace => ../../exporters/stdout/stdouttrace - -replace go.opentelemetry.io/otel/sdk => ../../sdk - -replace go.opentelemetry.io/otel/trace => ../../trace - -replace go.opentelemetry.io/otel/metric => ../../metric diff --git a/example/fib/go.sum b/example/fib/go.sum deleted file mode 100644 index 6133f4846..000000000 --- a/example/fib/go.sum +++ /dev/null @@ -1,12 +0,0 @@ -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.3.0 h1:2y3SDp0ZXuc6/cjLSZ+Q3ir+QB9T/iG5yYRXqsagWSY= -github.com/go-logr/logr v1.3.0/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= -github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -golang.org/x/sys v0.14.0 h1:Vz7Qs629MkJkGyHxUlRHizWJRG2j8fbQKjELVSNhy7Q= -golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= diff --git a/example/fib/main.go b/example/fib/main.go deleted file mode 100644 index 7e23b8eda..000000000 --- a/example/fib/main.go +++ /dev/null @@ -1,101 +0,0 @@ -// 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 main - -import ( - "context" - "io" - "log" - "os" - "os/signal" - - "go.opentelemetry.io/otel" - "go.opentelemetry.io/otel/attribute" - "go.opentelemetry.io/otel/exporters/stdout/stdouttrace" - "go.opentelemetry.io/otel/sdk/resource" - "go.opentelemetry.io/otel/sdk/trace" - semconv "go.opentelemetry.io/otel/semconv/v1.21.0" -) - -// newExporter returns a console exporter. -func newExporter(w io.Writer) (trace.SpanExporter, error) { - return stdouttrace.New( - stdouttrace.WithWriter(w), - // Use human readable output. - stdouttrace.WithPrettyPrint(), - // Do not print timestamps for the demo. - stdouttrace.WithoutTimestamps(), - ) -} - -// newResource returns a resource describing this application. -func newResource() *resource.Resource { - r, _ := resource.Merge( - resource.Default(), - resource.NewWithAttributes( - semconv.SchemaURL, - semconv.ServiceName("fib"), - semconv.ServiceVersion("v0.1.0"), - attribute.String("environment", "demo"), - ), - ) - return r -} - -func main() { - l := log.New(os.Stdout, "", 0) - - // Write telemetry data to a file. - f, err := os.Create("traces.txt") - if err != nil { - l.Fatal(err) - } - defer f.Close() - - exp, err := newExporter(f) - if err != nil { - l.Fatal(err) - } - - tp := trace.NewTracerProvider( - trace.WithBatcher(exp), - trace.WithResource(newResource()), - ) - defer func() { - if err := tp.Shutdown(context.Background()); err != nil { - l.Fatal(err) - } - }() - otel.SetTracerProvider(tp) - - sigCh := make(chan os.Signal, 1) - signal.Notify(sigCh, os.Interrupt) - - errCh := make(chan error) - app := NewApp(os.Stdin, l) - go func() { - errCh <- app.Run(context.Background()) - }() - - select { - case <-sigCh: - l.Println("\ngoodbye") - return - case err := <-errCh: - if err != nil { - l.Fatal(err) - } - } -} diff --git a/versions.yaml b/versions.yaml index 894593fa2..a027f861c 100644 --- a/versions.yaml +++ b/versions.yaml @@ -20,7 +20,6 @@ module-sets: - go.opentelemetry.io/otel/bridge/opentracing - go.opentelemetry.io/otel/bridge/opentracing/test - go.opentelemetry.io/otel/example/dice - - go.opentelemetry.io/otel/example/fib - go.opentelemetry.io/otel/example/namedtracer - go.opentelemetry.io/otel/example/otel-collector - go.opentelemetry.io/otel/example/passthrough