From 590bcee71bde9181a65e50190ddb13180e857af3 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Wed, 26 Mar 2025 10:46:44 -0700
Subject: [PATCH] fix(deps): update module github.com/golangci/golangci-lint to
v2 (#6499)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[github.com/golangci/golangci-lint](https://redirect.github.com/golangci/golangci-lint)
| `v1.64.8` -> `v2.0.2` |
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
---
### Release Notes
golangci/golangci-lint
(github.com/golangci/golangci-lint)
###
[`v2.0.2`](https://redirect.github.com/golangci/golangci-lint/blob/HEAD/CHANGELOG.md#v202)
[Compare
Source](https://redirect.github.com/golangci/golangci-lint/compare/v2.0.1...v2.0.2)
1. Misc.
- Fixes flags parsing for formatters
- Fixes the filepath used by the exclusion `source` option
2. Documentation
- Adds a section about flags migration
- Cleaning pages with v1 options
###
[`v2.0.1`](https://redirect.github.com/golangci/golangci-lint/blob/HEAD/CHANGELOG.md#v201)
[Compare
Source](https://redirect.github.com/golangci/golangci-lint/compare/v2.0.0...v2.0.1)
1. Linters/formatters bug fixes
- `golines`: fix settings during linter load
2. Misc.
- Validates the `version` field before the configuration
- `forbidigo`: fix migration
###
[`v2.0.0`](https://redirect.github.com/golangci/golangci-lint/blob/HEAD/CHANGELOG.md#v200)
[Compare
Source](https://redirect.github.com/golangci/golangci-lint/compare/v1.64.8...v2.0.0)
1. Enhancements
- ๐ New `golangci-lint fmt` command with dedicated formatter
configuration
(https://golangci-lint.run/welcome/quick-start/#formatting)
- โป๏ธ New `golangci-lint migrate` command to help migration from v1 to v2
(cf. [Migration
guide](https://golangci-lint.run/product/migration-guide/#command-migrate))
- โ ๏ธ New default values (cf. [Migration
guide](https://golangci-lint.run/product/migration-guide/))
- โ ๏ธ No exclusions by default (cf. [Migration
guide](https://golangci-lint.run/product/migration-guide/#issuesexclude-use-default))
- โ ๏ธ New default sort order (cf. [Migration
guide](https://golangci-lint.run/product/migration-guide/#outputsort-order))
- ๐ New option `run.relative-path-mode` (cf. [Migration
guide](https://golangci-lint.run/product/migration-guide/#runrelative-path-mode))
- ๐ New linters configuration (cf. [Migration
guide](https://golangci-lint.run/product/migration-guide/#linters))
- ๐ New output format configuration (cf. [Migration
guide](https://golangci-lint.run/product/migration-guide/#output))
- ๐ New `--fast-only` flag (cf. [Migration
guide](https://golangci-lint.run/product/migration-guide/#lintersfast))
- ๐ New option `linters.exclusions.warn-unused` to log a warning if an
exclusion rule is unused.
2. New linters/formatters
- Add `golines` formatter https://github.com/segmentio/golines
3. Linters new features
- โ ๏ธ Merge `staticcheck`, `stylecheck`, `gosimple` into one linter
(`staticcheck`) (cf. [Migration
guide](https://golangci-lint.run/product/migration-guide/#lintersenablestylecheckgosimplestaticcheck))
- `go-critic`: from 0.12.0 to 0.13.0
- `gomodguard`: from 1.3.5 to 1.4.1 (block explicit indirect
dependencies)
- `nilnil`: from 1.0.1 to 1.1.0 (new option: `only-two`)
- `perfsprint`: from 0.8.2 to 0.9.1 (checker name in the diagnostic
message)
- `staticcheck`: new `quickfix` set of rules
- `testifylint`: from 1.5.2 to 1.6.0 (new options: `equal-values`,
`suite-method-signature`, `require-string-msg`)
- `wsl`: from 4.5.0 to 4.6.0 (new option: `allow-cuddle-used-in-block`)
4. Linters bug fixes
- `bidichk`: from 0.3.2 to 0.3.3
- `errchkjson`: from 0.4.0 to 0.4.1
- `errname`: from 1.0.0 to 1.1.0
- `funlen`: fix `ignore-comments` option
- `gci`: from 0.13.5 to 0.13.6
- `gosmopolitan`: from 1.2.2 to 1.3.0
- `inamedparam`: from 0.1.3 to 0.2.0
- `intrange`: from 0.3.0 to 0.3.1
- `protogetter`: from 0.3.9 to 0.3.12
- `unparam`: from
[`8a5130c`](https://redirect.github.com/golangci/golangci-lint/commit/8a5130ca722f)
to
[`0df0534`](https://redirect.github.com/golangci/golangci-lint/commit/0df0534333a4)
5. Misc.
- ๐งน Configuration options renaming (cf. [Migration
guide](https://golangci-lint.run/product/migration-guide/))
- ๐งน Remove options (cf. [Migration
guide](https://golangci-lint.run/product/migration-guide/))
- ๐งน Remove flags (cf. [Migration
guide](https://golangci-lint.run/product/migration-guide/))
- ๐งน Remove alternative names (cf. [Migration
guide](https://golangci-lint.run/product/migration-guide/#alternative-linter-names))
- ๐งน Remove or replace deprecated elements (cf. [Migration
guide](https://golangci-lint.run/product/migration-guide/))
- Adds an option to display some commands as JSON:
- `golangci-lint config path --json`
- `golangci-lint help linters --json`
- `golangci-lint help formatters --json`
- `golangci-lint linters --json`
- `golangci-lint formatters --json`
- `golangci-lint version --json`
6. Documentation
- [Migration guide](https://golangci-lint.run/product/migration-guide/)
---
### Configuration
๐
**Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
๐ฆ **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
โป **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.
๐ **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/open-telemetry/opentelemetry-go).
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Tyler Yahn
---
.golangci.yml | 451 +++++++++---------
Makefile | 2 +-
bridge/opencensus/internal/handler.go | 1 +
.../opencensus/internal/oc2otel/attributes.go | 1 +
bridge/opencensus/internal/ocmetric/metric.go | 5 +-
.../internal/otel2oc/span_context.go | 1 +
bridge/opentracing/internal/doc.go | 1 +
.../otlp/otlplog/otlploggrpc/internal/gen.go | 2 +
.../otlploggrpc/internal/transform/log.go | 2 +-
.../otlp/otlplog/otlploghttp/internal/gen.go | 2 +
.../otlploghttp/internal/transform/log.go | 2 +-
.../internal/envconfig/envconfig.go | 2 +
.../internal/envconfig/envconfig_test.go | 5 +-
.../otlpmetric/otlpmetricgrpc/internal/gen.go | 1 +
.../otlpmetricgrpc/internal/oconf/options.go | 1 +
.../otlpmetricgrpc/internal/otest/client.go | 1 +
.../otlp/otlpmetric/otlpmetrichttp/client.go | 2 +-
.../internal/envconfig/envconfig.go | 2 +
.../internal/envconfig/envconfig_test.go | 5 +-
.../otlpmetric/otlpmetrichttp/internal/gen.go | 1 +
.../otlpmetrichttp/internal/oconf/options.go | 1 +
.../otlpmetrichttp/internal/otest/client.go | 1 +
.../internal/tracetransform/attribute.go | 2 +
.../internal/envconfig/envconfig.go | 2 +
.../internal/envconfig/envconfig_test.go | 5 +-
.../otlptrace/otlptracegrpc/internal/gen.go | 1 +
.../internal/otlpconfig/options.go | 1 +
.../internal/otlptracetest/otlptest.go | 2 +
.../otlp/otlptrace/otlptracehttp/client.go | 2 +-
.../internal/envconfig/envconfig.go | 2 +
.../internal/envconfig/envconfig_test.go | 5 +-
.../otlptrace/otlptracehttp/internal/gen.go | 1 +
.../internal/otlpconfig/options.go | 1 +
.../internal/otlptracetest/otlptest.go | 2 +
exporters/prometheus/exporter.go | 2 +-
exporters/zipkin/internal/gen.go | 1 +
.../zipkin/internal/internaltest/harness.go | 1 +
.../zipkin/internal/matchers/expectation.go | 1 +
internal/global/handler.go | 1 +
internal/global/state_test.go | 6 +-
internal/internaltest/harness.go | 1 +
internal/matchers/expectation.go | 1 +
internal/rawhelpers.go | 1 +
internal/shared/internaltest/harness.go.tmpl | 1 +
internal/shared/matchers/expectation.go.tmpl | 1 +
.../shared/otlp/envconfig/envconfig.go.tmpl | 2 +
.../otlp/envconfig/envconfig_test.go.tmpl | 5 +-
.../shared/otlp/otlplog/transform/log.go.tmpl | 2 +-
.../otlp/otlpmetric/oconf/options.go.tmpl | 1 +
.../otlp/otlpmetric/otest/client.go.tmpl | 1 +
.../otlp/otlptrace/otlpconfig/options.go.tmpl | 1 +
.../otlptrace/otlptracetest/otlptest.go.tmpl | 2 +
internal/tools/go.mod | 14 +-
internal/tools/go.sum | 30 +-
internal/tools/tools.go | 2 +-
log/internal/global/log.go | 2 +
log/internal/global/state_test.go | 2 +-
log/keyvalue.go | 2 +-
schema/internal/parser_checks.go | 1 +
schema/v1.0/ast/ast_schema.go | 2 +
schema/v1.0/parser.go | 1 +
schema/v1.0/types/types.go | 1 +
schema/v1.1/ast/ast_schema.go | 2 +
schema/v1.1/parser.go | 1 +
schema/v1.1/types/types.go | 1 +
sdk/internal/env/env.go | 2 +
sdk/internal/gen.go | 1 +
sdk/internal/internaltest/harness.go | 1 +
sdk/internal/matchers/expectation.go | 1 +
sdk/log/provider.go | 2 +-
sdk/metric/instrument.go | 2 +-
sdk/metric/internal/reuse_slice.go | 1 +
sdk/metric/meter.go | 8 +-
sdk/metric/metricdata/data.go | 1 +
sdk/metric/metricdata/temporality.go | 2 +-
sdk/version.go | 1 +
semconv/internal/http.go | 6 +-
semconv/internal/v2/http.go | 1 +
semconv/internal/v3/http.go | 1 +
semconv/internal/v4/http.go | 1 +
trace/internal/telemetry/span.go | 56 ++-
trace/internal/telemetry/status.go | 12 +-
trace/internal/telemetry/traces.go | 4 +-
trace/internal/telemetry/value.go | 2 +-
84 files changed, 417 insertions(+), 298 deletions(-)
diff --git a/.golangci.yml b/.golangci.yml
index c58e48ab0..1492f6fd7 100644
--- a/.golangci.yml
+++ b/.golangci.yml
@@ -1,13 +1,9 @@
-# See https://github.com/golangci/golangci-lint#config-file
+version: "2"
run:
- issues-exit-code: 1 #Default
- tests: true #Default
-
+ issues-exit-code: 1
+ tests: true
linters:
- # Disable everything by default so upgrades to not include new "default
- # enabled" linters.
- disable-all: true
- # Specifically enable linters we want to use.
+ default: none
enable:
- asasalint
- bodyclose
@@ -15,10 +11,7 @@ linters:
- errcheck
- errorlint
- godot
- - gofumpt
- - goimports
- gosec
- - gosimple
- govet
- ineffassign
- misspell
@@ -26,227 +19,229 @@ linters:
- revive
- staticcheck
- testifylint
- - typecheck
- unconvert
- - unused
- unparam
+ - unused
- usestdlibvars
- usetesting
-
+ settings:
+ depguard:
+ rules:
+ auto/sdk:
+ files:
+ - '!internal/global/trace.go'
+ - ~internal/global/trace_test.go
+ deny:
+ - pkg: go.opentelemetry.io/auto/sdk
+ desc: Do not use SDK from automatic instrumentation.
+ non-tests:
+ files:
+ - '!$test'
+ - '!**/*test/*.go'
+ - '!**/internal/matchers/*.go'
+ deny:
+ - pkg: testing
+ - pkg: github.com/stretchr/testify
+ - pkg: crypto/md5
+ - pkg: crypto/sha1
+ - pkg: crypto/**/pkix
+ otel-internal:
+ files:
+ - '**/sdk/*.go'
+ - '**/sdk/**/*.go'
+ - '**/exporters/*.go'
+ - '**/exporters/**/*.go'
+ - '**/schema/*.go'
+ - '**/schema/**/*.go'
+ - '**/metric/*.go'
+ - '**/metric/**/*.go'
+ - '**/bridge/*.go'
+ - '**/bridge/**/*.go'
+ - '**/trace/*.go'
+ - '**/trace/**/*.go'
+ - '**/log/*.go'
+ - '**/log/**/*.go'
+ deny:
+ - pkg: go.opentelemetry.io/otel/internal$
+ desc: Do not use cross-module internal packages.
+ - pkg: go.opentelemetry.io/otel/internal/attribute
+ desc: Do not use cross-module internal packages.
+ - pkg: go.opentelemetry.io/otel/internal/internaltest
+ desc: Do not use cross-module internal packages.
+ - pkg: go.opentelemetry.io/otel/internal/matchers
+ desc: Do not use cross-module internal packages.
+ otlp-internal:
+ files:
+ - '!**/exporters/otlp/internal/**/*.go'
+ deny:
+ - pkg: go.opentelemetry.io/otel/exporters/otlp/internal
+ desc: Do not use cross-module internal packages.
+ otlpmetric-internal:
+ files:
+ - '!**/exporters/otlp/otlpmetric/internal/*.go'
+ - '!**/exporters/otlp/otlpmetric/internal/**/*.go'
+ deny:
+ - pkg: go.opentelemetry.io/otel/exporters/otlp/otlpmetric/internal
+ desc: Do not use cross-module internal packages.
+ otlptrace-internal:
+ files:
+ - '!**/exporters/otlp/otlptrace/*.go'
+ - '!**/exporters/otlp/otlptrace/internal/**.go'
+ deny:
+ - pkg: go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal
+ desc: Do not use cross-module internal packages.
+ godot:
+ exclude:
+ # Exclude links.
+ - '^ *\[[^]]+\]:'
+ # Exclude sentence fragments for lists.
+ - ^[ ]*[-โข]
+ # Exclude sentences prefixing a list.
+ - :$
+ misspell:
+ locale: US
+ ignore-rules:
+ - cancelled
+ perfsprint:
+ int-conversion: true
+ err-error: true
+ errorf: true
+ sprintf1: true
+ strconcat: true
+ revive:
+ confidence: 0.01
+ rules:
+ - name: blank-imports
+ - name: bool-literal-in-expr
+ - name: constant-logical-expr
+ - name: context-as-argument
+ arguments:
+ - allowTypesBefore: '*testing.T'
+ disabled: true
+ - name: context-keys-type
+ - name: deep-exit
+ - name: defer
+ arguments:
+ - - call-chain
+ - loop
+ - name: dot-imports
+ - name: duplicated-imports
+ - name: early-return
+ arguments:
+ - preserveScope
+ - name: empty-block
+ - name: empty-lines
+ - name: error-naming
+ - name: error-return
+ - name: error-strings
+ - name: errorf
+ - name: exported
+ arguments:
+ - sayRepetitiveInsteadOfStutters
+ - name: flag-parameter
+ - name: identical-branches
+ - name: if-return
+ - name: import-shadowing
+ - name: increment-decrement
+ - name: indent-error-flow
+ arguments:
+ - preserveScope
+ - name: package-comments
+ - name: range
+ - name: range-val-in-closure
+ - name: range-val-address
+ - name: redefines-builtin-id
+ - name: string-format
+ arguments:
+ - - panic
+ - /^[^\n]*$/
+ - must not contain line breaks
+ - name: struct-tag
+ - name: superfluous-else
+ arguments:
+ - preserveScope
+ - name: time-equal
+ - name: unconditional-recursion
+ - name: unexported-return
+ - name: unhandled-error
+ arguments:
+ - fmt.Fprint
+ - fmt.Fprintf
+ - fmt.Fprintln
+ - fmt.Print
+ - fmt.Printf
+ - fmt.Println
+ - name: unnecessary-stmt
+ - name: useless-break
+ - name: var-declaration
+ - name: var-naming
+ arguments:
+ - ["ID"] # AllowList
+ - ["Otel", "Aws", "Gcp"] # DenyList
+ - name: waitgroup-by-value
+ testifylint:
+ enable-all: true
+ disable:
+ - float-compare
+ - go-require
+ - require-error
+ exclusions:
+ generated: lax
+ presets:
+ - common-false-positives
+ - legacy
+ - std-error-handling
+ rules:
+ # TODO: Having appropriate comments for exported objects helps development,
+ # even for objects in internal packages. Appropriate comments for all
+ # exported objects should be added and this exclusion removed.
+ - linters:
+ - revive
+ path: .*internal/.*
+ text: exported (method|function|type|const) (.+) should have comment or be unexported
+ # Yes, they are, but it's okay in a test.
+ - linters:
+ - revive
+ path: _test\.go
+ text: exported func.*returns unexported type.*which can be annoying to use
+ # Example test functions should be treated like main.
+ - linters:
+ - revive
+ path: example.*_test\.go
+ text: calls to (.+) only in main[(][)] or init[(][)] functions
+ # It's okay to not run gosec and perfsprint in a test.
+ - linters:
+ - gosec
+ - perfsprint
+ path: _test\.go
+ # Ignoring gosec G404: Use of weak random number generator (math/rand instead of crypto/rand)
+ # as we commonly use it in tests and examples.
+ - linters:
+ - gosec
+ text: 'G404:'
+ # Ignoring gosec G402: TLS MinVersion too low
+ # as the https://pkg.go.dev/crypto/tls#Config handles MinVersion default well.
+ - linters:
+ - gosec
+ text: 'G402: TLS MinVersion too low.'
+ paths:
+ - third_party$
+ - builtin$
+ - examples$
issues:
- # Maximum issues count per one linter.
- # Set to 0 to disable.
- # Default: 50
- # Setting to unlimited so the linter only is run once to debug all issues.
max-issues-per-linter: 0
- # Maximum count of issues with the same text.
- # Set to 0 to disable.
- # Default: 3
- # Setting to unlimited so the linter only is run once to debug all issues.
max-same-issues: 0
- # Excluding configuration per-path, per-linter, per-text and per-source.
- exclude-rules:
- # TODO: Having appropriate comments for exported objects helps development,
- # even for objects in internal packages. Appropriate comments for all
- # exported objects should be added and this exclusion removed.
- - path: '.*internal/.*'
- text: "exported (method|function|type|const) (.+) should have comment or be unexported"
- linters:
- - revive
- # Yes, they are, but it's okay in a test.
- - path: _test\.go
- text: "exported func.*returns unexported type.*which can be annoying to use"
- linters:
- - revive
- # Example test functions should be treated like main.
- - path: example.*_test\.go
- text: "calls to (.+) only in main[(][)] or init[(][)] functions"
- linters:
- - revive
- # It's okay to not run gosec and perfsprint in a test.
- - path: _test\.go
- linters:
- - gosec
- - perfsprint
- # Ignoring gosec G404: Use of weak random number generator (math/rand instead of crypto/rand)
- # as we commonly use it in tests and examples.
- - text: "G404:"
- linters:
- - gosec
- # Ignoring gosec G402: TLS MinVersion too low
- # as the https://pkg.go.dev/crypto/tls#Config handles MinVersion default well.
- - text: "G402: TLS MinVersion too low."
- linters:
- - gosec
- include:
- # revive exported should have comment or be unexported.
- - EXC0012
- # revive package comment should be of the form ...
- - EXC0013
-
-linters-settings:
- depguard:
- rules:
- non-tests:
- files:
- - "!$test"
- - "!**/*test/*.go"
- - "!**/internal/matchers/*.go"
- deny:
- - pkg: "testing"
- - pkg: "github.com/stretchr/testify"
- - pkg: "crypto/md5"
- - pkg: "crypto/sha1"
- - pkg: "crypto/**/pkix"
- auto/sdk:
- files:
- - "!internal/global/trace.go"
- - "~internal/global/trace_test.go"
- deny:
- - pkg: "go.opentelemetry.io/auto/sdk"
- desc: Do not use SDK from automatic instrumentation.
- otlp-internal:
- files:
- - "!**/exporters/otlp/internal/**/*.go"
- deny:
- - pkg: "go.opentelemetry.io/otel/exporters/otlp/internal"
- desc: Do not use cross-module internal packages.
- otlptrace-internal:
- files:
- - "!**/exporters/otlp/otlptrace/*.go"
- - "!**/exporters/otlp/otlptrace/internal/**.go"
- deny:
- - pkg: "go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal"
- desc: Do not use cross-module internal packages.
- otlpmetric-internal:
- files:
- - "!**/exporters/otlp/otlpmetric/internal/*.go"
- - "!**/exporters/otlp/otlpmetric/internal/**/*.go"
- deny:
- - pkg: "go.opentelemetry.io/otel/exporters/otlp/otlpmetric/internal"
- desc: Do not use cross-module internal packages.
- otel-internal:
- files:
- - "**/sdk/*.go"
- - "**/sdk/**/*.go"
- - "**/exporters/*.go"
- - "**/exporters/**/*.go"
- - "**/schema/*.go"
- - "**/schema/**/*.go"
- - "**/metric/*.go"
- - "**/metric/**/*.go"
- - "**/bridge/*.go"
- - "**/bridge/**/*.go"
- - "**/trace/*.go"
- - "**/trace/**/*.go"
- - "**/log/*.go"
- - "**/log/**/*.go"
- deny:
- - pkg: "go.opentelemetry.io/otel/internal$"
- desc: Do not use cross-module internal packages.
- - pkg: "go.opentelemetry.io/otel/internal/attribute"
- desc: Do not use cross-module internal packages.
- - pkg: "go.opentelemetry.io/otel/internal/internaltest"
- desc: Do not use cross-module internal packages.
- - pkg: "go.opentelemetry.io/otel/internal/matchers"
- desc: Do not use cross-module internal packages.
- godot:
- exclude:
- # Exclude links.
- - '^ *\[[^]]+\]:'
- # Exclude sentence fragments for lists.
- - '^[ ]*[-โข]'
- # Exclude sentences prefixing a list.
- - ':$'
- goimports:
- local-prefixes: go.opentelemetry.io
- misspell:
- locale: US
- ignore-words:
- - cancelled
- perfsprint:
- err-error: true
- errorf: true
- int-conversion: true
- sprintf1: true
- strconcat: true
- revive:
- # Sets the default failure confidence.
- # This means that linting errors with less than 0.8 confidence will be ignored.
- # Default: 0.8
- confidence: 0.01
- # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md
- rules:
- - name: blank-imports
- - name: bool-literal-in-expr
- - name: constant-logical-expr
- - name: context-as-argument
- disabled: true
- arguments:
- - allowTypesBefore: "*testing.T"
- - name: context-keys-type
- - name: deep-exit
- - name: defer
- arguments:
- - ["call-chain", "loop"]
- - name: dot-imports
- - name: duplicated-imports
- - name: early-return
- arguments:
- - "preserveScope"
- - name: empty-block
- - name: empty-lines
- - name: error-naming
- - name: error-return
- - name: error-strings
- - name: errorf
- - name: exported
- arguments:
- - "sayRepetitiveInsteadOfStutters"
- - name: flag-parameter
- - name: identical-branches
- - name: if-return
- - name: import-shadowing
- - name: increment-decrement
- - name: indent-error-flow
- arguments:
- - "preserveScope"
- - name: package-comments
- - name: range
- - name: range-val-in-closure
- - name: range-val-address
- - name: redefines-builtin-id
- - name: string-format
- arguments:
- - - panic
- - '/^[^\n]*$/'
- - must not contain line breaks
- - name: struct-tag
- - name: superfluous-else
- arguments:
- - "preserveScope"
- - name: time-equal
- - name: unconditional-recursion
- - name: unexported-return
- - name: unhandled-error
- arguments:
- - "fmt.Fprint"
- - "fmt.Fprintf"
- - "fmt.Fprintln"
- - "fmt.Print"
- - "fmt.Printf"
- - "fmt.Println"
- - name: unnecessary-stmt
- - name: useless-break
- - name: var-declaration
- - name: var-naming
- arguments:
- - ["ID"] # AllowList
- - ["Otel", "Aws", "Gcp"] # DenyList
- - name: waitgroup-by-value
- testifylint:
- enable-all: true
- disable:
- - float-compare
- - go-require
- - require-error
+formatters:
+ enable:
+ - gofumpt
+ - goimports
+ settings:
+ goimports:
+ local-prefixes:
+ - go.opentelemetry.io
+ exclusions:
+ generated: lax
+ paths:
+ - third_party$
+ - builtin$
+ - examples$
diff --git a/Makefile b/Makefile
index 226410d74..a1f3f3007 100644
--- a/Makefile
+++ b/Makefile
@@ -44,7 +44,7 @@ SEMCONVKIT = $(TOOLS)/semconvkit
$(TOOLS)/semconvkit: PACKAGE=go.opentelemetry.io/otel/$(TOOLS_MOD_DIR)/semconvkit
GOLANGCI_LINT = $(TOOLS)/golangci-lint
-$(TOOLS)/golangci-lint: PACKAGE=github.com/golangci/golangci-lint/cmd/golangci-lint
+$(TOOLS)/golangci-lint: PACKAGE=github.com/golangci/golangci-lint/v2/cmd/golangci-lint
MISSPELL = $(TOOLS)/misspell
$(TOOLS)/misspell: PACKAGE=github.com/client9/misspell/cmd/misspell
diff --git a/bridge/opencensus/internal/handler.go b/bridge/opencensus/internal/handler.go
index 539062580..5bf165040 100644
--- a/bridge/opencensus/internal/handler.go
+++ b/bridge/opencensus/internal/handler.go
@@ -1,6 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package internal provides internal functionality for the opencensus package.
package internal // import "go.opentelemetry.io/otel/bridge/opencensus/internal"
import "go.opentelemetry.io/otel"
diff --git a/bridge/opencensus/internal/oc2otel/attributes.go b/bridge/opencensus/internal/oc2otel/attributes.go
index 7c6ae45d5..2a06e4acb 100644
--- a/bridge/opencensus/internal/oc2otel/attributes.go
+++ b/bridge/opencensus/internal/oc2otel/attributes.go
@@ -1,6 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package oc2otel provides conversion from OpenCensus to OpenTelemetry.
package oc2otel // import "go.opentelemetry.io/otel/bridge/opencensus/internal/oc2otel"
import (
diff --git a/bridge/opencensus/internal/ocmetric/metric.go b/bridge/opencensus/internal/ocmetric/metric.go
index f38598bbf..ae04013a3 100644
--- a/bridge/opencensus/internal/ocmetric/metric.go
+++ b/bridge/opencensus/internal/ocmetric/metric.go
@@ -1,6 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package internal provides internal functionality for the opencensus package.
package internal // import "go.opentelemetry.io/otel/bridge/opencensus/internal/ocmetric"
import (
@@ -188,8 +189,8 @@ func convertExemplar(ocExemplar *ocmetricdata.Exemplar) (metricdata.Exemplar[flo
}
var err error
for k, v := range ocExemplar.Attachments {
- switch {
- case k == ocmetricdata.AttachmentKeySpanContext:
+ switch k {
+ case ocmetricdata.AttachmentKeySpanContext:
sc, ok := v.(octrace.SpanContext)
if !ok {
err = errors.Join(err, fmt.Errorf("%w; type: %v", errInvalidExemplarSpanContext, reflect.TypeOf(v)))
diff --git a/bridge/opencensus/internal/otel2oc/span_context.go b/bridge/opencensus/internal/otel2oc/span_context.go
index f9e16bedb..2dbf7efd8 100644
--- a/bridge/opencensus/internal/otel2oc/span_context.go
+++ b/bridge/opencensus/internal/otel2oc/span_context.go
@@ -1,6 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package otel2oc provides conversions from OpenTelemetry to OpenCensus.
package otel2oc // import "go.opentelemetry.io/otel/bridge/opencensus/internal/otel2oc"
import (
diff --git a/bridge/opentracing/internal/doc.go b/bridge/opentracing/internal/doc.go
index 785121ce6..7c89cb937 100644
--- a/bridge/opentracing/internal/doc.go
+++ b/bridge/opentracing/internal/doc.go
@@ -1,4 +1,5 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package internal provides internal functionality for the opentracing package.
package internal // import "go.opentelemetry.io/otel/bridge/opentracing/internal"
diff --git a/exporters/otlp/otlplog/otlploggrpc/internal/gen.go b/exporters/otlp/otlplog/otlploggrpc/internal/gen.go
index 6a5d7ff5d..6e456d404 100644
--- a/exporters/otlp/otlplog/otlploggrpc/internal/gen.go
+++ b/exporters/otlp/otlplog/otlploggrpc/internal/gen.go
@@ -1,6 +1,8 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package internal provides internal functionality for the otlploggrpc
+// package.
package internal // import "go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc/internal"
//go:generate gotmpl --body=../../../../../internal/shared/otlp/retry/retry.go.tmpl "--data={}" --out=retry/retry.go
diff --git a/exporters/otlp/otlplog/otlploggrpc/internal/transform/log.go b/exporters/otlp/otlplog/otlploggrpc/internal/transform/log.go
index dfeecf596..cfc264d35 100644
--- a/exporters/otlp/otlplog/otlploggrpc/internal/transform/log.go
+++ b/exporters/otlp/otlplog/otlploggrpc/internal/transform/log.go
@@ -257,7 +257,7 @@ func stringSliceValues(vals []string) []*cpb.AnyValue {
return converted
}
-// Attrs transforms a slice of [api.KeyValue] into OTLP key-values.
+// LogAttrs transforms a slice of [api.KeyValue] into OTLP key-values.
func LogAttrs(attrs []api.KeyValue) []*cpb.KeyValue {
if len(attrs) == 0 {
return nil
diff --git a/exporters/otlp/otlplog/otlploghttp/internal/gen.go b/exporters/otlp/otlplog/otlploghttp/internal/gen.go
index 8fffaf74e..2a0e32250 100644
--- a/exporters/otlp/otlplog/otlploghttp/internal/gen.go
+++ b/exporters/otlp/otlplog/otlploghttp/internal/gen.go
@@ -1,6 +1,8 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package internal provides internal functionality for the otlploghttp
+// package.
package internal // import "go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp/internal"
//go:generate gotmpl --body=../../../../../internal/shared/otlp/retry/retry.go.tmpl "--data={}" --out=retry/retry.go
diff --git a/exporters/otlp/otlplog/otlploghttp/internal/transform/log.go b/exporters/otlp/otlplog/otlploghttp/internal/transform/log.go
index adf407800..b4961699f 100644
--- a/exporters/otlp/otlplog/otlploghttp/internal/transform/log.go
+++ b/exporters/otlp/otlplog/otlploghttp/internal/transform/log.go
@@ -257,7 +257,7 @@ func stringSliceValues(vals []string) []*cpb.AnyValue {
return converted
}
-// Attrs transforms a slice of [api.KeyValue] into OTLP key-values.
+// LogAttrs transforms a slice of [api.KeyValue] into OTLP key-values.
func LogAttrs(attrs []api.KeyValue) []*cpb.KeyValue {
if len(attrs) == 0 {
return nil
diff --git a/exporters/otlp/otlpmetric/otlpmetricgrpc/internal/envconfig/envconfig.go b/exporters/otlp/otlpmetric/otlpmetricgrpc/internal/envconfig/envconfig.go
index 261f55026..c20a571d6 100644
--- a/exporters/otlp/otlpmetric/otlpmetricgrpc/internal/envconfig/envconfig.go
+++ b/exporters/otlp/otlpmetric/otlpmetricgrpc/internal/envconfig/envconfig.go
@@ -4,6 +4,8 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package envconfig provides functionality to parse configuration from
+// environment variables.
package envconfig // import "go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc/internal/envconfig"
import (
diff --git a/exporters/otlp/otlpmetric/otlpmetricgrpc/internal/envconfig/envconfig_test.go b/exporters/otlp/otlpmetric/otlpmetricgrpc/internal/envconfig/envconfig_test.go
index 53cb0fede..e9bb34cdc 100644
--- a/exporters/otlp/otlpmetric/otlpmetricgrpc/internal/envconfig/envconfig_test.go
+++ b/exporters/otlp/otlpmetric/otlpmetricgrpc/internal/envconfig/envconfig_test.go
@@ -141,9 +141,10 @@ func TestEnvConfig(t *testing.T) {
name: "with a bool config",
reader: EnvOptionsReader{
GetEnv: func(n string) string {
- if n == "HELLO" {
+ switch n {
+ case "HELLO":
return "true"
- } else if n == "WORLD" {
+ case "WORLD":
return "false"
}
return ""
diff --git a/exporters/otlp/otlpmetric/otlpmetricgrpc/internal/gen.go b/exporters/otlp/otlpmetric/otlpmetricgrpc/internal/gen.go
index 95e2f4ba3..b29cd11a6 100644
--- a/exporters/otlp/otlpmetric/otlpmetricgrpc/internal/gen.go
+++ b/exporters/otlp/otlpmetric/otlpmetricgrpc/internal/gen.go
@@ -1,6 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package internal provides internal functionally for the otlpmetricgrpc package.
package internal // import "go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc/internal"
//go:generate gotmpl --body=../../../../../internal/shared/otlp/partialsuccess.go.tmpl "--data={}" --out=partialsuccess.go
diff --git a/exporters/otlp/otlpmetric/otlpmetricgrpc/internal/oconf/options.go b/exporters/otlp/otlpmetric/otlpmetricgrpc/internal/oconf/options.go
index 2ac8db5a8..aae6595e3 100644
--- a/exporters/otlp/otlpmetric/otlpmetricgrpc/internal/oconf/options.go
+++ b/exporters/otlp/otlpmetric/otlpmetricgrpc/internal/oconf/options.go
@@ -4,6 +4,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package oconf provides configuration for the otlpmetric exporters.
package oconf // import "go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc/internal/oconf"
import (
diff --git a/exporters/otlp/otlpmetric/otlpmetricgrpc/internal/otest/client.go b/exporters/otlp/otlpmetric/otlpmetricgrpc/internal/otest/client.go
index 3cc734337..4c0a4186b 100644
--- a/exporters/otlp/otlpmetric/otlpmetricgrpc/internal/otest/client.go
+++ b/exporters/otlp/otlpmetric/otlpmetricgrpc/internal/otest/client.go
@@ -4,6 +4,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package otest provides testing functionliaty for the otlpmetric exporters.
package otest // import "go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc/internal/otest"
import (
diff --git a/exporters/otlp/otlpmetric/otlpmetrichttp/client.go b/exporters/otlp/otlpmetric/otlpmetrichttp/client.go
index 86da30e37..aa61592a0 100644
--- a/exporters/otlp/otlpmetric/otlpmetrichttp/client.go
+++ b/exporters/otlp/otlpmetric/otlpmetrichttp/client.go
@@ -277,7 +277,7 @@ type request struct {
// reset reinitializes the request Body and uses ctx for the request.
func (r *request) reset(ctx context.Context) {
r.Body = r.bodyReader()
- r.Request = r.Request.WithContext(ctx)
+ r.Request = r.WithContext(ctx)
}
// retryableError represents a request failure that can be retried.
diff --git a/exporters/otlp/otlpmetric/otlpmetrichttp/internal/envconfig/envconfig.go b/exporters/otlp/otlpmetric/otlpmetrichttp/internal/envconfig/envconfig.go
index 7ac42759f..057753da3 100644
--- a/exporters/otlp/otlpmetric/otlpmetrichttp/internal/envconfig/envconfig.go
+++ b/exporters/otlp/otlpmetric/otlpmetrichttp/internal/envconfig/envconfig.go
@@ -4,6 +4,8 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package envconfig provides functionality to parse configuration from
+// environment variables.
package envconfig // import "go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp/internal/envconfig"
import (
diff --git a/exporters/otlp/otlpmetric/otlpmetrichttp/internal/envconfig/envconfig_test.go b/exporters/otlp/otlpmetric/otlpmetrichttp/internal/envconfig/envconfig_test.go
index 53cb0fede..e9bb34cdc 100644
--- a/exporters/otlp/otlpmetric/otlpmetrichttp/internal/envconfig/envconfig_test.go
+++ b/exporters/otlp/otlpmetric/otlpmetrichttp/internal/envconfig/envconfig_test.go
@@ -141,9 +141,10 @@ func TestEnvConfig(t *testing.T) {
name: "with a bool config",
reader: EnvOptionsReader{
GetEnv: func(n string) string {
- if n == "HELLO" {
+ switch n {
+ case "HELLO":
return "true"
- } else if n == "WORLD" {
+ case "WORLD":
return "false"
}
return ""
diff --git a/exporters/otlp/otlpmetric/otlpmetrichttp/internal/gen.go b/exporters/otlp/otlpmetric/otlpmetrichttp/internal/gen.go
index 1b379f10c..8849f341a 100644
--- a/exporters/otlp/otlpmetric/otlpmetrichttp/internal/gen.go
+++ b/exporters/otlp/otlpmetric/otlpmetrichttp/internal/gen.go
@@ -1,6 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package internal provides internal functionally for the otlpmetrichttp package.
package internal // import "go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp/internal"
//go:generate gotmpl --body=../../../../../internal/shared/otlp/partialsuccess.go.tmpl "--data={}" --out=partialsuccess.go
diff --git a/exporters/otlp/otlpmetric/otlpmetrichttp/internal/oconf/options.go b/exporters/otlp/otlpmetric/otlpmetrichttp/internal/oconf/options.go
index db595e49e..d322a0a3e 100644
--- a/exporters/otlp/otlpmetric/otlpmetrichttp/internal/oconf/options.go
+++ b/exporters/otlp/otlpmetric/otlpmetrichttp/internal/oconf/options.go
@@ -4,6 +4,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package oconf provides configuration for the otlpmetric exporters.
package oconf // import "go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp/internal/oconf"
import (
diff --git a/exporters/otlp/otlpmetric/otlpmetrichttp/internal/otest/client.go b/exporters/otlp/otlpmetric/otlpmetrichttp/internal/otest/client.go
index 7b61e8cba..716cb1544 100644
--- a/exporters/otlp/otlpmetric/otlpmetrichttp/internal/otest/client.go
+++ b/exporters/otlp/otlpmetric/otlpmetrichttp/internal/otest/client.go
@@ -4,6 +4,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package otest provides testing functionliaty for the otlpmetric exporters.
package otest // import "go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp/internal/otest"
import (
diff --git a/exporters/otlp/otlptrace/internal/tracetransform/attribute.go b/exporters/otlp/otlptrace/internal/tracetransform/attribute.go
index 4571a5ca3..ca4544f0d 100644
--- a/exporters/otlp/otlptrace/internal/tracetransform/attribute.go
+++ b/exporters/otlp/otlptrace/internal/tracetransform/attribute.go
@@ -1,6 +1,8 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package tracetransform provides conversion functionality for the otlptrace
+// exporters.
package tracetransform // import "go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform"
import (
diff --git a/exporters/otlp/otlptrace/otlptracegrpc/internal/envconfig/envconfig.go b/exporters/otlp/otlptrace/otlptracegrpc/internal/envconfig/envconfig.go
index 4abf48d1f..746e953e6 100644
--- a/exporters/otlp/otlptrace/otlptracegrpc/internal/envconfig/envconfig.go
+++ b/exporters/otlp/otlptrace/otlptracegrpc/internal/envconfig/envconfig.go
@@ -4,6 +4,8 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package envconfig provides functionality to parse configuration from
+// environment variables.
package envconfig // import "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/envconfig"
import (
diff --git a/exporters/otlp/otlptrace/otlptracegrpc/internal/envconfig/envconfig_test.go b/exporters/otlp/otlptrace/otlptracegrpc/internal/envconfig/envconfig_test.go
index 53cb0fede..e9bb34cdc 100644
--- a/exporters/otlp/otlptrace/otlptracegrpc/internal/envconfig/envconfig_test.go
+++ b/exporters/otlp/otlptrace/otlptracegrpc/internal/envconfig/envconfig_test.go
@@ -141,9 +141,10 @@ func TestEnvConfig(t *testing.T) {
name: "with a bool config",
reader: EnvOptionsReader{
GetEnv: func(n string) string {
- if n == "HELLO" {
+ switch n {
+ case "HELLO":
return "true"
- } else if n == "WORLD" {
+ case "WORLD":
return "false"
}
return ""
diff --git a/exporters/otlp/otlptrace/otlptracegrpc/internal/gen.go b/exporters/otlp/otlptrace/otlptracegrpc/internal/gen.go
index 97cd6c54f..b6e6b10fb 100644
--- a/exporters/otlp/otlptrace/otlptracegrpc/internal/gen.go
+++ b/exporters/otlp/otlptrace/otlptracegrpc/internal/gen.go
@@ -1,6 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package internal provides internal functionally for the otlptracegrpc package.
package internal // import "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal"
//go:generate gotmpl --body=../../../../../internal/shared/otlp/partialsuccess.go.tmpl "--data={}" --out=partialsuccess.go
diff --git a/exporters/otlp/otlptrace/otlptracegrpc/internal/otlpconfig/options.go b/exporters/otlp/otlptrace/otlptracegrpc/internal/otlpconfig/options.go
index 0a317d926..85c31c99b 100644
--- a/exporters/otlp/otlptrace/otlptracegrpc/internal/otlpconfig/options.go
+++ b/exporters/otlp/otlptrace/otlptracegrpc/internal/otlpconfig/options.go
@@ -4,6 +4,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package otlpconfig provides configuration for the otlptrace exporters.
package otlpconfig // import "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/otlpconfig"
import (
diff --git a/exporters/otlp/otlptrace/otlptracegrpc/internal/otlptracetest/otlptest.go b/exporters/otlp/otlptrace/otlptracegrpc/internal/otlptracetest/otlptest.go
index dbe41b8c4..cd34cbde8 100644
--- a/exporters/otlp/otlptrace/otlptracegrpc/internal/otlptracetest/otlptest.go
+++ b/exporters/otlp/otlptrace/otlptracegrpc/internal/otlptracetest/otlptest.go
@@ -4,6 +4,8 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package otlptracetest provides testing utilities and framework for the
+// otlptrace exporters.
package otlptracetest // import "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/otlptracetest"
import (
diff --git a/exporters/otlp/otlptrace/otlptracehttp/client.go b/exporters/otlp/otlptrace/otlptracehttp/client.go
index 16c006b2c..3912d6203 100644
--- a/exporters/otlp/otlptrace/otlptracehttp/client.go
+++ b/exporters/otlp/otlptrace/otlptracehttp/client.go
@@ -300,7 +300,7 @@ type request struct {
// reset reinitializes the request Body and uses ctx for the request.
func (r *request) reset(ctx context.Context) {
r.Body = r.bodyReader()
- r.Request = r.Request.WithContext(ctx)
+ r.Request = r.WithContext(ctx)
}
// retryableError represents a request failure that can be retried.
diff --git a/exporters/otlp/otlptrace/otlptracehttp/internal/envconfig/envconfig.go b/exporters/otlp/otlptrace/otlptracehttp/internal/envconfig/envconfig.go
index f30bb66ae..c1e138eda 100644
--- a/exporters/otlp/otlptrace/otlptracehttp/internal/envconfig/envconfig.go
+++ b/exporters/otlp/otlptrace/otlptracehttp/internal/envconfig/envconfig.go
@@ -4,6 +4,8 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package envconfig provides functionality to parse configuration from
+// environment variables.
package envconfig // import "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp/internal/envconfig"
import (
diff --git a/exporters/otlp/otlptrace/otlptracehttp/internal/envconfig/envconfig_test.go b/exporters/otlp/otlptrace/otlptracehttp/internal/envconfig/envconfig_test.go
index 53cb0fede..e9bb34cdc 100644
--- a/exporters/otlp/otlptrace/otlptracehttp/internal/envconfig/envconfig_test.go
+++ b/exporters/otlp/otlptrace/otlptracehttp/internal/envconfig/envconfig_test.go
@@ -141,9 +141,10 @@ func TestEnvConfig(t *testing.T) {
name: "with a bool config",
reader: EnvOptionsReader{
GetEnv: func(n string) string {
- if n == "HELLO" {
+ switch n {
+ case "HELLO":
return "true"
- } else if n == "WORLD" {
+ case "WORLD":
return "false"
}
return ""
diff --git a/exporters/otlp/otlptrace/otlptracehttp/internal/gen.go b/exporters/otlp/otlptrace/otlptracehttp/internal/gen.go
index e4142b9d7..3d344dc85 100644
--- a/exporters/otlp/otlptrace/otlptracehttp/internal/gen.go
+++ b/exporters/otlp/otlptrace/otlptracehttp/internal/gen.go
@@ -1,6 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package internal provides internal functionally for the otlptracehttp package.
package internal // import "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp/internal"
//go:generate gotmpl --body=../../../../../internal/shared/otlp/partialsuccess.go.tmpl "--data={}" --out=partialsuccess.go
diff --git a/exporters/otlp/otlptrace/otlptracehttp/internal/otlpconfig/options.go b/exporters/otlp/otlptrace/otlptracehttp/internal/otlpconfig/options.go
index 6a9c4d3a6..0809aa755 100644
--- a/exporters/otlp/otlptrace/otlptracehttp/internal/otlpconfig/options.go
+++ b/exporters/otlp/otlptrace/otlptracehttp/internal/otlpconfig/options.go
@@ -4,6 +4,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package otlpconfig provides configuration for the otlptrace exporters.
package otlpconfig // import "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp/internal/otlpconfig"
import (
diff --git a/exporters/otlp/otlptrace/otlptracehttp/internal/otlptracetest/otlptest.go b/exporters/otlp/otlptrace/otlptracehttp/internal/otlptracetest/otlptest.go
index 1805264ef..1107a58b2 100644
--- a/exporters/otlp/otlptrace/otlptracehttp/internal/otlptracetest/otlptest.go
+++ b/exporters/otlp/otlptrace/otlptracehttp/internal/otlptracetest/otlptest.go
@@ -4,6 +4,8 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package otlptracetest provides testing utilities and framework for the
+// otlptrace exporters.
package otlptracetest // import "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp/internal/otlptracetest"
import (
diff --git a/exporters/prometheus/exporter.go b/exporters/prometheus/exporter.go
index c33611c1a..c5323c646 100644
--- a/exporters/prometheus/exporter.go
+++ b/exporters/prometheus/exporter.go
@@ -444,7 +444,7 @@ func (c *collector) getName(m metricdata.Metrics, typ *dto.MetricType) string {
// underscore when the escaping scheme is underscore escaping. This is meant to
// capture any character that should be considered a "delimiter".
func convertsToUnderscore(b rune) bool {
- return !((b >= 'a' && b <= 'z') || (b >= 'A' && b <= 'Z') || b == ':' || (b >= '0' && b <= '9'))
+ return (b < 'a' || b > 'z') && (b < 'A' || b > 'Z') && b != ':' && (b < '0' || b > '9')
}
func (c *collector) metricType(m metricdata.Metrics) *dto.MetricType {
diff --git a/exporters/zipkin/internal/gen.go b/exporters/zipkin/internal/gen.go
index 785f8f5bb..f6e2532ab 100644
--- a/exporters/zipkin/internal/gen.go
+++ b/exporters/zipkin/internal/gen.go
@@ -1,6 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package internal provides internal functionality for the zipkin package.
package internal // import "go.opentelemetry.io/otel/exporters/zipkin/internal"
//go:generate gotmpl --body=../../../internal/shared/matchers/expectation.go.tmpl "--data={}" --out=matchers/expectation.go
diff --git a/exporters/zipkin/internal/internaltest/harness.go b/exporters/zipkin/internal/internaltest/harness.go
index 268b95e41..bfc491f3c 100644
--- a/exporters/zipkin/internal/internaltest/harness.go
+++ b/exporters/zipkin/internal/internaltest/harness.go
@@ -4,6 +4,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package internaltest provides testing functionality.
package internaltest // import "go.opentelemetry.io/otel/exporters/zipkin/internal/internaltest"
import (
diff --git a/exporters/zipkin/internal/matchers/expectation.go b/exporters/zipkin/internal/matchers/expectation.go
index 94ebffcdb..efe94ba28 100644
--- a/exporters/zipkin/internal/matchers/expectation.go
+++ b/exporters/zipkin/internal/matchers/expectation.go
@@ -4,6 +4,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package matchers provides comparison and matching functionality for tests.
package matchers // import "go.opentelemetry.io/otel/exporters/zipkin/internal/matchers"
import (
diff --git a/internal/global/handler.go b/internal/global/handler.go
index c657ff8e7..2e47b2964 100644
--- a/internal/global/handler.go
+++ b/internal/global/handler.go
@@ -1,6 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package global provides the OpenTelemetry global API.
package global // import "go.opentelemetry.io/otel/internal/global"
import (
diff --git a/internal/global/state_test.go b/internal/global/state_test.go
index fe74e7eab..6afba454d 100644
--- a/internal/global/state_test.go
+++ b/internal/global/state_test.go
@@ -18,19 +18,19 @@ import (
type nonComparableErrorHandler struct {
ErrorHandler
- nonComparable func() //nolint:structcheck,unused // This is not called.
+ nonComparable func() //nolint:unused // This is not called.
}
type nonComparableTracerProvider struct {
trace.TracerProvider
- nonComparable func() //nolint:structcheck,unused // This is not called.
+ nonComparable func() //nolint:unused // This is not called.
}
type nonComparableMeterProvider struct {
metric.MeterProvider
- nonComparable func() //nolint:structcheck,unused // This is not called.
+ nonComparable func() //nolint:unused // This is not called.
}
type fnErrHandler func(error)
diff --git a/internal/internaltest/harness.go b/internal/internaltest/harness.go
index bff592a92..519579fca 100644
--- a/internal/internaltest/harness.go
+++ b/internal/internaltest/harness.go
@@ -4,6 +4,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package internaltest provides testing functionality.
package internaltest // import "go.opentelemetry.io/otel/internal/internaltest"
import (
diff --git a/internal/matchers/expectation.go b/internal/matchers/expectation.go
index 90b29bd1b..26a1b98bd 100644
--- a/internal/matchers/expectation.go
+++ b/internal/matchers/expectation.go
@@ -4,6 +4,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package matchers provides comparison and matching functionality for tests.
package matchers // import "go.opentelemetry.io/otel/internal/matchers"
import (
diff --git a/internal/rawhelpers.go b/internal/rawhelpers.go
index b2fe3e41d..d98bb816a 100644
--- a/internal/rawhelpers.go
+++ b/internal/rawhelpers.go
@@ -1,6 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package internal provides non-public functionality.
package internal // import "go.opentelemetry.io/otel/internal"
import (
diff --git a/internal/shared/internaltest/harness.go.tmpl b/internal/shared/internaltest/harness.go.tmpl
index 1cb55aaf2..df98c6242 100644
--- a/internal/shared/internaltest/harness.go.tmpl
+++ b/internal/shared/internaltest/harness.go.tmpl
@@ -4,6 +4,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package internaltest provides testing functionality.
package internaltest
import (
diff --git a/internal/shared/matchers/expectation.go.tmpl b/internal/shared/matchers/expectation.go.tmpl
index 2d5b4c925..171629f32 100644
--- a/internal/shared/matchers/expectation.go.tmpl
+++ b/internal/shared/matchers/expectation.go.tmpl
@@ -4,6 +4,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package matchers provides comparison and matching functionality for tests.
package matchers
import (
diff --git a/internal/shared/otlp/envconfig/envconfig.go.tmpl b/internal/shared/otlp/envconfig/envconfig.go.tmpl
index 4abf48d1f..746e953e6 100644
--- a/internal/shared/otlp/envconfig/envconfig.go.tmpl
+++ b/internal/shared/otlp/envconfig/envconfig.go.tmpl
@@ -4,6 +4,8 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package envconfig provides functionality to parse configuration from
+// environment variables.
package envconfig // import "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/envconfig"
import (
diff --git a/internal/shared/otlp/envconfig/envconfig_test.go.tmpl b/internal/shared/otlp/envconfig/envconfig_test.go.tmpl
index 53cb0fede..e9bb34cdc 100644
--- a/internal/shared/otlp/envconfig/envconfig_test.go.tmpl
+++ b/internal/shared/otlp/envconfig/envconfig_test.go.tmpl
@@ -141,9 +141,10 @@ func TestEnvConfig(t *testing.T) {
name: "with a bool config",
reader: EnvOptionsReader{
GetEnv: func(n string) string {
- if n == "HELLO" {
+ switch n {
+ case "HELLO":
return "true"
- } else if n == "WORLD" {
+ case "WORLD":
return "false"
}
return ""
diff --git a/internal/shared/otlp/otlplog/transform/log.go.tmpl b/internal/shared/otlp/otlplog/transform/log.go.tmpl
index adf407800..b4961699f 100644
--- a/internal/shared/otlp/otlplog/transform/log.go.tmpl
+++ b/internal/shared/otlp/otlplog/transform/log.go.tmpl
@@ -257,7 +257,7 @@ func stringSliceValues(vals []string) []*cpb.AnyValue {
return converted
}
-// Attrs transforms a slice of [api.KeyValue] into OTLP key-values.
+// LogAttrs transforms a slice of [api.KeyValue] into OTLP key-values.
func LogAttrs(attrs []api.KeyValue) []*cpb.KeyValue {
if len(attrs) == 0 {
return nil
diff --git a/internal/shared/otlp/otlpmetric/oconf/options.go.tmpl b/internal/shared/otlp/otlpmetric/oconf/options.go.tmpl
index c862f64e2..1cb35e4ef 100644
--- a/internal/shared/otlp/otlpmetric/oconf/options.go.tmpl
+++ b/internal/shared/otlp/otlpmetric/oconf/options.go.tmpl
@@ -4,6 +4,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package oconf provides configuration for the otlpmetric exporters.
package oconf
import (
diff --git a/internal/shared/otlp/otlpmetric/otest/client.go.tmpl b/internal/shared/otlp/otlpmetric/otest/client.go.tmpl
index 699dac4fc..7b7824cb2 100644
--- a/internal/shared/otlp/otlpmetric/otest/client.go.tmpl
+++ b/internal/shared/otlp/otlpmetric/otest/client.go.tmpl
@@ -4,6 +4,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package otest provides testing functionliaty for the otlpmetric exporters.
package otest
import (
diff --git a/internal/shared/otlp/otlptrace/otlpconfig/options.go.tmpl b/internal/shared/otlp/otlptrace/otlpconfig/options.go.tmpl
index 4118e156e..9edd90e1e 100644
--- a/internal/shared/otlp/otlptrace/otlpconfig/options.go.tmpl
+++ b/internal/shared/otlp/otlptrace/otlpconfig/options.go.tmpl
@@ -4,6 +4,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package otlpconfig provides configuration for the otlptrace exporters.
package otlpconfig
import (
diff --git a/internal/shared/otlp/otlptrace/otlptracetest/otlptest.go.tmpl b/internal/shared/otlp/otlptrace/otlptracetest/otlptest.go.tmpl
index 1eec6efae..4c6901463 100644
--- a/internal/shared/otlp/otlptrace/otlptracetest/otlptest.go.tmpl
+++ b/internal/shared/otlp/otlptrace/otlptracetest/otlptest.go.tmpl
@@ -4,6 +4,8 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package otlptracetest provides testing utilities and framework for the
+// otlptrace exporters.
package otlptracetest
import (
diff --git a/internal/tools/go.mod b/internal/tools/go.mod
index 43b2ddd32..55c419b18 100644
--- a/internal/tools/go.mod
+++ b/internal/tools/go.mod
@@ -5,7 +5,7 @@ go 1.23.0
require (
github.com/client9/misspell v0.3.4
github.com/gogo/protobuf v1.3.2
- github.com/golangci/golangci-lint v1.64.8
+ github.com/golangci/golangci-lint/v2 v2.0.2
github.com/jcchavezs/porto v0.7.0
github.com/wadey/gocovmerge v0.0.0-20160331181800-b5bfa59ec0ad
go.opentelemetry.io/build-tools/crosslink v0.20.0
@@ -41,6 +41,7 @@ require (
github.com/alingse/nilnesserr v0.1.2 // indirect
github.com/ashanbrown/forbidigo v1.6.0 // indirect
github.com/ashanbrown/makezero v1.2.0 // indirect
+ github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
github.com/beorn7/perks v1.0.1 // indirect
github.com/bkielbasa/cyclop v1.2.3 // indirect
github.com/blizzy78/varnamelen v0.8.0 // indirect
@@ -53,12 +54,18 @@ require (
github.com/ccojocar/zxcvbn-go v1.0.2 // indirect
github.com/cespare/xxhash/v2 v2.3.0 // indirect
github.com/charithe/durationcheck v0.0.10 // indirect
+ github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc // indirect
+ github.com/charmbracelet/lipgloss v1.1.0 // indirect
+ github.com/charmbracelet/x/ansi v0.8.0 // indirect
+ github.com/charmbracelet/x/cellbuf v0.0.13-0.20250311204145-2c3ea96c31dd // indirect
+ github.com/charmbracelet/x/term v0.2.1 // indirect
github.com/chavacava/garif v0.1.0 // indirect
github.com/ckaznocha/intrange v0.3.1 // indirect
github.com/cloudflare/circl v1.6.0 // indirect
github.com/curioswitch/go-reassign v0.3.0 // indirect
github.com/cyphar/filepath-securejoin v0.4.1 // indirect
github.com/daixiang0/gci v0.13.6 // indirect
+ github.com/dave/dst v0.27.3 // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/denis-tingaikin/go-header v0.5.0 // indirect
github.com/emirpasic/gods v1.18.1 // indirect
@@ -88,6 +95,7 @@ require (
github.com/golangci/dupl v0.0.0-20250308024227-f665c8d69b32 // indirect
github.com/golangci/go-printf-func-name v0.1.0 // indirect
github.com/golangci/gofmt v0.0.0-20250106114630-d62b90e6713d // indirect
+ github.com/golangci/golines v0.0.0-20250217134842-442fd0091d95 // indirect
github.com/golangci/misspell v0.6.0 // indirect
github.com/golangci/plugin-module-register v0.1.1 // indirect
github.com/golangci/revgrep v0.8.0 // indirect
@@ -121,6 +129,7 @@ require (
github.com/ldez/tagliatelle v0.7.1 // indirect
github.com/ldez/usetesting v0.4.2 // indirect
github.com/leonklingele/grouper v1.1.2 // indirect
+ github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
github.com/macabu/inamedparam v0.2.0 // indirect
github.com/maratori/testableexamples v1.0.0 // indirect
github.com/maratori/testpackage v1.1.1 // indirect
@@ -131,6 +140,7 @@ require (
github.com/mgechev/revive v1.7.0 // indirect
github.com/mitchellh/go-homedir v1.1.0 // indirect
github.com/moricho/tparallel v0.3.2 // indirect
+ github.com/muesli/termenv v0.16.0 // indirect
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
github.com/nakabonne/nestif v0.3.1 // indirect
github.com/nishanths/exhaustive v0.12.0 // indirect
@@ -164,7 +174,6 @@ require (
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 // indirect
github.com/sirupsen/logrus v1.9.3 // indirect
github.com/sivchari/containedctx v1.0.3 // indirect
- github.com/sivchari/tenv v1.12.1 // indirect
github.com/skeema/knownhosts v1.3.1 // indirect
github.com/sonatard/noctx v0.1.0 // indirect
github.com/sourcegraph/conc v0.3.0 // indirect
@@ -191,6 +200,7 @@ require (
github.com/uudashr/iface v1.3.1 // indirect
github.com/xanzy/ssh-agent v0.3.3 // indirect
github.com/xen0n/gosmopolitan v1.3.0 // indirect
+ github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
github.com/yagipy/maintidx v1.0.0 // indirect
github.com/yeya24/promlinter v0.3.0 // indirect
github.com/ykadowak/zerologlint v0.1.5 // indirect
diff --git a/internal/tools/go.sum b/internal/tools/go.sum
index 428663c9c..a39adc3b1 100644
--- a/internal/tools/go.sum
+++ b/internal/tools/go.sum
@@ -53,6 +53,8 @@ github.com/ashanbrown/forbidigo v1.6.0 h1:D3aewfM37Yb3pxHujIPSpTf6oQk9sc9WZi8ger
github.com/ashanbrown/forbidigo v1.6.0/go.mod h1:Y8j9jy9ZYAEHXdu723cUlraTqbzjKF1MUyfOKL+AjcU=
github.com/ashanbrown/makezero v1.2.0 h1:/2Lp1bypdmK9wDIq7uWBlDF1iMUpIIS4A+pF6C9IEUU=
github.com/ashanbrown/makezero v1.2.0/go.mod h1:dxlPhHbDMC6N6xICzFBSK+4njQDdK8euNO0qjQMtGY4=
+github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k=
+github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8=
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
github.com/bkielbasa/cyclop v1.2.3 h1:faIVMIGDIANuGPWH031CZJTi2ymOQBULs9H21HSMa5w=
@@ -77,6 +79,16 @@ github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UF
github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/charithe/durationcheck v0.0.10 h1:wgw73BiocdBDQPik+zcEoBG/ob8uyBHf2iyoHGPf5w4=
github.com/charithe/durationcheck v0.0.10/go.mod h1:bCWXb7gYRysD1CU3C+u4ceO49LoGOY1C1L6uouGNreQ=
+github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc h1:4pZI35227imm7yK2bGPcfpFEmuY1gc2YSTShr4iJBfs=
+github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc/go.mod h1:X4/0JoqgTIPSFcRA/P6INZzIuyqdFY5rm8tb41s9okk=
+github.com/charmbracelet/lipgloss v1.1.0 h1:vYXsiLHVkK7fp74RkV7b2kq9+zDLoEU4MZoFqR/noCY=
+github.com/charmbracelet/lipgloss v1.1.0/go.mod h1:/6Q8FR2o+kj8rz4Dq0zQc3vYf7X+B0binUUBwA0aL30=
+github.com/charmbracelet/x/ansi v0.8.0 h1:9GTq3xq9caJW8ZrBTe0LIe2fvfLR/bYXKTx2llXn7xE=
+github.com/charmbracelet/x/ansi v0.8.0/go.mod h1:wdYl/ONOLHLIVmQaxbIYEC/cRKOQyjTkowiI4blgS9Q=
+github.com/charmbracelet/x/cellbuf v0.0.13-0.20250311204145-2c3ea96c31dd h1:vy0GVL4jeHEwG5YOXDmi86oYw2yuYUGqz6a8sLwg0X8=
+github.com/charmbracelet/x/cellbuf v0.0.13-0.20250311204145-2c3ea96c31dd/go.mod h1:xe0nKWGd3eJgtqZRaN9RjMtK7xUYchjzPr7q6kcvCCs=
+github.com/charmbracelet/x/term v0.2.1 h1:AQeHeLZ1OqSXhrAWpYUtZyX1T3zVxfpZuEQMIQaGIAQ=
+github.com/charmbracelet/x/term v0.2.1/go.mod h1:oQ4enTYFV7QN4m0i9mzHrViD7TQKvNEEkHUMCmsxdUg=
github.com/chavacava/garif v0.1.0 h1:2JHa3hbYf5D9dsgseMKAmc/MZ109otzgNFk5s87H9Pc=
github.com/chavacava/garif v0.1.0/go.mod h1:XMyYCkEL58DF0oyW4qDjjnPWONs2HBqYKI+UIPD+Gww=
github.com/ckaznocha/intrange v0.3.1 h1:j1onQyXvHUsPWujDH6WIjhyH26gkRt/txNlV7LspvJs=
@@ -92,6 +104,10 @@ github.com/cyphar/filepath-securejoin v0.4.1 h1:JyxxyPEaktOD+GAnqIqTf9A8tHyAG22r
github.com/cyphar/filepath-securejoin v0.4.1/go.mod h1:Sdj7gXlvMcPZsbhwhQ33GguGLDGQL7h7bg04C/+u9jI=
github.com/daixiang0/gci v0.13.6 h1:RKuEOSkGpSadkGbvZ6hJ4ddItT3cVZ9Vn9Rybk6xjl8=
github.com/daixiang0/gci v0.13.6/go.mod h1:12etP2OniiIdP4q+kjUGrC/rUagga7ODbqsom5Eo5Yk=
+github.com/dave/dst v0.27.3 h1:P1HPoMza3cMEquVf9kKy8yXsFirry4zEnWOdYPOoIzY=
+github.com/dave/dst v0.27.3/go.mod h1:jHh6EOibnHgcUW3WjKHisiooEkYwqpHLBSX1iOBhEyc=
+github.com/dave/jennifer v1.7.1 h1:B4jJJDHelWcDhlRQxWeo0Npa/pYKBLrirAQoTN45txo=
+github.com/dave/jennifer v1.7.1/go.mod h1:nXbxhEmQfOZhWml3D1cDK5M1FLnMSozpbFN/m3RmGZc=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
@@ -175,8 +191,10 @@ github.com/golangci/go-printf-func-name v0.1.0 h1:dVokQP+NMTO7jwO4bwsRwLWeudOVUP
github.com/golangci/go-printf-func-name v0.1.0/go.mod h1:wqhWFH5mUdJQhweRnldEywnR5021wTdZSNgwYceV14s=
github.com/golangci/gofmt v0.0.0-20250106114630-d62b90e6713d h1:viFft9sS/dxoYY0aiOTsLKO2aZQAPT4nlQCsimGcSGE=
github.com/golangci/gofmt v0.0.0-20250106114630-d62b90e6713d/go.mod h1:ivJ9QDg0XucIkmwhzCDsqcnxxlDStoTl89jDMIoNxKY=
-github.com/golangci/golangci-lint v1.64.8 h1:y5TdeVidMtBGG32zgSC7ZXTFNHrsJkDnpO4ItB3Am+I=
-github.com/golangci/golangci-lint v1.64.8/go.mod h1:5cEsUQBSr6zi8XI8OjmcY2Xmliqc4iYL7YoPrL+zLJ4=
+github.com/golangci/golangci-lint/v2 v2.0.2 h1:dMCC8ikPiLDvHMFy3+XypSAuGDBOLzwWqqamer+bWsY=
+github.com/golangci/golangci-lint/v2 v2.0.2/go.mod h1:ptNNMeGBQrbves0Qq38xvfdJg18PzxmT+7KRCOpm6i8=
+github.com/golangci/golines v0.0.0-20250217134842-442fd0091d95 h1:AkK+w9FZBXlU/xUmBtSJN1+tAI4FIvy5WtnUnY8e4p8=
+github.com/golangci/golines v0.0.0-20250217134842-442fd0091d95/go.mod h1:k9mmcyWKSTMcPPvQUCfRWWQ9VHJ1U9Dc0R7kaXAgtnQ=
github.com/golangci/misspell v0.6.0 h1:JCle2HUTNWirNlDIAUO44hUsKhOFqGPoC4LZxlaSXDs=
github.com/golangci/misspell v0.6.0/go.mod h1:keMNyY6R9isGaSAu+4Q8NMBwMPkh15Gtc8UCVoDtAWo=
github.com/golangci/plugin-module-register v0.1.1 h1:TCmesur25LnyJkpsVrupv1Cdzo+2f7zX0H6Jkw1Ol6c=
@@ -275,6 +293,8 @@ github.com/ldez/usetesting v0.4.2 h1:J2WwbrFGk3wx4cZwSMiCQQ00kjGR0+tuuyW0Lqm4lwA
github.com/ldez/usetesting v0.4.2/go.mod h1:eEs46T3PpQ+9RgN9VjpY6qWdiw2/QmfiDeWmdZdrjIQ=
github.com/leonklingele/grouper v1.1.2 h1:o1ARBDLOmmasUaNDesWqWCIFH3u7hoFlM84YrjT3mIY=
github.com/leonklingele/grouper v1.1.2/go.mod h1:6D0M/HVkhs2yRKRFZUoGjeDy7EZTfFBE9gl4kjmIGkA=
+github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY=
+github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0=
github.com/macabu/inamedparam v0.2.0 h1:VyPYpOc10nkhI2qeNUdh3Zket4fcZjEWe35poddBCpE=
github.com/macabu/inamedparam v0.2.0/go.mod h1:+Pee9/YfGe5LJ62pYXqB89lJ+0k5bsR8Wgz/C0Zlq3U=
github.com/maratori/testableexamples v1.0.0 h1:dU5alXRrD8WKSjOUnmJZuzdxWOEQ57+7s93SLMxb2vI=
@@ -298,6 +318,8 @@ github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
github.com/moricho/tparallel v0.3.2 h1:odr8aZVFA3NZrNybggMkYO3rgPRcqjeQUlBBFVxKHTI=
github.com/moricho/tparallel v0.3.2/go.mod h1:OQ+K3b4Ln3l2TZveGCywybl68glfLEwFGqvnjok8b+U=
+github.com/muesli/termenv v0.16.0 h1:S5AlUN9dENB57rsbnkPyfdGuWIlkmzJjbFf0Tf5FWUc=
+github.com/muesli/termenv v0.16.0/go.mod h1:ZRfOIKPFDYQoDFF4Olj7/QJbW60Ol/kL1pU3VfY/Cnk=
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
github.com/nakabonne/nestif v0.3.1 h1:wm28nZjhQY5HyYPx+weN3Q65k6ilSBxDb8v5S81B81U=
@@ -387,8 +409,6 @@ github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ
github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
github.com/sivchari/containedctx v1.0.3 h1:x+etemjbsh2fB5ewm5FeLNi5bUjK0V8n0RB+Wwfd0XE=
github.com/sivchari/containedctx v1.0.3/go.mod h1:c1RDvCbnJLtH4lLcYD/GqwiBSSf4F5Qk0xld2rBqzJ4=
-github.com/sivchari/tenv v1.12.1 h1:+E0QzjktdnExv/wwsnnyk4oqZBUfuh89YMQT1cyuvSY=
-github.com/sivchari/tenv v1.12.1/go.mod h1:1LjSOUCc25snIr5n3DtGGrENhX3LuWefcplwVGC24mw=
github.com/skeema/knownhosts v1.3.1 h1:X2osQ+RAjK76shCbvhHHHVl3ZlgDm8apHEHFqRjnBY8=
github.com/skeema/knownhosts v1.3.1/go.mod h1:r7KTdC8l4uxWRyK2TpQZ/1o5HaSzh06ePQNxPwTcfiY=
github.com/sonatard/noctx v0.1.0 h1:JjqOc2WN16ISWAjAk8M5ej0RfExEXtkEyExl2hLW+OM=
@@ -459,6 +479,8 @@ github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM
github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw=
github.com/xen0n/gosmopolitan v1.3.0 h1:zAZI1zefvo7gcpbCOrPSHJZJYA9ZgLfJqtKzZ5pHqQM=
github.com/xen0n/gosmopolitan v1.3.0/go.mod h1:rckfr5T6o4lBtM1ga7mLGKZmLxswUoH1zxHgNXOsEt4=
+github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e h1:JVG44RsyaB9T2KIHavMF/ppJZNG9ZpyihvCd0w101no=
+github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e/go.mod h1:RbqR21r5mrJuqunuUZ/Dhy/avygyECGrLceyNeo4LiM=
github.com/yagipy/maintidx v1.0.0 h1:h5NvIsCz+nRDapQ0exNv4aJ0yXSI0420omVANTv3GJM=
github.com/yagipy/maintidx v1.0.0/go.mod h1:0qNf/I/CCZXSMhsRsrEPDZ+DkekpKLXAJfsTACwgXLk=
github.com/yeya24/promlinter v0.3.0 h1:JVDbMp08lVCP7Y6NP3qHroGAO6z2yGKQtS5JsjqtoFs=
diff --git a/internal/tools/tools.go b/internal/tools/tools.go
index de7be4e18..33013ccb5 100644
--- a/internal/tools/tools.go
+++ b/internal/tools/tools.go
@@ -9,7 +9,7 @@ package tools // import "go.opentelemetry.io/otel/internal/tools"
import (
_ "github.com/client9/misspell/cmd/misspell"
_ "github.com/gogo/protobuf/protoc-gen-gogofast"
- _ "github.com/golangci/golangci-lint/cmd/golangci-lint"
+ _ "github.com/golangci/golangci-lint/v2/cmd/golangci-lint"
_ "github.com/jcchavezs/porto/cmd/porto"
_ "github.com/wadey/gocovmerge"
_ "go.opentelemetry.io/build-tools/crosslink"
diff --git a/log/internal/global/log.go b/log/internal/global/log.go
index d97ee9663..e463acbf1 100644
--- a/log/internal/global/log.go
+++ b/log/internal/global/log.go
@@ -1,6 +1,8 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package global is the internal implementation of the OpenTelemetry global
+// Logs API.
package global // import "go.opentelemetry.io/otel/log/internal/global"
import (
diff --git a/log/internal/global/state_test.go b/log/internal/global/state_test.go
index 971c958d8..5dcb53d99 100644
--- a/log/internal/global/state_test.go
+++ b/log/internal/global/state_test.go
@@ -65,7 +65,7 @@ func TestSetLoggerProvider(t *testing.T) {
type nonComparableLoggerProvider struct {
log.LoggerProvider
- noCmp [0]func() //nolint:structcheck,unused // This is indeed used.
+ noCmp [0]func() //nolint:unused // This is indeed used.
}
provider := nonComparableLoggerProvider{}
diff --git a/log/keyvalue.go b/log/keyvalue.go
index 73e4e7dca..87d1a8275 100644
--- a/log/keyvalue.go
+++ b/log/keyvalue.go
@@ -301,7 +301,7 @@ func (v Value) String() string {
case KindBool:
return strconv.FormatBool(v.asBool())
case KindBytes:
- return fmt.Sprint(v.asBytes())
+ return fmt.Sprint(v.asBytes()) // nolint:staticcheck // Use fmt.Sprint to encode as slice.
case KindMap:
return fmt.Sprint(v.asMap())
case KindSlice:
diff --git a/schema/internal/parser_checks.go b/schema/internal/parser_checks.go
index 207eeddea..ac68a6cb7 100644
--- a/schema/internal/parser_checks.go
+++ b/schema/internal/parser_checks.go
@@ -1,6 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package internal provides internal functionality for the schema package.
package internal // import "go.opentelemetry.io/otel/schema/internal"
import (
diff --git a/schema/v1.0/ast/ast_schema.go b/schema/v1.0/ast/ast_schema.go
index 6b52bfab6..b60e57fbd 100644
--- a/schema/v1.0/ast/ast_schema.go
+++ b/schema/v1.0/ast/ast_schema.go
@@ -1,6 +1,8 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package ast provides abstract syntax tree parsing for the OpenTelemetry
+// schema.
package ast // import "go.opentelemetry.io/otel/schema/v1.0/ast"
import "go.opentelemetry.io/otel/schema/v1.0/types"
diff --git a/schema/v1.0/parser.go b/schema/v1.0/parser.go
index 504385ae5..231b15560 100644
--- a/schema/v1.0/parser.go
+++ b/schema/v1.0/parser.go
@@ -1,6 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package schema provides functionality and types for OpenTelemetry schemas.
package schema // import "go.opentelemetry.io/otel/schema/v1.0"
import (
diff --git a/schema/v1.0/types/types.go b/schema/v1.0/types/types.go
index defac3151..3adf28eb1 100644
--- a/schema/v1.0/types/types.go
+++ b/schema/v1.0/types/types.go
@@ -1,6 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package types provides types for the OpenTelemetry schema.
package types // import "go.opentelemetry.io/otel/schema/v1.0/types"
// TelemetryVersion is a version number key in the schema file (e.g. "1.7.0").
diff --git a/schema/v1.1/ast/ast_schema.go b/schema/v1.1/ast/ast_schema.go
index cc2ea9e72..f5e477353 100644
--- a/schema/v1.1/ast/ast_schema.go
+++ b/schema/v1.1/ast/ast_schema.go
@@ -1,6 +1,8 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package ast provides abstract syntax tree parsing for the OpenTelemetry
+// schema.
package ast // import "go.opentelemetry.io/otel/schema/v1.1/ast"
import (
diff --git a/schema/v1.1/parser.go b/schema/v1.1/parser.go
index 217a62165..6e365fa22 100644
--- a/schema/v1.1/parser.go
+++ b/schema/v1.1/parser.go
@@ -1,6 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package schema provides functionality and types for OpenTelemetry schemas.
package schema // import "go.opentelemetry.io/otel/schema/v1.1"
import (
diff --git a/schema/v1.1/types/types.go b/schema/v1.1/types/types.go
index f265857dc..b26e3052c 100644
--- a/schema/v1.1/types/types.go
+++ b/schema/v1.1/types/types.go
@@ -1,6 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package types provides types for the OpenTelemetry schema.
package types // import "go.opentelemetry.io/otel/schema/v1.1/types"
import types10 "go.opentelemetry.io/otel/schema/v1.0/types"
diff --git a/sdk/internal/env/env.go b/sdk/internal/env/env.go
index 07923ed8d..e3309231d 100644
--- a/sdk/internal/env/env.go
+++ b/sdk/internal/env/env.go
@@ -1,6 +1,8 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package env provides types and functionality for environment variable support
+// in the OpenTelemetry SDK.
package env // import "go.opentelemetry.io/otel/sdk/internal/env"
import (
diff --git a/sdk/internal/gen.go b/sdk/internal/gen.go
index 1fc19d3fe..b1107e1c9 100644
--- a/sdk/internal/gen.go
+++ b/sdk/internal/gen.go
@@ -1,6 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package internal provides internal functionality for the sdk package.
package internal // import "go.opentelemetry.io/otel/sdk/internal"
//go:generate gotmpl --body=../../internal/shared/matchers/expectation.go.tmpl "--data={}" --out=matchers/expectation.go
diff --git a/sdk/internal/internaltest/harness.go b/sdk/internal/internaltest/harness.go
index eb041a550..0c5e523fe 100644
--- a/sdk/internal/internaltest/harness.go
+++ b/sdk/internal/internaltest/harness.go
@@ -4,6 +4,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package internaltest provides testing functionality.
package internaltest // import "go.opentelemetry.io/otel/sdk/internal/internaltest"
import (
diff --git a/sdk/internal/matchers/expectation.go b/sdk/internal/matchers/expectation.go
index 8dc353521..2cc3615a0 100644
--- a/sdk/internal/matchers/expectation.go
+++ b/sdk/internal/matchers/expectation.go
@@ -4,6 +4,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package matchers provides comparison and matching functionality for tests.
package matchers // import "go.opentelemetry.io/otel/sdk/internal/matchers"
import (
diff --git a/sdk/log/provider.go b/sdk/log/provider.go
index 096944ea1..359357b7e 100644
--- a/sdk/log/provider.go
+++ b/sdk/log/provider.go
@@ -236,7 +236,7 @@ func WithAttributeCountLimit(limit int) LoggerProviderOption {
})
}
-// AttributeValueLengthLimit sets the maximum allowed attribute value length.
+// WithAttributeValueLengthLimit sets the maximum allowed attribute value length.
//
// This limit only applies to string and string slice attribute values.
// Any string longer than this value will be truncated to this length.
diff --git a/sdk/metric/instrument.go b/sdk/metric/instrument.go
index c33e1a28c..100785008 100644
--- a/sdk/metric/instrument.go
+++ b/sdk/metric/instrument.go
@@ -28,7 +28,7 @@ type InstrumentKind uint8
const (
// instrumentKindUndefined is an undefined instrument kind, it should not
// be used by any initialized type.
- instrumentKindUndefined InstrumentKind = 0 // nolint:deadcode,varcheck,unused
+ instrumentKindUndefined InstrumentKind = 0 // nolint:unused
// InstrumentKindCounter identifies a group of instruments that record
// increasing values synchronously with the code path they are measuring.
InstrumentKindCounter InstrumentKind = 1
diff --git a/sdk/metric/internal/reuse_slice.go b/sdk/metric/internal/reuse_slice.go
index 19ec6806f..ea452be6c 100644
--- a/sdk/metric/internal/reuse_slice.go
+++ b/sdk/metric/internal/reuse_slice.go
@@ -1,6 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package internal provides internal functionality for the metric package.
package internal // import "go.opentelemetry.io/otel/sdk/metric/internal"
// ReuseSlice returns a zeroed view of slice if its capacity is greater than or
diff --git a/sdk/metric/meter.go b/sdk/metric/meter.go
index a6ccd117b..49126c993 100644
--- a/sdk/metric/meter.go
+++ b/sdk/metric/meter.go
@@ -633,7 +633,7 @@ func (p int64InstProvider) histogramAggs(name string, cfg metric.Int64HistogramC
// lookup returns the resolved instrumentImpl.
func (p int64InstProvider) lookup(kind InstrumentKind, name, desc, u string) (*int64Inst, error) {
- return p.meter.int64Insts.Lookup(instID{
+ return p.int64Insts.Lookup(instID{
Name: name,
Description: desc,
Unit: u,
@@ -646,7 +646,7 @@ func (p int64InstProvider) lookup(kind InstrumentKind, name, desc, u string) (*i
// lookupHistogram returns the resolved instrumentImpl.
func (p int64InstProvider) lookupHistogram(name string, cfg metric.Int64HistogramConfig) (*int64Inst, error) {
- return p.meter.int64Insts.Lookup(instID{
+ return p.int64Insts.Lookup(instID{
Name: name,
Description: cfg.Description(),
Unit: cfg.Unit(),
@@ -691,7 +691,7 @@ func (p float64InstProvider) histogramAggs(name string, cfg metric.Float64Histog
// lookup returns the resolved instrumentImpl.
func (p float64InstProvider) lookup(kind InstrumentKind, name, desc, u string) (*float64Inst, error) {
- return p.meter.float64Insts.Lookup(instID{
+ return p.float64Insts.Lookup(instID{
Name: name,
Description: desc,
Unit: u,
@@ -704,7 +704,7 @@ func (p float64InstProvider) lookup(kind InstrumentKind, name, desc, u string) (
// lookupHistogram returns the resolved instrumentImpl.
func (p float64InstProvider) lookupHistogram(name string, cfg metric.Float64HistogramConfig) (*float64Inst, error) {
- return p.meter.float64Insts.Lookup(instID{
+ return p.float64Insts.Lookup(instID{
Name: name,
Description: cfg.Description(),
Unit: cfg.Unit(),
diff --git a/sdk/metric/metricdata/data.go b/sdk/metric/metricdata/data.go
index d32cfc67d..af835e9d9 100644
--- a/sdk/metric/metricdata/data.go
+++ b/sdk/metric/metricdata/data.go
@@ -1,6 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package metricdata provides types for the metric SDK data model.
package metricdata // import "go.opentelemetry.io/otel/sdk/metric/metricdata"
import (
diff --git a/sdk/metric/metricdata/temporality.go b/sdk/metric/metricdata/temporality.go
index 187713dad..2ac840ff3 100644
--- a/sdk/metric/metricdata/temporality.go
+++ b/sdk/metric/metricdata/temporality.go
@@ -10,7 +10,7 @@ type Temporality uint8
const (
// undefinedTemporality represents an unset Temporality.
- //nolint:deadcode,unused,varcheck
+ //nolint:unused
undefinedTemporality Temporality = iota
// CumulativeTemporality defines a measurement interval that continues to
diff --git a/sdk/version.go b/sdk/version.go
index 2b797fbde..eefd3d0e1 100644
--- a/sdk/version.go
+++ b/sdk/version.go
@@ -1,6 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package sdk provides the OpenTelemetry default SDK for Go.
package sdk // import "go.opentelemetry.io/otel/sdk"
// Version is the current release version of the OpenTelemetry SDK in use.
diff --git a/semconv/internal/http.go b/semconv/internal/http.go
index d5197e16c..8662e8b9d 100644
--- a/semconv/internal/http.go
+++ b/semconv/internal/http.go
@@ -1,6 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package internal provides common semconv functionality.
package internal // import "go.opentelemetry.io/otel/semconv/internal"
import (
@@ -178,9 +179,10 @@ func (sc *SemanticConventions) httpBasicAttributesFromHTTPRequest(request *http.
}
flavor := ""
- if request.ProtoMajor == 1 {
+ switch request.ProtoMajor {
+ case 1:
flavor = fmt.Sprintf("1.%d", request.ProtoMinor)
- } else if request.ProtoMajor == 2 {
+ case 2:
flavor = "2"
}
if flavor != "" {
diff --git a/semconv/internal/v2/http.go b/semconv/internal/v2/http.go
index 09e094de9..3709ef099 100644
--- a/semconv/internal/v2/http.go
+++ b/semconv/internal/v2/http.go
@@ -1,6 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package internal provides common semconv functionality.
package internal // import "go.opentelemetry.io/otel/semconv/internal/v2"
import (
diff --git a/semconv/internal/v3/http.go b/semconv/internal/v3/http.go
index 79b25c7ee..bc503642f 100644
--- a/semconv/internal/v3/http.go
+++ b/semconv/internal/v3/http.go
@@ -1,6 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package internal provides common semconv functionality.
package internal // import "go.opentelemetry.io/otel/semconv/internal/v3"
import (
diff --git a/semconv/internal/v4/http.go b/semconv/internal/v4/http.go
index aab73ffe1..347d69935 100644
--- a/semconv/internal/v4/http.go
+++ b/semconv/internal/v4/http.go
@@ -1,6 +1,7 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
+// Package internal provides common semconv functionality.
package internal // import "go.opentelemetry.io/otel/semconv/internal/v4"
import (
diff --git a/trace/internal/telemetry/span.go b/trace/internal/telemetry/span.go
index 3c5e1cdb1..e7ca62c66 100644
--- a/trace/internal/telemetry/span.go
+++ b/trace/internal/telemetry/span.go
@@ -251,13 +251,20 @@ func (s *Span) UnmarshalJSON(data []byte) error {
type SpanFlags int32
const (
+ // SpanFlagsTraceFlagsMask is a mask for trace-flags.
+ //
// Bits 0-7 are used for trace flags.
SpanFlagsTraceFlagsMask SpanFlags = 255
- // Bits 8 and 9 are used to indicate that the parent span or link span is remote.
- // Bit 8 (`HAS_IS_REMOTE`) indicates whether the value is known.
- // Bit 9 (`IS_REMOTE`) indicates whether the span or link is remote.
+ // SpanFlagsContextHasIsRemoteMask is a mask for HAS_IS_REMOTE status.
+ //
+ // Bits 8 and 9 are used to indicate that the parent span or link span is
+ // remote. Bit 8 (`HAS_IS_REMOTE`) indicates whether the value is known.
SpanFlagsContextHasIsRemoteMask SpanFlags = 256
- // SpanFlagsContextHasIsRemoteMask indicates the Span is remote.
+ // SpanFlagsContextIsRemoteMask is a mask for IS_REMOTE status.
+ //
+ // Bits 8 and 9 are used to indicate that the parent span or link span is
+ // remote. Bit 9 (`IS_REMOTE`) indicates whether the span or link is
+ // remote.
SpanFlagsContextIsRemoteMask SpanFlags = 512
)
@@ -266,27 +273,31 @@ const (
type SpanKind int32
const (
- // Indicates that the span represents an internal operation within an application,
- // as opposed to an operation happening at the boundaries. Default value.
+ // SpanKindInternal indicates that the span represents an internal
+ // operation within an application, as opposed to an operation happening at
+ // the boundaries.
SpanKindInternal SpanKind = 1
- // Indicates that the span covers server-side handling of an RPC or other
- // remote network request.
+ // SpanKindServer indicates that the span covers server-side handling of an
+ // RPC or other remote network request.
SpanKindServer SpanKind = 2
- // Indicates that the span describes a request to some remote service.
+ // SpanKindClient indicates that the span describes a request to some
+ // remote service.
SpanKindClient SpanKind = 3
- // Indicates that the span describes a producer sending a message to a broker.
- // Unlike CLIENT and SERVER, there is often no direct critical path latency relationship
- // between producer and consumer spans. A PRODUCER span ends when the message was accepted
- // by the broker while the logical processing of the message might span a much longer time.
+ // SpanKindProducer indicates that the span describes a producer sending a
+ // message to a broker. Unlike SpanKindClient and SpanKindServer, there is
+ // often no direct critical path latency relationship between producer and
+ // consumer spans. A SpanKindProducer span ends when the message was
+ // accepted by the broker while the logical processing of the message might
+ // span a much longer time.
SpanKindProducer SpanKind = 4
- // Indicates that the span describes consumer receiving a message from a broker.
- // Like the PRODUCER kind, there is often no direct critical path latency relationship
- // between producer and consumer spans.
+ // SpanKindConsumer indicates that the span describes a consumer receiving
+ // a message from a broker. Like SpanKindProducer, there is often no direct
+ // critical path latency relationship between producer and consumer spans.
SpanKindConsumer SpanKind = 5
)
-// Event is a time-stamped annotation of the span, consisting of user-supplied
-// text description and key-value pairs.
+// SpanEvent is a time-stamped annotation of the span, consisting of
+// user-supplied text description and key-value pairs.
type SpanEvent struct {
// time_unix_nano is the time the event occurred.
Time time.Time `json:"timeUnixNano,omitempty"`
@@ -369,10 +380,11 @@ func (se *SpanEvent) UnmarshalJSON(data []byte) error {
return nil
}
-// 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.
+// SpanLink is a reference 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 SpanLink struct {
// A unique identifier of a trace that this linked span is part of. The ID is a
// 16-byte array.
diff --git a/trace/internal/telemetry/status.go b/trace/internal/telemetry/status.go
index 1d013a8fa..1039bf40c 100644
--- a/trace/internal/telemetry/status.go
+++ b/trace/internal/telemetry/status.go
@@ -3,17 +3,19 @@
package telemetry // import "go.opentelemetry.io/otel/trace/internal/telemetry"
+// StatusCode is the status of a Span.
+//
// For the semantics of status codes see
// https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/api.md#set-status
type StatusCode int32
const (
- // The default status.
+ // StatusCodeUnset is the default status.
StatusCodeUnset StatusCode = 0
- // The Span has been validated by an Application developer or Operator to
- // have completed successfully.
+ // StatusCodeOK is used when the Span has been validated by an Application
+ // developer or Operator to have completed successfully.
StatusCodeOK StatusCode = 1
- // The Span contains an error.
+ // StatusCodeError is used when the Span contains an error.
StatusCodeError StatusCode = 2
)
@@ -30,7 +32,7 @@ func (s StatusCode) String() string {
return ""
}
-// The Status type defines a logical error model that is suitable for different
+// Status defines a logical error model that is suitable for different
// programming environments, including REST APIs and RPC APIs.
type Status struct {
// A developer-facing human readable error message.
diff --git a/trace/internal/telemetry/traces.go b/trace/internal/telemetry/traces.go
index b03940708..e5f10767c 100644
--- a/trace/internal/telemetry/traces.go
+++ b/trace/internal/telemetry/traces.go
@@ -71,7 +71,7 @@ func (td *Traces) UnmarshalJSON(data []byte) error {
return nil
}
-// A collection of ScopeSpans from a Resource.
+// ResourceSpans is a collection of ScopeSpans from a Resource.
type ResourceSpans struct {
// The resource for the spans in this message.
// If this field is not set then no resource info is known.
@@ -128,7 +128,7 @@ func (rs *ResourceSpans) UnmarshalJSON(data []byte) error {
return nil
}
-// A collection of Spans produced by an InstrumentationScope.
+// ScopeSpans is a collection of Spans produced by an InstrumentationScope.
type ScopeSpans struct {
// The instrumentation scope information for the spans in this message.
// Semantically when InstrumentationScope isn't set, it is equivalent with
diff --git a/trace/internal/telemetry/value.go b/trace/internal/telemetry/value.go
index 7251492da..ae9ce102a 100644
--- a/trace/internal/telemetry/value.go
+++ b/trace/internal/telemetry/value.go
@@ -316,7 +316,7 @@ func (v Value) String() string {
case ValueKindBool:
return strconv.FormatBool(v.asBool())
case ValueKindBytes:
- return fmt.Sprint(v.asBytes())
+ return string(v.asBytes())
case ValueKindMap:
return fmt.Sprint(v.asMap())
case ValueKindSlice: