From 8af1d31c72dd650e768ec278022bcec44bba9657 Mon Sep 17 00:00:00 2001 From: Tyler Yahn Date: Fri, 16 Sep 2022 07:48:24 -0700 Subject: [PATCH 1/2] Remove abandoned tooling code (#3171) This function and its use are now hosed in the opentelemetry-go-build-tools project. Co-authored-by: Chester Cheung --- internal/tools/common.go | 124 --------------------------------------- internal/tools/go.mod | 2 +- 2 files changed, 1 insertion(+), 125 deletions(-) delete mode 100644 internal/tools/common.go diff --git a/internal/tools/common.go b/internal/tools/common.go deleted file mode 100644 index 0c7389934ca..00000000000 --- a/internal/tools/common.go +++ /dev/null @@ -1,124 +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 tools provides helper functions used in scripts within the -// internal/tools module, as well as imports needed for a build with the -// "tools" build tag. -package tools // import "go.opentelemetry.io/otel/internal/tools" - -import ( - "bytes" - "errors" - "fmt" - "io" - "os" - "path/filepath" - "sort" - "strings" - "text/tabwriter" - - "golang.org/x/mod/modfile" -) - -// Repo represents a git repository. -type Repo string - -// FindRepoRoot retrieves the root of the repository containing the current -// working directory. Beginning at the current working directory (dir), the -// algorithm checks if joining the ".git" suffix, such as "dir.get", is a -// valid file. Otherwise, it will continue checking the dir's parent directory -// until it reaches the repo root or returns an error if it cannot be found. -func FindRepoRoot() (Repo, error) { - start, err := os.Getwd() - if err != nil { - return "", err - } - - dir := start - for { - _, err := os.Stat(filepath.Join(dir, ".git")) - if errors.Is(err, os.ErrNotExist) { - dir = filepath.Dir(dir) - // From https://golang.org/pkg/path/filepath/#Dir: - // The returned path does not end in a separator unless it is the root directory. - if strings.HasSuffix(dir, string(filepath.Separator)) { - return "", fmt.Errorf("unable to find git repository enclosing working dir %s", start) - } - continue - } - - if err != nil { - return "", err - } - - return Repo(dir), nil - } -} - -// FindModules returns all Go modules contained in Repo r. -func (r Repo) FindModules() ([]*modfile.File, error) { - var results []*modfile.File - err := filepath.Walk(string(r), func(path string, info os.FileInfo, walkErr error) error { - if walkErr != nil { - // Walk failed to walk into this directory. Stop walking and - // signal this error. - return walkErr - } - - if !info.IsDir() { - return nil - } - - goMod := filepath.Join(path, "go.mod") - f, err := os.Open(goMod) - if errors.Is(err, os.ErrNotExist) { - return nil - } - if err != nil { - return err - } - - var b bytes.Buffer - io.Copy(&b, f) - if err = f.Close(); err != nil { - return err - } - - mFile, err := modfile.Parse(goMod, b.Bytes(), nil) - if err != nil { - return err - } - results = append(results, mFile) - return nil - }) - - sort.SliceStable(results, func(i, j int) bool { - return results[i].Syntax.Name < results[j].Syntax.Name - }) - - return results, err -} - -func PrintModFiles(w io.Writer, mFiles []*modfile.File) error { - tw := tabwriter.NewWriter(w, 0, 0, 1, ' ', 0) - if _, err := fmt.Fprintln(tw, "FILE PATH\tIMPORT PATH"); err != nil { - return err - } - for _, m := range mFiles { - if _, err := fmt.Fprintf(tw, "%s\t%s\n", m.Syntax.Name, m.Module.Mod.Path); err != nil { - return err - } - } - return tw.Flush() -} diff --git a/internal/tools/go.mod b/internal/tools/go.mod index 1762c2f3db2..621cd99bb11 100644 --- a/internal/tools/go.mod +++ b/internal/tools/go.mod @@ -13,7 +13,6 @@ require ( go.opentelemetry.io/build-tools/dbotconf v0.0.0-20220706175322-58de0d25b85c go.opentelemetry.io/build-tools/multimod v0.0.0-20220706175322-58de0d25b85c go.opentelemetry.io/build-tools/semconvgen v0.0.0-20220706175322-58de0d25b85c - golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 golang.org/x/tools v0.1.12 ) @@ -182,6 +181,7 @@ require ( go.uber.org/zap v1.21.0 // indirect golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e // indirect golang.org/x/exp/typeparams v0.0.0-20220613132600-b0d781184e0d // indirect + golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect golang.org/x/net v0.0.0-20220722155237-a158d28d115b // indirect golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 // indirect golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f // indirect From e1a1f07e44e9a111b78f6cad01365cbe5813aa15 Mon Sep 17 00:00:00 2001 From: ttd2089 <64158840+ttd2089@users.noreply.github.com> Date: Fri, 16 Sep 2022 12:08:21 -0300 Subject: [PATCH 2/2] docs: grammar (#3167) Co-authored-by: Chester Cheung Co-authored-by: Tyler Yahn --- website_docs/getting-started.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website_docs/getting-started.md b/website_docs/getting-started.md index 5cea707e9f0..e1eb4457fec 100644 --- a/website_docs/getting-started.md +++ b/website_docs/getting-started.md @@ -5,7 +5,7 @@ weight: 2 Welcome to the OpenTelemetry for Go getting started guide! This guide will walk you through the basic steps in installing, instrumenting with, configuring, and exporting data from OpenTelemetry. Before you get started, be sure to have Go 1.16 or newer installed. -Understand how a system is functioning when it is failing or having issues is critical to resolving those issues. One strategy to understand this is with tracing. This guide shows how the OpenTelemetry Go project can be used to trace an example application. You will start with an application that computes Fibonacci numbers for users, and from there you will add instrumentation to produce tracing telemetry with OpenTelemetry Go. +Understanding how a system is functioning when it is failing or having issues is critical to resolving those issues. One strategy to understand this is with tracing. This guide shows how the OpenTelemetry Go project can be used to trace an example application. You will start with an application that computes Fibonacci numbers for users, and from there you will add instrumentation to produce tracing telemetry with OpenTelemetry Go. For reference, a complete example of the code you will build can be found [here](https://github.com/open-telemetry/opentelemetry-go/tree/main/example/fib).