Repository: open-telemetry/opentelemetry-go-contrib
Pull request #1974 (2022-03-21 19:15:04)

Build tooling refactor
- Update `Makefile` to match `opentelemetry-go`
- Add vanity import checks
- Add missing generation step for zpages resource
  - Lock down missing dependency on `esc` used in the generation target

codecov[bot]: # [Codecov](https://codecov.io/gh/open-telemetry/opentelemetry-go-contrib/pull/1974?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry) Report
> Merging [#1974](https://codecov.io/gh/open-telemetry/opentelemetry-go-contrib/pull/1974?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry) (f952789) into [main](https://codecov.io/gh/open-telemetry/opentelemetry-go-contrib/commit/5eecde7b7dcf55db56c2cb7502c9d726280f44c3?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry) (5eecde7) will **decrease** coverage by `4.2%`.
> The diff coverage is `n/a`.

[![Impacted file tree graph](https://codecov.io/gh/open-telemetry/opentelemetry-go-contrib/pull/1974/graphs/tree.svg?width=650&height=150&src=pr&token=P6F3W9WA7Q&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry)](https://codecov.io/gh/open-telemetry/opentelemetry-go-contrib/pull/1974?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry)

```diff
@@           Coverage Diff           @@
##            main   #1974     +/-   ##
=======================================
- Coverage   72.1%   67.8%   -4.3%     
=======================================
  Files        124      12    -112     
  Lines       5330     461   -4869     
=======================================
- Hits        3848     313   -3535     
+ Misses      1370     133   -1237     
+ Partials     112      15     -97     
```


| [Impacted Files](https://codecov.io/gh/open-telemetry/opentelemetry-go-contrib/pull/1974?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry) | Coverage Δ | |
|---|---|---|
| [...radfitz/gomemcache/memcache/otelmemcache/config.go](https://codecov.io/gh/open-telemetry/opentelemetry-go-contrib/pull/1974/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry#diff-aW5zdHJ1bWVudGF0aW9uL2dpdGh1Yi5jb20vYnJhZGZpdHovZ29tZW1jYWNoZS9tZW1jYWNoZS9vdGVsbWVtY2FjaGUvY29uZmlnLmdv) | `100.0% <ø> (+100.0%)` | :arrow_up: |
| [...itz/gomemcache/memcache/otelmemcache/gomemcache.go](https://codecov.io/gh/open-telemetry/opentelemetry-go-contrib/pull/1974/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry#diff-aW5zdHJ1bWVudGF0aW9uL2dpdGh1Yi5jb20vYnJhZGZpdHovZ29tZW1jYWNoZS9tZW1jYWNoZS9vdGVsbWVtY2FjaGUvZ29tZW1jYWNoZS5nbw==) | `45.3% <ø> (+34.4%)` | :arrow_up: |
| [...cache/memcache/otelmemcache/internal/attributes.go](https://codecov.io/gh/open-telemetry/opentelemetry-go-contrib/pull/1974/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry#diff-aW5zdHJ1bWVudGF0aW9uL2dpdGh1Yi5jb20vYnJhZGZpdHovZ29tZW1jYWNoZS9tZW1jYWNoZS9vdGVsbWVtY2FjaGUvaW50ZXJuYWwvYXR0cmlidXRlcy5nbw==) | `66.6% <ø> (ø)` | |
| [...z/gomemcache/memcache/otelmemcache/test/version.go](https://codecov.io/gh/open-telemetry/opentelemetry-go-contrib/pull/1974/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry#diff-aW5zdHJ1bWVudGF0aW9uL2dpdGh1Yi5jb20vYnJhZGZpdHovZ29tZW1jYWNoZS9tZW1jYWNoZS9vdGVsbWVtY2FjaGUvdGVzdC92ZXJzaW9uLmdv) | `0.0% <ø> (ø)` | |
| [...adfitz/gomemcache/memcache/otelmemcache/version.go](https://codecov.io/gh/open-telemetry/opentelemetry-go-contrib/pull/1974/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry#diff-aW5zdHJ1bWVudGF0aW9uL2dpdGh1Yi5jb20vYnJhZGZpdHovZ29tZW1jYWNoZS9tZW1jYWNoZS9vdGVsbWVtY2FjaGUvdmVyc2lvbi5nbw==) | `100.0% <ø> (ø)` | |
| [...ntation/github.com/gocql/gocql/otelgocql/config.go](https://codecov.io/gh/open-telemetry/opentelemetry-go-contrib/pull/1974/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry#diff-aW5zdHJ1bWVudGF0aW9uL2dpdGh1Yi5jb20vZ29jcWwvZ29jcWwvb3RlbGdvY3FsL2NvbmZpZy5nbw==) | `67.3% <ø> (+67.3%)` | :arrow_up: |
| [...entation/github.com/gocql/gocql/otelgocql/gocql.go](https://codecov.io/gh/open-telemetry/opentelemetry-go-contrib/pull/1974/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry#diff-aW5zdHJ1bWVudGF0aW9uL2dpdGh1Yi5jb20vZ29jcWwvZ29jcWwvb3RlbGdvY3FsL2dvY3FsLmdv) | `100.0% <ø> (+100.0%)` | :arrow_up: |
| [...ion/github.com/gocql/gocql/otelgocql/instrument.go](https://codecov.io/gh/open-telemetry/opentelemetry-go-contrib/pull/1974/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry#diff-aW5zdHJ1bWVudGF0aW9uL2dpdGh1Yi5jb20vZ29jcWwvZ29jcWwvb3RlbGdvY3FsL2luc3RydW1lbnQuZ28=) | `62.5% <ø> (+62.5%)` | :arrow_up: |
| [.../github.com/gocql/gocql/otelgocql/internal/cass.go](https://codecov.io/gh/open-telemetry/opentelemetry-go-contrib/pull/1974/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry#diff-aW5zdHJ1bWVudGF0aW9uL2dpdGh1Yi5jb20vZ29jcWwvZ29jcWwvb3RlbGdvY3FsL2ludGVybmFsL2Nhc3MuZ28=) | `95.1% <ø> (ø)` | |
| [...ation/github.com/gocql/gocql/otelgocql/observer.go](https://codecov.io/gh/open-telemetry/opentelemetry-go-contrib/pull/1974/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry#diff-aW5zdHJ1bWVudGF0aW9uL2dpdGh1Yi5jb20vZ29jcWwvZ29jcWwvb3RlbGdvY3FsL29ic2VydmVyLmdv) | `75.1% <ø> (+75.1%)` | :arrow_up: |
| ... and [129 more](https://codecov.io/gh/open-telemetry/opentelemetry-go-contrib/pull/1974/diff?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry) | |


Patch:
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index cac9eb7fa..34294b9be 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -1,743 +1,624 @@
-# To get started with Dependabot version updates, you'll need to specify which
-# package ecosystems to update and where the package manifests are located.
-# Please see the documentation for all configuration options:
-# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
-
+# File generated by dbotconf; DO NOT EDIT.
 version: 2
 updates:
-  -
-    package-ecosystem: "github-actions"
-    # Workflow files stored in the
-    # default location of `.github/workflows`
-    directory: "/"
+  - package-ecosystem: github-actions
+    directory: /
     labels:
       - dependencies
       - actions
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/detectors/aws/eks"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /detectors/aws/ec2
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/detectors/aws/lambda"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /detectors/aws/ecs
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/detectors/aws/ec2"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /detectors/aws/eks
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/detectors/aws/ecs"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /detectors/aws/lambda
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/detectors/gcp"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /detectors/gcp
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/exporters/metric/cortex"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/github.com/Shopify/sarama/otelsarama
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/exporters/metric/cortex/example"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/github.com/Shopify/sarama/otelsarama/example
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/exporters/metric/cortex/utils"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/github.com/Shopify/sarama/otelsarama/test
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/exporters/metric/datadog"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/github.com/astaxie/beego/otelbeego
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/exporters/metric/dogstatsd"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/github.com/astaxie/beego/otelbeego/example
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/github.com/astaxie/beego/otelbeego"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/github.com/astaxie/beego/otelbeego/test
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/github.com/astaxie/beego/otelbeego/example"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/github.com/aws/aws-lambda-go/otellambda
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/github.com/astaxie/beego/otelbeego/test"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/github.com/aws/aws-lambda-go/otellambda/example
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  - package-ecosystem: "gomod"
-    directory: "/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/github.com/aws/aws-lambda-go/otellambda/test
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  - package-ecosystem: "gomod"
-    directory: "/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws/example"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/github.com/aws/aws-lambda-go/otellambda/xrayconfig
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  - package-ecosystem: "gomod"
-    directory: "/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws/test"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/github.com/aws/aws-sdk-go-v2/otelaws
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/github.com/aws/aws-lambda-go/otellambda"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/github.com/aws/aws-sdk-go-v2/otelaws/example
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/github.com/aws/aws-lambda-go/otellambda/example"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/github.com/aws/aws-sdk-go-v2/otelaws/test
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/github.com/aws/aws-lambda-go/otellambda/test"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/github.com/bradfitz/gomemcache/memcache/otelmemcache
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/github.com/aws/aws-lambda-go/otellambda/xrayconfig"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/github.com/bradfitz/gomemcache/memcache/otelmemcache/example
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/github.com/bradfitz/gomemcache/memcache/otelmemcache"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/github.com/bradfitz/gomemcache/memcache/otelmemcache/test
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/github.com/bradfitz/gomemcache/memcache/otelmemcache/example"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/github.com/emicklei/go-restful/otelrestful
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/github.com/bradfitz/gomemcache/memcache/otelmemcache/test"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/github.com/emicklei/go-restful/otelrestful/example
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/github.com/emicklei/go-restful/otelrestful"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/github.com/emicklei/go-restful/otelrestful/test
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/github.com/emicklei/go-restful/otelrestful/example"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/github.com/gin-gonic/gin/otelgin
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/github.com/emicklei/go-restful/otelrestful/test"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/github.com/gin-gonic/gin/otelgin/example
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/github.com/gin-gonic/gin/otelgin"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/github.com/gin-gonic/gin/otelgin/test
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/github.com/gin-gonic/gin/otelgin/example"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/github.com/go-kit/kit/otelkit
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/github.com/gin-gonic/gin/otelgin/test"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/github.com/go-kit/kit/otelkit/example
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/github.com/gocql/gocql/otelgocql"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/github.com/go-kit/kit/otelkit/test
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/github.com/gocql/gocql/otelgocql/example"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/github.com/gocql/gocql/otelgocql
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/github.com/gocql/gocql/otelgocql/test"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/github.com/gocql/gocql/otelgocql/example
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/github.com/gorilla/mux/otelmux"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/github.com/gocql/gocql/otelgocql/test
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/github.com/gorilla/mux/otelmux/example"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/github.com/gorilla/mux/otelmux
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/github.com/gorilla/mux/otelmux/test"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/github.com/gorilla/mux/otelmux/example
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/github.com/labstack/echo/otelecho"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/github.com/gorilla/mux/otelmux/test
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/github.com/labstack/echo/otelecho/example"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/github.com/labstack/echo/otelecho
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/github.com/labstack/echo/otelecho/test"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/github.com/labstack/echo/otelecho/example
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/github.com/Shopify/sarama/otelsarama"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/github.com/labstack/echo/otelecho/test
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/github.com/Shopify/sarama/otelsarama/example"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/github.com/Shopify/sarama/otelsarama/test"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo/test
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/google.golang.org/grpc/otelgrpc
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo/test"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/google.golang.org/grpc/otelgrpc/example
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/google.golang.org/grpc/otelgrpc"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/google.golang.org/grpc/otelgrpc/test
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/google.golang.org/grpc/otelgrpc/example"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/gopkg.in/macaron.v1/otelmacaron
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/google.golang.org/grpc/otelgrpc/test"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/gopkg.in/macaron.v1/otelmacaron/example
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/gopkg.in/macaron.v1/otelmacaron"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/gopkg.in/macaron.v1/otelmacaron/test
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/gopkg.in/macaron.v1/otelmacaron/example"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/host
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/gopkg.in/macaron.v1/otelmacaron/test"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/host/example
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/host"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/net/http/httptrace/otelhttptrace
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/host/example"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/net/http/httptrace/otelhttptrace/example
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/net/http/otelhttp"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/net/http/httptrace/otelhttptrace/test
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/net/http/otelhttp/example"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/net/http/otelhttp
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/net/http/otelhttp/test"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/net/http/otelhttp/example
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/net/http/httptrace/otelhttptrace"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/net/http/otelhttp/test
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/net/http/httptrace/otelhttptrace/example"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/runtime
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/net/http/httptrace/otelhttptrace/test"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /instrumentation/runtime/example
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/runtime"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /propagators/aws
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/runtime/example"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /propagators/b3
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/propagators/aws"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /propagators/jaeger
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/propagators/b3"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /propagators/opencensus
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/propagators/jaeger"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /propagators/opencensus/examples
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/propagators/opencensus"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /propagators/ot
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/propagators/opencensus/examples"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /samplers/jaegerremote
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/propagators/ot"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /samplers/jaegerremote/example
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  - package-ecosystem: "gomod"
-    directory: "/samplers/jaegerremote"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /tools
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  - package-ecosystem: "gomod"
-    directory: "/samplers/jaegerremote/example"
+      interval: weekly
+      day: sunday
+  - package-ecosystem: gomod
+    directory: /zpages
     labels:
       - dependencies
       - go
-      - "Skip Changelog"
+      - Skip Changelog
     schedule:
-      interval: "weekly"
-      day: "sunday"
-  - package-ecosystem: "gomod"
-    directory: "/tools"
-    labels:
-      - dependencies
-      - go
-      - "Skip Changelog"
-    schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/github.com/go-kit/kit/otelkit"
-    labels:
-      - dependencies
-      - go
-      - "Skip Changelog"
-    schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/github.com/go-kit/kit/otelkit/example"
-    labels:
-      - dependencies
-      - go
-      - "Skip Changelog"
-    schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/instrumentation/github.com/go-kit/kit/otelkit/test"
-    labels:
-      - dependencies
-      - go
-      - "Skip Changelog"
-    schedule:
-      interval: "weekly"
-      day: "sunday"
-  -
-    package-ecosystem: "gomod"
-    directory: "/zpages"
-    labels:
-      - dependencies
-      - go
-      - "Skip Changelog"
-    schedule:
-      interval: "weekly"
-      day: "sunday"
+      interval: weekly
+      day: sunday
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 68c61961f..cc87d4e4e 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -38,9 +38,9 @@ jobs:
         path: ~/.tools
         key: ${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('./internal/tools/**') }}
     - name: Run linters
-      run: make dependabot-check license-check lint
+      run: make dependabot-check license-check lint vanity-import-check
     - name: Build
-      run: make generate build
+      run: make build
     - name: Check clean repository
       run: make check-clean-work-tree
 
@@ -65,7 +65,7 @@ jobs:
         path: ~/go/pkg/mod
         key: ${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('**/go.sum') }}
     - name: Run tests with race detector
-      run: make test
+      run: make test-race
 
   test-coverage:
     runs-on: ubuntu-latest
@@ -89,9 +89,11 @@ jobs:
         key: ${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('**/go.sum') }}
     - name: Run coverage tests
       run: |
-        make test-with-coverage
+        make test-coverage
         mkdir $TEST_RESULTS
-        cp coverage.{txt,html} $TEST_RESULTS
+        cp coverage.out $TEST_RESULTS
+        cp coverage.txt $TEST_RESULTS
+        cp coverage.html $TEST_RESULTS
     - name: Upload coverage report
       uses: codecov/codecov-action@v2.1.0
       with:
@@ -101,8 +103,8 @@ jobs:
     - name: Store coverage test output
       uses: actions/upload-artifact@v2
       with:
-          name: opentelemetry-go-test-output
-          path: ${{ env.TEST_RESULTS }}
+        name: opentelemetry-go-contrib-test-output
+        path: ${{ env.TEST_RESULTS }}
 
   compatibility-test:
     strategy:
@@ -187,5 +189,5 @@ jobs:
     - name: Store coverage test output
       uses: actions/upload-artifact@v2
       with:
-          name: opentelemetry-go-test-output
+          name: opentelemetry-go-contrib-test-output
           path: ${{ env.TEST_RESULTS }}
diff --git a/Makefile b/Makefile
index 58c692032..00e88fee4 100644
--- a/Makefile
+++ b/Makefile
@@ -1,9 +1,22 @@
+# 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.
+
 TOOLS_MOD_DIR := ./tools
 
-# All source code and documents. Used in spell check.
 ALL_DOCS := $(shell find . -name '*.md' -type f | sort)
-# All directories with go.mod files related to opentelemetry library. Used for building, testing and linting.
-ALL_GO_MOD_DIRS := $(filter-out $(TOOLS_MOD_DIR), $(shell find . -type f -name 'go.mod' -exec dirname {} \; | sort))
+ALL_GO_MOD_DIRS := $(shell find . -type f -name 'go.mod' -exec dirname {} \; | sort)
+OTEL_GO_MOD_DIRS := $(filter-out $(TOOLS_MOD_DIR), $(ALL_GO_MOD_DIRS))
 ALL_COVERAGE_MOD_DIRS := $(shell find . -type f -name 'go.mod' -exec dirname {} \; | egrep -v '^./example|^$(TOOLS_MOD_DIR)' | sort)
 
 # URLs to check if all contrib entries exist in the registry.
@@ -11,154 +24,112 @@ REGISTRY_BASE_URL = https://raw.githubusercontent.com/open-telemetry/opentelemet
 CONTRIB_REPO_URL = https://github.com/open-telemetry/opentelemetry-go-contrib/tree/main
 
 GO = go
-GOTEST_MIN = $(GO) test -v -timeout 30s
-GOTEST = $(GOTEST_MIN) -race
-GOTEST_WITH_COVERAGE = $(GOTEST) -coverprofile=coverage.out -covermode=atomic
+TIMEOUT = 60
 
 .DEFAULT_GOAL := precommit
 
-.PHONY: precommit
+.PHONY: precommit ci
+precommit: dependabot-generate license-check misspell go-mod-tidy vanity-import-fix golangci-lint-fix test-default
+ci: dependabot-check license-check lint vanity-import-check build test-default check-clean-work-tree test-coverage
 
-TOOLS_DIR := $(abspath ./.tools)
+# Tools
 
-$(TOOLS_DIR)/golangci-lint: $(TOOLS_MOD_DIR)/go.mod $(TOOLS_MOD_DIR)/go.sum $(TOOLS_MOD_DIR)/tools.go
-	cd $(TOOLS_MOD_DIR) && \
-	$(GO) build -o $(TOOLS_DIR)/golangci-lint github.com/golangci/golangci-lint/cmd/golangci-lint
+.PHONY: tools
 
-$(TOOLS_DIR)/misspell: $(TOOLS_MOD_DIR)/go.mod $(TOOLS_MOD_DIR)/go.sum $(TOOLS_MOD_DIR)/tools.go
-	cd $(TOOLS_MOD_DIR) && \
-	$(GO) build -o $(TOOLS_DIR)/misspell github.com/client9/misspell/cmd/misspell
+TOOLS = $(CURDIR)/.tools
 
-$(TOOLS_DIR)/gocovmerge: $(TOOLS_MOD_DIR)/go.mod $(TOOLS_MOD_DIR)/go.sum $(TOOLS_MOD_DIR)/tools.go
+$(TOOLS):
+	@mkdir -p $@
+$(TOOLS)/%: | $(TOOLS)
 	cd $(TOOLS_MOD_DIR) && \
-	$(GO) build -o $(TOOLS_DIR)/gocovmerge github.com/wadey/gocovmerge
+	$(GO) build -o $@ $(PACKAGE)
 
-$(TOOLS_DIR)/stringer: $(TOOLS_MOD_DIR)/go.mod $(TOOLS_MOD_DIR)/go.sum $(TOOLS_MOD_DIR)/tools.go
-	cd $(TOOLS_MOD_DIR) && \
-	$(GO) build -o $(TOOLS_DIR)/stringer golang.org/x/tools/cmd/stringer
+GOLANGCI_LINT = $(TOOLS)/golangci-lint
+$(GOLANGCI_LINT): PACKAGE=github.com/golangci/golangci-lint/cmd/golangci-lint
 
-MULTIMOD=$(TOOLS_DIR)/multimod
-$(TOOLS_DIR)/multimod: $(TOOLS_MOD_DIR)/go.mod $(TOOLS_MOD_DIR)/go.sum $(TOOLS_MOD_DIR)/tools.go
-	cd $(TOOLS_MOD_DIR) && \
-	$(GO) build -o $(TOOLS_DIR)/multimod go.opentelemetry.io/build-tools/multimod
-
-precommit: dependabot-check license-check generate lint build test
-
-.PHONY: test-with-coverage
-test-with-coverage: $(TOOLS_DIR)/gocovmerge
-	set -e; \
-	printf "" > coverage.txt; \
-	for dir in $(ALL_COVERAGE_MOD_DIRS); do \
-	  CMD="$(GOTEST_WITH_COVERAGE)"; \
-	  echo "$$dir" | \
-	    grep -q 'test$$' && \
-	    CMD="$$CMD -coverpkg=go.opentelemetry.io/contrib/$$( dirname "$$dir" | sed -e "s/^\.\///g" )/..."; \
-	  echo "$$CMD $$dir/..."; \
-	  (cd "$$dir" && \
-	    $$CMD ./... && \
-	    $(GO) tool cover -html=coverage.out -o coverage.html); \
-	done; \
-	$(TOOLS_DIR)/gocovmerge $$(find . -name coverage.out) > coverage.txt
-
-.PHONY: ci
-ci: precommit check-clean-work-tree test-with-coverage
+MISSPELL = $(TOOLS)/misspell
+$(MISSPELL): PACKAGE=github.com/client9/misspell/cmd/misspell
 
-.PHONY: test-gocql
-test-gocql:
-	@if ./tools/should_build.sh gocql; then \
-	  set -e; \
-	  docker run --name cass-integ --rm -p 9042:9042 -d cassandra:3; \
-	  CMD=cassandra IMG_NAME=cass-integ ./tools/wait.sh; \
-	  (cd instrumentation/github.com/gocql/gocql/otelgocql/test/ && \
-	    $(GOTEST_WITH_COVERAGE) -coverpkg=go.opentelemetry.io/contrib/instrumentation/github.com/gocql/gocql/otelgocql/...  ./... && \
-	    $(GO) tool cover -html=coverage.out -o coverage.html); \
-	  cp ./instrumentation/github.com/gocql/gocql/otelgocql/test/coverage.out ./; \
-	  docker stop cass-integ; \
-	fi
+GOCOVMERGE = $(TOOLS)/gocovmerge
+$(GOCOVMERGE): PACKAGE=github.com/wadey/gocovmerge
 
-.PHONY: test-mongo-driver
-test-mongo-driver:
-	@if ./tools/should_build.sh mongo-driver; then \
-	  set -e; \
-	  docker run --name mongo-integ --rm -p 27017:27017 -d mongo; \
-	  CMD=mongo IMG_NAME=mongo-integ ./tools/wait.sh; \
-	  (cd instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo/test && \
-	    $(GOTEST_WITH_COVERAGE) -coverpkg=go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo/...  ./... && \
-	    $(GO) tool cover -html=coverage.out -o coverage.html); \
-	  cp ./instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo/test/coverage.out ./; \
-	  docker stop mongo-integ; \
-	fi
+ESC = $(TOOLS)/esc
+$(ESC): PACKAGE=github.com/mjibson/esc
 
-.PHONY: test-gomemcache
-test-gomemcache:
-	@if ./tools/should_build.sh gomemcache; then \
-	  set -e; \
-	  docker run --name gomemcache-integ --rm -p 11211:11211 -d memcached; \
-	  CMD=gomemcache IMG_NAME=gomemcache-integ  ./tools/wait.sh; \
-	  (cd instrumentation/github.com/bradfitz/gomemcache/memcache/otelmemcache/test && \
-	    $(GOTEST_WITH_COVERAGE) -coverpkg=go.opentelemetry.io/contrib/instrumentation/github.com/bradfitz/gomemcache/memcache/otelmemcache/...  ./... && \
-	    $(GO) tool cover -html=coverage.out -o coverage.html); \
-	  docker stop gomemcache-integ ; \
-	  cp ./instrumentation/github.com/bradfitz/gomemcache/memcache/otelmemcache/test/coverage.out ./; \
-	fi
+STRINGER = $(TOOLS)/stringer
+$(STRINGER): PACKAGE=golang.org/x/tools/cmd/stringer
 
-.PHONY: check-clean-work-tree
-check-clean-work-tree:
-	@if ! git diff --quiet; then \
-	  echo; \
-	  echo 'Working tree is not clean, did you forget to run "make precommit"?'; \
-	  echo; \
-	  git status; \
-	  exit 1; \
-	fi
+PORTO = $(TOOLS)/porto
+$(TOOLS)/porto: PACKAGE=github.com/jcchavezs/porto/cmd/porto
+
+MULTIMOD = $(TOOLS)/multimod
+$(MULTIMOD): PACKAGE=go.opentelemetry.io/build-tools/multimod
+
+DBOTCONF = $(TOOLS)/dbotconf
+$(TOOLS)/dbotconf: PACKAGE=go.opentelemetry.io/build-tools/dbotconf
+
+tools: $(GOLANGCI_LINT) $(MISSPELL) $(GOCOVMERGE) $(STRINGER) $(ESC) $(PORTO) $(MULTIMOD) $(DBOTCONF)
+
+# Build
+
+.PHONY: generate build
+
+generate: $(OTEL_GO_MOD_DIRS:%=generate/%)
+generate/%: DIR=$*
+generate/%: | $(STRINGER) $(ESC)
+	@echo "$(GO) generate $(DIR)/..." \
+		&& cd $(DIR) \
+		&& PATH="$(TOOLS):$${PATH}" $(GO) generate ./...
+
+build: generate $(OTEL_GO_MOD_DIRS:%=build/%) $(OTEL_GO_MOD_DIRS:%=build-tests/%)
+build/%: DIR=$*
+build/%:
+	@echo "$(GO) build $(DIR)/..." \
+		&& cd $(DIR) \
+		&& $(GO) build ./...
+
+build-tests/%: DIR=$*
+build-tests/%:
+	@echo "$(GO) build tests $(DIR)/..." \
+		&& cd $(DIR) \
+		&& $(GO) list ./... \
+		| grep -v third_party \
+		| xargs $(GO) test -vet=off -run xxxxxMatchNothingxxxxx >/dev/null
+
+# Linting
+
+.PHONY: golangci-lint golangci-lint-fix
+golangci-lint-fix: ARGS=--fix
+golangci-lint-fix: golangci-lint
+golangci-lint: $(OTEL_GO_MOD_DIRS:%=golangci-lint/%)
+golangci-lint/%: DIR=$*
+golangci-lint/%: | $(GOLANGCI_LINT)
+	@echo 'golangci-lint $(if $(ARGS),$(ARGS) ,)$(DIR)' \
+		&& cd $(DIR) \
+		&& $(GOLANGCI_LINT) run --allow-serial-runners $(ARGS)
 
-.PHONY: build
-build:
-	# TODO: Fix this on windows.
-	set -e; for dir in $(ALL_GO_MOD_DIRS); do \
-	  echo "compiling all packages in $${dir}"; \
-	  (cd "$${dir}" && \
-	    $(GO) build ./... && \
-	    $(GO) test -run xxxxxMatchNothingxxxxx ./... >/dev/null); \
-	done
-
-.PHONY: test
-test:
-	set -e; for dir in $(ALL_GO_MOD_DIRS); do \
-	  echo "$(GO) test ./... + race in $${dir}"; \
-	  (cd "$${dir}" && \
-	    $(GOTEST) ./...); \
-	done
-
-.PHONY: test-short
-test-short:
-	set -e; for dir in $(ALL_GO_MOD_DIRS); do \
-	  echo "$(GO) test ./... + race in $${dir}"; \
-	  (cd "$${dir}" && \
-	    $(GOTEST_MIN) -short ./...); \
-	done
+.PHONY: go-mod-tidy
+go-mod-tidy: $(ALL_GO_MOD_DIRS:%=go-mod-tidy/%)
+go-mod-tidy/%: DIR=$*
+go-mod-tidy/%:
+	@echo "$(GO) mod tidy in $(DIR)" \
+		&& cd $(DIR) \
+		&& $(GO) mod tidy
+
+.PHONY: misspell
+misspell: | $(MISSPELL)
+	@$(MISSPELL) -w $(ALL_DOCS)
+
+.PHONY: vanity-import-check
+vanity-import-check: | $(PORTO)
+	@$(PORTO) --include-internal -l . || echo "(run: make vanity-import-fix)"
+
+.PHONY: vanity-import-fix
+vanity-import-fix: | $(PORTO)
+	@$(PORTO) --include-internal -w .
 
 .PHONY: lint
-lint: $(TOOLS_DIR)/golangci-lint $(TOOLS_DIR)/misspell lint-modules
-	set -e; for dir in $(ALL_GO_MOD_DIRS); do \
-	  echo "golangci-lint in $${dir}"; \
-	  (cd "$${dir}" && \
-	    $(TOOLS_DIR)/golangci-lint run --fix && \
-	    $(TOOLS_DIR)/golangci-lint run); \
-	done
-	$(TOOLS_DIR)/misspell -w $(ALL_DOCS)
-
-.PHONY: lint-modules
-lint-modules:
-	set -e; for dir in $(ALL_GO_MOD_DIRS) $(TOOLS_MOD_DIR); do \
-	  echo "$(GO) mod tidy in $${dir}"; \
-	  (cd "$${dir}" && \
-	    $(GO) mod tidy); \
-	done
-
-.PHONY: generate
-generate: $(TOOLS_DIR)/stringer
-	PATH="$(TOOLS_DIR):$${PATH}" $(GO) generate ./...
+lint: go-mod-tidy golangci-lint misspell
 
 .PHONY: license-check
 license-check:
@@ -193,19 +164,112 @@ registry-links-check:
 		echo "WARNING: registry link check failed for the following packages:"; echo "$${checkRes}"; \
 	fi
 
+DEPENDABOT_CONFIG = .github/dependabot.yml
 .PHONY: dependabot-check
-dependabot-check:
-	@result=$$( \
-		for f in $$( find . -type f -name go.mod -exec dirname {} \; | sed 's/^.\/\?/\//' ); \
-			do grep -q "$$f" .github/dependabot.yml \
-			|| echo "$$f"; \
-		done; \
-	); \
-	if [ -n "$$result" ]; then \
-		echo "missing go.mod dependabot check:"; echo "$$result"; \
-		exit 1; \
+dependabot-check: | $(DBOTCONF)
+	@$(DBOTCONF) verify $(DEPENDABOT_CONFIG) || echo "(run: make dependabot-generate)"
+
+.PHONY: dependabot-generate
+dependabot-generate: | $(DBOTCONF)
+	@$(DBOTCONF) generate > $(DEPENDABOT_CONFIG)
+
+.PHONY: check-clean-work-tree
+check-clean-work-tree:
+	@if ! git diff --quiet; then \
+	  echo; \
+	  echo 'Working tree is not clean, did you forget to run "make precommit"?'; \
+	  echo; \
+	  git status; \
+	  exit 1; \
 	fi
 
+# Tests
+
+TEST_TARGETS := test-default test-bench test-short test-verbose test-race
+.PHONY: $(TEST_TARGETS) test
+test-default test-race: ARGS=-race
+test-bench:   ARGS=-run=xxxxxMatchNothingxxxxx -test.benchtime=1ms -bench=.
+test-short:   ARGS=-short
+test-verbose: ARGS=-v
+$(TEST_TARGETS): test
+test: $(OTEL_GO_MOD_DIRS:%=test/%)
+test/%: DIR=$*
+test/%:
+	@echo "$(GO) test -timeout $(TIMEOUT)s $(ARGS) $(DIR)/..." \
+		&& cd $(DIR) \
+		&& $(GO) test -timeout $(TIMEOUT)s $(ARGS) ./...
+
+COVERAGE_MODE    = atomic
+COVERAGE_PROFILE = coverage.out
+.PHONY: test-coverage
+test-coverage: $(ALL_COVERAGE_MOD_DIRS:%=test-coverage/%) | $(GOCOVMERGE)
+	@printf "" > coverage.txt \
+		&& $(GOCOVMERGE) $$(find . -name $(COVERAGE_PROFILE)) > coverage.txt
+
+test-coverage/%: DIR=$*
+test-coverage/%:
+	@set -e; \
+		CMD="$(GO) test -race -covermode=$(COVERAGE_MODE) -coverprofile=$(COVERAGE_PROFILE)"; \
+		echo "$(DIR)" | grep -q 'test$$' \
+		&& CMD="$$CMD -coverpkg=go.opentelemetry.io/contrib/$$( dirname "$(DIR)" | sed -e "s/^\.\///g" )/..."; \
+		echo "$$CMD $(DIR)/..."; \
+		cd "$(DIR)" \
+		&& $$CMD ./... \
+		&& $(GO) tool cover -html=coverage.out -o coverage.html;
+
+.PHONY: test-gocql
+test-gocql:
+	@if ./tools/should_build.sh gocql; then \
+	  set -e; \
+	  docker run --name cass-integ --rm -p 9042:9042 -d cassandra:3; \
+	  CMD=cassandra IMG_NAME=cass-integ ./tools/wait.sh; \
+	  (cd instrumentation/github.com/gocql/gocql/otelgocql/test/ && \
+	    $(GO) test \
+		  -covermode=$(COVERAGE_MODE) \
+		  -coverprofile=$(COVERAGE_PROFILE) \
+		  -coverpkg=go.opentelemetry.io/contrib/instrumentation/github.com/gocql/gocql/otelgocql/...  \
+		  ./... \
+	    && $(GO) tool cover -html=$(COVERAGE_PROFILE) -o coverage.html); \
+	  cp ./instrumentation/github.com/gocql/gocql/otelgocql/test/coverage.out ./; \
+	  docker stop cass-integ; \
+	fi
+
+.PHONY: test-mongo-driver
+test-mongo-driver:
+	@if ./tools/should_build.sh mongo-driver; then \
+	  set -e; \
+	  docker run --name mongo-integ --rm -p 27017:27017 -d mongo; \
+	  CMD=mongo IMG_NAME=mongo-integ ./tools/wait.sh; \
+	  (cd instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo/test && \
+	    $(GO) test \
+		  -covermode=$(COVERAGE_MODE) \
+		  -coverprofile=$(COVERAGE_PROFILE) \
+		  -coverpkg=go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo/...  \
+		  ./... \
+	    && $(GO) tool cover -html=$(COVERAGE_PROFILE) -o coverage.html); \
+	  cp ./instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo/test/coverage.out ./; \
+	  docker stop mongo-integ; \
+	fi
+
+.PHONY: test-gomemcache
+test-gomemcache:
+	@if ./tools/should_build.sh gomemcache; then \
+	  set -e; \
+	  docker run --name gomemcache-integ --rm -p 11211:11211 -d memcached; \
+	  CMD=gomemcache IMG_NAME=gomemcache-integ  ./tools/wait.sh; \
+	  (cd instrumentation/github.com/bradfitz/gomemcache/memcache/otelmemcache/test && \
+	    $(GO) test \
+		  -covermode=$(COVERAGE_MODE) \
+		  -coverprofile=$(COVERAGE_PROFILE) \
+		  -coverpkg=go.opentelemetry.io/contrib/instrumentation/github.com/bradfitz/gomemcache/memcache/otelmemcache/...  \
+		  ./... \
+	    && $(GO) tool cover -html=$(COVERAGE_PROFILE) -o coverage.html); \
+	  docker stop gomemcache-integ ; \
+	  cp ./instrumentation/github.com/bradfitz/gomemcache/memcache/otelmemcache/test/coverage.out ./; \
+	fi
+
+# Releasing
+
 COREPATH ?= "../opentelemetry-go"
 .PHONY: sync-core
 sync-core: | $(MULTIMOD)
diff --git a/detectors/aws/ec2/ec2.go b/detectors/aws/ec2/ec2.go
index e3d72160e..054888180 100644
--- a/detectors/aws/ec2/ec2.go
+++ b/detectors/aws/ec2/ec2.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package ec2
+package ec2 // import "go.opentelemetry.io/contrib/detectors/aws/ec2"
 
 import (
 	"context"
diff --git a/detectors/aws/ec2/version.go b/detectors/aws/ec2/version.go
index cab506a9f..6bafe95a6 100644
--- a/detectors/aws/ec2/version.go
+++ b/detectors/aws/ec2/version.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package ec2
+package ec2 // import "go.opentelemetry.io/contrib/detectors/aws/ec2"
 
 // Version is the current release version of the EC2 resource detector.
 func Version() string {
diff --git a/detectors/aws/ecs/ecs.go b/detectors/aws/ecs/ecs.go
index 97a619e37..4c3863ca6 100644
--- a/detectors/aws/ecs/ecs.go
+++ b/detectors/aws/ecs/ecs.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package ecs
+package ecs // import "go.opentelemetry.io/contrib/detectors/aws/ecs"
 
 import (
 	"context"
diff --git a/detectors/aws/ecs/version.go b/detectors/aws/ecs/version.go
index ce0f59afe..ef6d7c355 100644
--- a/detectors/aws/ecs/version.go
+++ b/detectors/aws/ecs/version.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package ecs
+package ecs // import "go.opentelemetry.io/contrib/detectors/aws/ecs"
 
 // Version is the current release version of the ECS resource detector.
 func Version() string {
diff --git a/detectors/aws/eks/detector.go b/detectors/aws/eks/detector.go
index fd5978b9d..bed2322ff 100644
--- a/detectors/aws/eks/detector.go
+++ b/detectors/aws/eks/detector.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package eks
+package eks // import "go.opentelemetry.io/contrib/detectors/aws/eks"
 
 import (
 	"context"
diff --git a/detectors/aws/eks/version.go b/detectors/aws/eks/version.go
index ed23baec5..81933c9f7 100644
--- a/detectors/aws/eks/version.go
+++ b/detectors/aws/eks/version.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package eks
+package eks // import "go.opentelemetry.io/contrib/detectors/aws/eks"
 
 // Version is the current release version of the EKS resource detector.
 func Version() string {
diff --git a/detectors/aws/lambda/detector.go b/detectors/aws/lambda/detector.go
index 2148c984b..8d9317189 100644
--- a/detectors/aws/lambda/detector.go
+++ b/detectors/aws/lambda/detector.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package lambda
+package lambda // import "go.opentelemetry.io/contrib/detectors/aws/lambda"
 
 import (
 	"context"
diff --git a/detectors/gcp/cloud-function.go b/detectors/gcp/cloud-function.go
index cd6436eb7..f3ae46967 100644
--- a/detectors/gcp/cloud-function.go
+++ b/detectors/gcp/cloud-function.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package gcp
+package gcp // import "go.opentelemetry.io/contrib/detectors/gcp"
 
 import (
 	"context"
diff --git a/detectors/gcp/cloud-run.go b/detectors/gcp/cloud-run.go
index 527ec9ce5..23f383f63 100644
--- a/detectors/gcp/cloud-run.go
+++ b/detectors/gcp/cloud-run.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package gcp
+package gcp // import "go.opentelemetry.io/contrib/detectors/gcp"
 
 import (
 	"context"
diff --git a/detectors/gcp/gce.go b/detectors/gcp/gce.go
index a950155e6..a5240c17a 100644
--- a/detectors/gcp/gce.go
+++ b/detectors/gcp/gce.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package gcp
+package gcp // import "go.opentelemetry.io/contrib/detectors/gcp"
 
 import (
 	"context"
diff --git a/detectors/gcp/gke.go b/detectors/gcp/gke.go
index a413ba6a0..f83e11cc6 100644
--- a/detectors/gcp/gke.go
+++ b/detectors/gcp/gke.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package gcp
+package gcp // import "go.opentelemetry.io/contrib/detectors/gcp"
 
 import (
 	"context"
diff --git a/detectors/gcp/version.go b/detectors/gcp/version.go
index 6891aec5e..0e89d555a 100644
--- a/detectors/gcp/version.go
+++ b/detectors/gcp/version.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package gcp
+package gcp // import "go.opentelemetry.io/contrib/detectors/gcp"
 
 // Version is the current release version of the GCP resource detector.
 func Version() string {
diff --git a/doc.go b/doc.go
index 6c55ff6a2..97c245144 100644
--- a/doc.go
+++ b/doc.go
@@ -17,4 +17,4 @@
 // implementations for trace and metric exporters for third-party
 // collectors, and submodules in the instrumentation directory provide the
 // instrumentation for the popular go libraries.
-package contrib
+package contrib // import "go.opentelemetry.io/contrib"
diff --git a/instrumentation/github.com/Shopify/sarama/otelsarama/consumer.go b/instrumentation/github.com/Shopify/sarama/otelsarama/consumer.go
index 37395f398..1c295e182 100644
--- a/instrumentation/github.com/Shopify/sarama/otelsarama/consumer.go
+++ b/instrumentation/github.com/Shopify/sarama/otelsarama/consumer.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelsarama
+package otelsarama // import "go.opentelemetry.io/contrib/instrumentation/github.com/Shopify/sarama/otelsarama"
 
 import (
 	"github.com/Shopify/sarama"
diff --git a/instrumentation/github.com/Shopify/sarama/otelsarama/consumer_group.go b/instrumentation/github.com/Shopify/sarama/otelsarama/consumer_group.go
index 0653f2f25..8f4a4e39d 100644
--- a/instrumentation/github.com/Shopify/sarama/otelsarama/consumer_group.go
+++ b/instrumentation/github.com/Shopify/sarama/otelsarama/consumer_group.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelsarama
+package otelsarama // import "go.opentelemetry.io/contrib/instrumentation/github.com/Shopify/sarama/otelsarama"
 
 import (
 	"github.com/Shopify/sarama"
diff --git a/instrumentation/github.com/Shopify/sarama/otelsarama/dispatcher.go b/instrumentation/github.com/Shopify/sarama/otelsarama/dispatcher.go
index 47b272aae..405475f9d 100644
--- a/instrumentation/github.com/Shopify/sarama/otelsarama/dispatcher.go
+++ b/instrumentation/github.com/Shopify/sarama/otelsarama/dispatcher.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelsarama
+package otelsarama // import "go.opentelemetry.io/contrib/instrumentation/github.com/Shopify/sarama/otelsarama"
 
 import (
 	"context"
diff --git a/instrumentation/github.com/Shopify/sarama/otelsarama/example/init.go b/instrumentation/github.com/Shopify/sarama/otelsarama/example/init.go
index b69db9198..731bbd56f 100644
--- a/instrumentation/github.com/Shopify/sarama/otelsarama/example/init.go
+++ b/instrumentation/github.com/Shopify/sarama/otelsarama/example/init.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package example
+package example // import "go.opentelemetry.io/contrib/instrumentation/github.com/Shopify/sarama/otelsarama/example"
 
 import (
 	"log"
diff --git a/instrumentation/github.com/Shopify/sarama/otelsarama/message.go b/instrumentation/github.com/Shopify/sarama/otelsarama/message.go
index 66e39acb5..a38e45a6d 100644
--- a/instrumentation/github.com/Shopify/sarama/otelsarama/message.go
+++ b/instrumentation/github.com/Shopify/sarama/otelsarama/message.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelsarama
+package otelsarama // import "go.opentelemetry.io/contrib/instrumentation/github.com/Shopify/sarama/otelsarama"
 
 import (
 	"github.com/Shopify/sarama"
diff --git a/instrumentation/github.com/Shopify/sarama/otelsarama/option.go b/instrumentation/github.com/Shopify/sarama/otelsarama/option.go
index 4d7b093c1..b0a1abaed 100644
--- a/instrumentation/github.com/Shopify/sarama/otelsarama/option.go
+++ b/instrumentation/github.com/Shopify/sarama/otelsarama/option.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelsarama
+package otelsarama // import "go.opentelemetry.io/contrib/instrumentation/github.com/Shopify/sarama/otelsarama"
 
 import (
 	"go.opentelemetry.io/otel"
diff --git a/instrumentation/github.com/Shopify/sarama/otelsarama/producer.go b/instrumentation/github.com/Shopify/sarama/otelsarama/producer.go
index 0e5f2a03c..2a636d061 100644
--- a/instrumentation/github.com/Shopify/sarama/otelsarama/producer.go
+++ b/instrumentation/github.com/Shopify/sarama/otelsarama/producer.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelsarama
+package otelsarama // import "go.opentelemetry.io/contrib/instrumentation/github.com/Shopify/sarama/otelsarama"
 
 import (
 	"context"
diff --git a/instrumentation/github.com/Shopify/sarama/otelsarama/version.go b/instrumentation/github.com/Shopify/sarama/otelsarama/version.go
index 22e2e9cdc..f18915952 100644
--- a/instrumentation/github.com/Shopify/sarama/otelsarama/version.go
+++ b/instrumentation/github.com/Shopify/sarama/otelsarama/version.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelsarama
+package otelsarama // import "go.opentelemetry.io/contrib/instrumentation/github.com/Shopify/sarama/otelsarama"
 
 // Version is the current release version of the sarama instrumentation.
 func Version() string {
diff --git a/instrumentation/github.com/astaxie/beego/otelbeego/beego.go b/instrumentation/github.com/astaxie/beego/otelbeego/beego.go
index 30154cb28..e8b3e476d 100644
--- a/instrumentation/github.com/astaxie/beego/otelbeego/beego.go
+++ b/instrumentation/github.com/astaxie/beego/otelbeego/beego.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelbeego
+package otelbeego // import "go.opentelemetry.io/contrib/instrumentation/github.com/astaxie/beego/otelbeego"
 
 import (
 	"context"
diff --git a/instrumentation/github.com/astaxie/beego/otelbeego/common.go b/instrumentation/github.com/astaxie/beego/otelbeego/common.go
index 4f06b3ef5..7bf0ba736 100644
--- a/instrumentation/github.com/astaxie/beego/otelbeego/common.go
+++ b/instrumentation/github.com/astaxie/beego/otelbeego/common.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelbeego
+package otelbeego // import "go.opentelemetry.io/contrib/instrumentation/github.com/astaxie/beego/otelbeego"
 
 import (
 	"net/http"
diff --git a/instrumentation/github.com/astaxie/beego/otelbeego/config.go b/instrumentation/github.com/astaxie/beego/otelbeego/config.go
index 364526102..675daee43 100644
--- a/instrumentation/github.com/astaxie/beego/otelbeego/config.go
+++ b/instrumentation/github.com/astaxie/beego/otelbeego/config.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelbeego
+package otelbeego // import "go.opentelemetry.io/contrib/instrumentation/github.com/astaxie/beego/otelbeego"
 
 import (
 	"go.opentelemetry.io/otel"
diff --git a/instrumentation/github.com/astaxie/beego/otelbeego/internal/common.go b/instrumentation/github.com/astaxie/beego/otelbeego/internal/common.go
index 64a76ac28..8b47b477d 100644
--- a/instrumentation/github.com/astaxie/beego/otelbeego/internal/common.go
+++ b/instrumentation/github.com/astaxie/beego/otelbeego/internal/common.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package internal
+package internal // import "go.opentelemetry.io/contrib/instrumentation/github.com/astaxie/beego/otelbeego/internal"
 
 import (
 	"go.opentelemetry.io/otel/attribute"
diff --git a/instrumentation/github.com/astaxie/beego/otelbeego/version.go b/instrumentation/github.com/astaxie/beego/otelbeego/version.go
index aaaf5891e..01677c986 100644
--- a/instrumentation/github.com/astaxie/beego/otelbeego/version.go
+++ b/instrumentation/github.com/astaxie/beego/otelbeego/version.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelbeego
+package otelbeego // import "go.opentelemetry.io/contrib/instrumentation/github.com/astaxie/beego/otelbeego"
 
 // Version is the current release version of the Beego instrumentation.
 func Version() string {
diff --git a/instrumentation/github.com/aws/aws-lambda-go/otellambda/config.go b/instrumentation/github.com/aws/aws-lambda-go/otellambda/config.go
index fc4309379..58703728a 100644
--- a/instrumentation/github.com/aws/aws-lambda-go/otellambda/config.go
+++ b/instrumentation/github.com/aws/aws-lambda-go/otellambda/config.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otellambda
+package otellambda // import "go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-lambda-go/otellambda"
 
 import (
 	"context"
diff --git a/instrumentation/github.com/aws/aws-lambda-go/otellambda/lambda.go b/instrumentation/github.com/aws/aws-lambda-go/otellambda/lambda.go
index b1287bbad..dfd213f69 100644
--- a/instrumentation/github.com/aws/aws-lambda-go/otellambda/lambda.go
+++ b/instrumentation/github.com/aws/aws-lambda-go/otellambda/lambda.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otellambda
+package otellambda // import "go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-lambda-go/otellambda"
 
 import (
 	"context"
diff --git a/instrumentation/github.com/aws/aws-lambda-go/otellambda/version.go b/instrumentation/github.com/aws/aws-lambda-go/otellambda/version.go
index e1fb46300..4e48560d4 100644
--- a/instrumentation/github.com/aws/aws-lambda-go/otellambda/version.go
+++ b/instrumentation/github.com/aws/aws-lambda-go/otellambda/version.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otellambda
+package otellambda // import "go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-lambda-go/otellambda"
 
 // Version is the current release version of the AWS Lambda instrumentation.
 func Version() string {
diff --git a/instrumentation/github.com/aws/aws-lambda-go/otellambda/wrapHandler.go b/instrumentation/github.com/aws/aws-lambda-go/otellambda/wrapHandler.go
index b0a26d5a8..be4711af8 100644
--- a/instrumentation/github.com/aws/aws-lambda-go/otellambda/wrapHandler.go
+++ b/instrumentation/github.com/aws/aws-lambda-go/otellambda/wrapHandler.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otellambda
+package otellambda // import "go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-lambda-go/otellambda"
 
 import (
 	"context"
diff --git a/instrumentation/github.com/aws/aws-lambda-go/otellambda/wrapLambdaHandler.go b/instrumentation/github.com/aws/aws-lambda-go/otellambda/wrapLambdaHandler.go
index 54a6beb7a..274f4760b 100644
--- a/instrumentation/github.com/aws/aws-lambda-go/otellambda/wrapLambdaHandler.go
+++ b/instrumentation/github.com/aws/aws-lambda-go/otellambda/wrapLambdaHandler.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otellambda
+package otellambda // import "go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-lambda-go/otellambda"
 
 import (
 	"context"
diff --git a/instrumentation/github.com/aws/aws-lambda-go/otellambda/xrayconfig/xrayconfig.go b/instrumentation/github.com/aws/aws-lambda-go/otellambda/xrayconfig/xrayconfig.go
index 0ed24977b..31873c0c6 100644
--- a/instrumentation/github.com/aws/aws-lambda-go/otellambda/xrayconfig/xrayconfig.go
+++ b/instrumentation/github.com/aws/aws-lambda-go/otellambda/xrayconfig/xrayconfig.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package xrayconfig
+package xrayconfig // import "go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-lambda-go/otellambda/xrayconfig"
 
 import (
 	"context"
diff --git a/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws/attributes.go b/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws/attributes.go
index d0579b21a..a18b64e1d 100644
--- a/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws/attributes.go
+++ b/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws/attributes.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelaws
+package otelaws // import "go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws"
 
 import (
 	"context"
diff --git a/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws/aws.go b/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws/aws.go
index 19f79ebd0..c6eef1833 100644
--- a/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws/aws.go
+++ b/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws/aws.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelaws
+package otelaws // import "go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws"
 
 import (
 	"context"
diff --git a/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws/config.go b/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws/config.go
index 4dc07f404..c5e8a4bc1 100755
--- a/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws/config.go
+++ b/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws/config.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelaws
+package otelaws // import "go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws"
 
 import (
 	"go.opentelemetry.io/otel/trace"
diff --git a/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws/dynamodbattributes.go b/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws/dynamodbattributes.go
index 84f0ef2a4..be58088e1 100644
--- a/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws/dynamodbattributes.go
+++ b/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws/dynamodbattributes.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelaws
+package otelaws // import "go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws"
 
 import (
 	"context"
diff --git a/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws/version.go b/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws/version.go
index 09a8b34f4..134260b82 100644
--- a/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws/version.go
+++ b/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws/version.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelaws
+package otelaws // import "go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws"
 
 // Version is the current release version of the AWS SDKv2 instrumentation.
 func Version() string {
diff --git a/instrumentation/github.com/bradfitz/gomemcache/memcache/otelmemcache/config.go b/instrumentation/github.com/bradfitz/gomemcache/memcache/otelmemcache/config.go
index 633b15dca..d47697491 100644
--- a/instrumentation/github.com/bradfitz/gomemcache/memcache/otelmemcache/config.go
+++ b/instrumentation/github.com/bradfitz/gomemcache/memcache/otelmemcache/config.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelmemcache
+package otelmemcache // import "go.opentelemetry.io/contrib/instrumentation/github.com/bradfitz/gomemcache/memcache/otelmemcache"
 
 import (
 	oteltrace "go.opentelemetry.io/otel/trace"
diff --git a/instrumentation/github.com/bradfitz/gomemcache/memcache/otelmemcache/gomemcache.go b/instrumentation/github.com/bradfitz/gomemcache/memcache/otelmemcache/gomemcache.go
index 4640b8cbe..20efcfd9f 100644
--- a/instrumentation/github.com/bradfitz/gomemcache/memcache/otelmemcache/gomemcache.go
+++ b/instrumentation/github.com/bradfitz/gomemcache/memcache/otelmemcache/gomemcache.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelmemcache
+package otelmemcache // import "go.opentelemetry.io/contrib/instrumentation/github.com/bradfitz/gomemcache/memcache/otelmemcache"
 
 import (
 	"context"
diff --git a/instrumentation/github.com/bradfitz/gomemcache/memcache/otelmemcache/internal/attributes.go b/instrumentation/github.com/bradfitz/gomemcache/memcache/otelmemcache/internal/attributes.go
index 3619c30d1..095d751ad 100644
--- a/instrumentation/github.com/bradfitz/gomemcache/memcache/otelmemcache/internal/attributes.go
+++ b/instrumentation/github.com/bradfitz/gomemcache/memcache/otelmemcache/internal/attributes.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package internal
+package internal // import "go.opentelemetry.io/contrib/instrumentation/github.com/bradfitz/gomemcache/memcache/otelmemcache/internal"
 
 import (
 	"go.opentelemetry.io/otel/attribute"
diff --git a/instrumentation/github.com/bradfitz/gomemcache/memcache/otelmemcache/version.go b/instrumentation/github.com/bradfitz/gomemcache/memcache/otelmemcache/version.go
index 696416fcb..2e9d05420 100644
--- a/instrumentation/github.com/bradfitz/gomemcache/memcache/otelmemcache/version.go
+++ b/instrumentation/github.com/bradfitz/gomemcache/memcache/otelmemcache/version.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelmemcache
+package otelmemcache // import "go.opentelemetry.io/contrib/instrumentation/github.com/bradfitz/gomemcache/memcache/otelmemcache"
 
 // Version is the current release version of the memcached instrumentation.
 func Version() string {
diff --git a/instrumentation/github.com/emicklei/go-restful/otelrestful/config.go b/instrumentation/github.com/emicklei/go-restful/otelrestful/config.go
index c93ed12dd..11ef952c4 100644
--- a/instrumentation/github.com/emicklei/go-restful/otelrestful/config.go
+++ b/instrumentation/github.com/emicklei/go-restful/otelrestful/config.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelrestful
+package otelrestful // import "go.opentelemetry.io/contrib/instrumentation/github.com/emicklei/go-restful/otelrestful"
 
 import (
 	"go.opentelemetry.io/otel/propagation"
diff --git a/instrumentation/github.com/emicklei/go-restful/otelrestful/restful.go b/instrumentation/github.com/emicklei/go-restful/otelrestful/restful.go
index 9e46d7809..076086e61 100644
--- a/instrumentation/github.com/emicklei/go-restful/otelrestful/restful.go
+++ b/instrumentation/github.com/emicklei/go-restful/otelrestful/restful.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelrestful
+package otelrestful // import "go.opentelemetry.io/contrib/instrumentation/github.com/emicklei/go-restful/otelrestful"
 
 import (
 	"github.com/emicklei/go-restful/v3"
diff --git a/instrumentation/github.com/emicklei/go-restful/otelrestful/version.go b/instrumentation/github.com/emicklei/go-restful/otelrestful/version.go
index 522622db5..b87df2527 100644
--- a/instrumentation/github.com/emicklei/go-restful/otelrestful/version.go
+++ b/instrumentation/github.com/emicklei/go-restful/otelrestful/version.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelrestful
+package otelrestful // import "go.opentelemetry.io/contrib/instrumentation/github.com/emicklei/go-restful/otelrestful"
 
 // Version is the current release version of the go-restful instrumentation.
 func Version() string {
diff --git a/instrumentation/github.com/gin-gonic/gin/otelgin/gintrace.go b/instrumentation/github.com/gin-gonic/gin/otelgin/gintrace.go
index 7aad9c5a4..8a9ddf355 100644
--- a/instrumentation/github.com/gin-gonic/gin/otelgin/gintrace.go
+++ b/instrumentation/github.com/gin-gonic/gin/otelgin/gintrace.go
@@ -14,7 +14,7 @@
 
 // Based on https://github.com/DataDog/dd-trace-go/blob/8fb554ff7cf694267f9077ae35e27ce4689ed8b6/contrib/gin-gonic/gin/gintrace.go
 
-package otelgin
+package otelgin // import "go.opentelemetry.io/contrib/instrumentation/github.com/gin-gonic/gin/otelgin"
 
 import (
 	"fmt"
diff --git a/instrumentation/github.com/gin-gonic/gin/otelgin/option.go b/instrumentation/github.com/gin-gonic/gin/otelgin/option.go
index 905c6745e..2c3eb7491 100644
--- a/instrumentation/github.com/gin-gonic/gin/otelgin/option.go
+++ b/instrumentation/github.com/gin-gonic/gin/otelgin/option.go
@@ -14,7 +14,7 @@
 
 // Based on https://github.com/DataDog/dd-trace-go/blob/8fb554ff7cf694267f9077ae35e27ce4689ed8b6/contrib/gin-gonic/gin/option.go
 
-package otelgin
+package otelgin // import "go.opentelemetry.io/contrib/instrumentation/github.com/gin-gonic/gin/otelgin"
 
 import (
 	"go.opentelemetry.io/otel/propagation"
diff --git a/instrumentation/github.com/gin-gonic/gin/otelgin/version.go b/instrumentation/github.com/gin-gonic/gin/otelgin/version.go
index 0f74d2ac4..f6fe04cde 100644
--- a/instrumentation/github.com/gin-gonic/gin/otelgin/version.go
+++ b/instrumentation/github.com/gin-gonic/gin/otelgin/version.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelgin
+package otelgin // import "go.opentelemetry.io/contrib/instrumentation/github.com/gin-gonic/gin/otelgin"
 
 // Version is the current release version of the gin instrumentation.
 func Version() string {
diff --git a/instrumentation/github.com/go-kit/kit/otelkit/config.go b/instrumentation/github.com/go-kit/kit/otelkit/config.go
index 73a474a4c..369735ee6 100644
--- a/instrumentation/github.com/go-kit/kit/otelkit/config.go
+++ b/instrumentation/github.com/go-kit/kit/otelkit/config.go
@@ -14,7 +14,7 @@
 
 // Based on https://github.com/go-kit/kit/blob/3796a6b25f5c6c545454d3ed7187c4ced258083d/tracing/opencensus/endpoint_options.go
 
-package otelkit
+package otelkit // import "go.opentelemetry.io/contrib/instrumentation/github.com/go-kit/kit/otelkit"
 
 import (
 	"context"
diff --git a/instrumentation/github.com/go-kit/kit/otelkit/endpoint.go b/instrumentation/github.com/go-kit/kit/otelkit/endpoint.go
index 6601d9c25..40b2cc0a5 100644
--- a/instrumentation/github.com/go-kit/kit/otelkit/endpoint.go
+++ b/instrumentation/github.com/go-kit/kit/otelkit/endpoint.go
@@ -14,7 +14,7 @@
 
 // Based on https://github.com/go-kit/kit/blob/3796a6b25f5c6c545454d3ed7187c4ced258083d/tracing/opencensus/endpoint.go
 
-package otelkit
+package otelkit // import "go.opentelemetry.io/contrib/instrumentation/github.com/go-kit/kit/otelkit"
 
 import (
 	"context"
diff --git a/instrumentation/github.com/go-kit/kit/otelkit/version.go b/instrumentation/github.com/go-kit/kit/otelkit/version.go
index 3b7c9eec2..9ae562e53 100644
--- a/instrumentation/github.com/go-kit/kit/otelkit/version.go
+++ b/instrumentation/github.com/go-kit/kit/otelkit/version.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelkit
+package otelkit // import "go.opentelemetry.io/contrib/instrumentation/github.com/go-kit/kit/otelkit"
 
 // Version is the current release version of the go-kit instrumentation.
 func Version() string {
diff --git a/instrumentation/github.com/gocql/gocql/otelgocql/config.go b/instrumentation/github.com/gocql/gocql/otelgocql/config.go
index 944edfbf7..4a7bea7a6 100644
--- a/instrumentation/github.com/gocql/gocql/otelgocql/config.go
+++ b/instrumentation/github.com/gocql/gocql/otelgocql/config.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelgocql
+package otelgocql // import "go.opentelemetry.io/contrib/instrumentation/github.com/gocql/gocql/otelgocql"
 
 import (
 	"github.com/gocql/gocql"
diff --git a/instrumentation/github.com/gocql/gocql/otelgocql/gocql.go b/instrumentation/github.com/gocql/gocql/otelgocql/gocql.go
index 337cff805..9b490dd30 100644
--- a/instrumentation/github.com/gocql/gocql/otelgocql/gocql.go
+++ b/instrumentation/github.com/gocql/gocql/otelgocql/gocql.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelgocql
+package otelgocql // import "go.opentelemetry.io/contrib/instrumentation/github.com/gocql/gocql/otelgocql"
 
 import (
 	"context"
diff --git a/instrumentation/github.com/gocql/gocql/otelgocql/instrument.go b/instrumentation/github.com/gocql/gocql/otelgocql/instrument.go
index 5c0bd311f..24f41aaa9 100644
--- a/instrumentation/github.com/gocql/gocql/otelgocql/instrument.go
+++ b/instrumentation/github.com/gocql/gocql/otelgocql/instrument.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelgocql
+package otelgocql // import "go.opentelemetry.io/contrib/instrumentation/github.com/gocql/gocql/otelgocql"
 
 import (
 	"log"
diff --git a/instrumentation/github.com/gocql/gocql/otelgocql/internal/cass.go b/instrumentation/github.com/gocql/gocql/otelgocql/internal/cass.go
index c956df099..6baf21924 100644
--- a/instrumentation/github.com/gocql/gocql/otelgocql/internal/cass.go
+++ b/instrumentation/github.com/gocql/gocql/otelgocql/internal/cass.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package internal
+package internal // import "go.opentelemetry.io/contrib/instrumentation/github.com/gocql/gocql/otelgocql/internal"
 
 import (
 	"log"
diff --git a/instrumentation/github.com/gocql/gocql/otelgocql/observer.go b/instrumentation/github.com/gocql/gocql/otelgocql/observer.go
index 1454f8010..872205c73 100644
--- a/instrumentation/github.com/gocql/gocql/otelgocql/observer.go
+++ b/instrumentation/github.com/gocql/gocql/otelgocql/observer.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelgocql
+package otelgocql // import "go.opentelemetry.io/contrib/instrumentation/github.com/gocql/gocql/otelgocql"
 
 import (
 	"context"
diff --git a/instrumentation/github.com/gocql/gocql/otelgocql/version.go b/instrumentation/github.com/gocql/gocql/otelgocql/version.go
index 7c1fb67d4..49dac43a7 100644
--- a/instrumentation/github.com/gocql/gocql/otelgocql/version.go
+++ b/instrumentation/github.com/gocql/gocql/otelgocql/version.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelgocql
+package otelgocql // import "go.opentelemetry.io/contrib/instrumentation/github.com/gocql/gocql/otelgocql"
 
 // Version is the current release version of the gocql instrumentation.
 func Version() string {
diff --git a/instrumentation/github.com/gorilla/mux/otelmux/config.go b/instrumentation/github.com/gorilla/mux/otelmux/config.go
index 97996b5d5..2e4d60b67 100644
--- a/instrumentation/github.com/gorilla/mux/otelmux/config.go
+++ b/instrumentation/github.com/gorilla/mux/otelmux/config.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelmux
+package otelmux // import "go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux"
 
 import (
 	"go.opentelemetry.io/otel/propagation"
diff --git a/instrumentation/github.com/gorilla/mux/otelmux/mux.go b/instrumentation/github.com/gorilla/mux/otelmux/mux.go
index 7df7b0cf7..a3146b642 100644
--- a/instrumentation/github.com/gorilla/mux/otelmux/mux.go
+++ b/instrumentation/github.com/gorilla/mux/otelmux/mux.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelmux
+package otelmux // import "go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux"
 
 import (
 	"fmt"
diff --git a/instrumentation/github.com/gorilla/mux/otelmux/version.go b/instrumentation/github.com/gorilla/mux/otelmux/version.go
index 17af5cb74..4a25a7195 100644
--- a/instrumentation/github.com/gorilla/mux/otelmux/version.go
+++ b/instrumentation/github.com/gorilla/mux/otelmux/version.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelmux
+package otelmux // import "go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux"
 
 // Version is the current release version of the gorilla/mux instrumentation.
 func Version() string {
diff --git a/instrumentation/github.com/labstack/echo/otelecho/config.go b/instrumentation/github.com/labstack/echo/otelecho/config.go
index cf2d6bdd0..9ff400309 100644
--- a/instrumentation/github.com/labstack/echo/otelecho/config.go
+++ b/instrumentation/github.com/labstack/echo/otelecho/config.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelecho
+package otelecho // import "go.opentelemetry.io/contrib/instrumentation/github.com/labstack/echo/otelecho"
 
 import (
 	"github.com/labstack/echo/v4/middleware"
diff --git a/instrumentation/github.com/labstack/echo/otelecho/echo.go b/instrumentation/github.com/labstack/echo/otelecho/echo.go
index ce3378988..40fa27cae 100644
--- a/instrumentation/github.com/labstack/echo/otelecho/echo.go
+++ b/instrumentation/github.com/labstack/echo/otelecho/echo.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelecho
+package otelecho // import "go.opentelemetry.io/contrib/instrumentation/github.com/labstack/echo/otelecho"
 
 import (
 	"fmt"
diff --git a/instrumentation/github.com/labstack/echo/otelecho/version.go b/instrumentation/github.com/labstack/echo/otelecho/version.go
index 9a69d8ce1..88e22a8de 100644
--- a/instrumentation/github.com/labstack/echo/otelecho/version.go
+++ b/instrumentation/github.com/labstack/echo/otelecho/version.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelecho
+package otelecho // import "go.opentelemetry.io/contrib/instrumentation/github.com/labstack/echo/otelecho"
 
 // Version is the current release version of the echo instrumentation.
 func Version() string {
diff --git a/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo/config.go b/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo/config.go
index ce5625c4c..b9acefa11 100644
--- a/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo/config.go
+++ b/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo/config.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelmongo
+package otelmongo // import "go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo"
 
 import (
 	"go.opentelemetry.io/otel"
diff --git a/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo/mongo.go b/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo/mongo.go
index a8a8f76c4..33accfbd0 100644
--- a/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo/mongo.go
+++ b/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo/mongo.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelmongo
+package otelmongo // import "go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo"
 
 import (
 	"context"
diff --git a/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo/version.go b/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo/version.go
index 8ffefb9aa..f6be5c550 100644
--- a/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo/version.go
+++ b/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo/version.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelmongo
+package otelmongo // import "go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo"
 
 // Version is the current release version of the mongo-driver instrumentation.
 func Version() string {
diff --git a/instrumentation/google.golang.org/grpc/otelgrpc/example/config/config.go b/instrumentation/google.golang.org/grpc/otelgrpc/example/config/config.go
index 45978631d..a003e27e2 100644
--- a/instrumentation/google.golang.org/grpc/otelgrpc/example/config/config.go
+++ b/instrumentation/google.golang.org/grpc/otelgrpc/example/config/config.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package config
+package config // import "go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc/example/config"
 
 import (
 	"log"
diff --git a/instrumentation/google.golang.org/grpc/otelgrpc/grpctrace.go b/instrumentation/google.golang.org/grpc/otelgrpc/grpctrace.go
index aaeb19e30..b9b859727 100644
--- a/instrumentation/google.golang.org/grpc/otelgrpc/grpctrace.go
+++ b/instrumentation/google.golang.org/grpc/otelgrpc/grpctrace.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelgrpc
+package otelgrpc // import "go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc"
 
 import (
 	"context"
diff --git a/instrumentation/google.golang.org/grpc/otelgrpc/interceptor.go b/instrumentation/google.golang.org/grpc/otelgrpc/interceptor.go
index b1d9f643d..40adf7235 100644
--- a/instrumentation/google.golang.org/grpc/otelgrpc/interceptor.go
+++ b/instrumentation/google.golang.org/grpc/otelgrpc/interceptor.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelgrpc
+package otelgrpc // import "go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc"
 
 // gRPC tracing middleware
 // https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/rpc.md
diff --git a/instrumentation/google.golang.org/grpc/otelgrpc/internal/parse.go b/instrumentation/google.golang.org/grpc/otelgrpc/internal/parse.go
index 56a682102..e72986b78 100644
--- a/instrumentation/google.golang.org/grpc/otelgrpc/internal/parse.go
+++ b/instrumentation/google.golang.org/grpc/otelgrpc/internal/parse.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package internal
+package internal // import "go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc/internal"
 
 import (
 	"strings"
diff --git a/instrumentation/google.golang.org/grpc/otelgrpc/semconv.go b/instrumentation/google.golang.org/grpc/otelgrpc/semconv.go
index 73f14a458..b0d5c41de 100644
--- a/instrumentation/google.golang.org/grpc/otelgrpc/semconv.go
+++ b/instrumentation/google.golang.org/grpc/otelgrpc/semconv.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelgrpc
+package otelgrpc // import "go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc"
 
 import (
 	"go.opentelemetry.io/otel/attribute"
diff --git a/instrumentation/google.golang.org/grpc/otelgrpc/version.go b/instrumentation/google.golang.org/grpc/otelgrpc/version.go
index c312b9c94..bc28ba293 100644
--- a/instrumentation/google.golang.org/grpc/otelgrpc/version.go
+++ b/instrumentation/google.golang.org/grpc/otelgrpc/version.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelgrpc
+package otelgrpc // import "go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc"
 
 // Version is the current release version of the gRPC instrumentation.
 func Version() string {
diff --git a/instrumentation/gopkg.in/macaron.v1/otelmacaron/config.go b/instrumentation/gopkg.in/macaron.v1/otelmacaron/config.go
index 6193a8384..f65a9c7a9 100644
--- a/instrumentation/gopkg.in/macaron.v1/otelmacaron/config.go
+++ b/instrumentation/gopkg.in/macaron.v1/otelmacaron/config.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelmacaron
+package otelmacaron // import "go.opentelemetry.io/contrib/instrumentation/gopkg.in/macaron.v1/otelmacaron"
 
 import (
 	"go.opentelemetry.io/otel"
diff --git a/instrumentation/gopkg.in/macaron.v1/otelmacaron/macaron.go b/instrumentation/gopkg.in/macaron.v1/otelmacaron/macaron.go
index bb7ad993c..0ff4c194a 100644
--- a/instrumentation/gopkg.in/macaron.v1/otelmacaron/macaron.go
+++ b/instrumentation/gopkg.in/macaron.v1/otelmacaron/macaron.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelmacaron
+package otelmacaron // import "go.opentelemetry.io/contrib/instrumentation/gopkg.in/macaron.v1/otelmacaron"
 
 import (
 	"fmt"
diff --git a/instrumentation/gopkg.in/macaron.v1/otelmacaron/version.go b/instrumentation/gopkg.in/macaron.v1/otelmacaron/version.go
index 1513b2a37..79bf3af5d 100644
--- a/instrumentation/gopkg.in/macaron.v1/otelmacaron/version.go
+++ b/instrumentation/gopkg.in/macaron.v1/otelmacaron/version.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelmacaron
+package otelmacaron // import "go.opentelemetry.io/contrib/instrumentation/gopkg.in/macaron.v1/otelmacaron"
 
 // Version is the current release version of the macron instrumentation.
 func Version() string {
diff --git a/instrumentation/host/version.go b/instrumentation/host/version.go
index bf8c4eb11..1ea48b7f0 100644
--- a/instrumentation/host/version.go
+++ b/instrumentation/host/version.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package host
+package host // import "go.opentelemetry.io/contrib/instrumentation/host"
 
 // Version is the current release version of the host instrumentation.
 func Version() string {
diff --git a/instrumentation/net/http/httptrace/otelhttptrace/api.go b/instrumentation/net/http/httptrace/otelhttptrace/api.go
index 491061583..dc29163dd 100644
--- a/instrumentation/net/http/httptrace/otelhttptrace/api.go
+++ b/instrumentation/net/http/httptrace/otelhttptrace/api.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelhttptrace
+package otelhttptrace // import "go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace"
 
 import (
 	"context"
diff --git a/instrumentation/net/http/httptrace/otelhttptrace/clienttrace.go b/instrumentation/net/http/httptrace/otelhttptrace/clienttrace.go
index a9c20429e..795b51e7f 100644
--- a/instrumentation/net/http/httptrace/otelhttptrace/clienttrace.go
+++ b/instrumentation/net/http/httptrace/otelhttptrace/clienttrace.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelhttptrace
+package otelhttptrace // import "go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace"
 
 import (
 	"context"
diff --git a/instrumentation/net/http/httptrace/otelhttptrace/httptrace.go b/instrumentation/net/http/httptrace/otelhttptrace/httptrace.go
index 6fca43a3b..c467154a5 100644
--- a/instrumentation/net/http/httptrace/otelhttptrace/httptrace.go
+++ b/instrumentation/net/http/httptrace/otelhttptrace/httptrace.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelhttptrace
+package otelhttptrace // import "go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace"
 
 import (
 	"context"
diff --git a/instrumentation/net/http/httptrace/otelhttptrace/version.go b/instrumentation/net/http/httptrace/otelhttptrace/version.go
index c75c1b304..1ad025f55 100644
--- a/instrumentation/net/http/httptrace/otelhttptrace/version.go
+++ b/instrumentation/net/http/httptrace/otelhttptrace/version.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelhttptrace
+package otelhttptrace // import "go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace"
 
 // Version is the current release version of the httptrace instrumentation.
 func Version() string {
diff --git a/instrumentation/net/http/otelhttp/client.go b/instrumentation/net/http/otelhttp/client.go
index 0816b9f5d..c5c1f51fc 100644
--- a/instrumentation/net/http/otelhttp/client.go
+++ b/instrumentation/net/http/otelhttp/client.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelhttp
+package otelhttp // import "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp"
 
 import (
 	"context"
diff --git a/instrumentation/net/http/otelhttp/common.go b/instrumentation/net/http/otelhttp/common.go
index dcc59449e..87cec5aca 100644
--- a/instrumentation/net/http/otelhttp/common.go
+++ b/instrumentation/net/http/otelhttp/common.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelhttp
+package otelhttp // import "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp"
 
 import (
 	"net/http"
diff --git a/instrumentation/net/http/otelhttp/config.go b/instrumentation/net/http/otelhttp/config.go
index 46d5c1b63..a76cec357 100644
--- a/instrumentation/net/http/otelhttp/config.go
+++ b/instrumentation/net/http/otelhttp/config.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelhttp
+package otelhttp // import "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp"
 
 import (
 	"context"
diff --git a/instrumentation/net/http/otelhttp/filters/filters.go b/instrumentation/net/http/otelhttp/filters/filters.go
index 20a129905..7993871ef 100644
--- a/instrumentation/net/http/otelhttp/filters/filters.go
+++ b/instrumentation/net/http/otelhttp/filters/filters.go
@@ -14,7 +14,7 @@
 
 // Package filters provides a set of filters useful with the
 // otelhttp.WithFilter() option to control which inbound requests are traced.
-package filters
+package filters // import "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/filters"
 
 import (
 	"net/http"
diff --git a/instrumentation/net/http/otelhttp/filters/header.go b/instrumentation/net/http/otelhttp/filters/header.go
index 5df0c003b..6bc687755 100644
--- a/instrumentation/net/http/otelhttp/filters/header.go
+++ b/instrumentation/net/http/otelhttp/filters/header.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package filters
+package filters // import "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/filters"
 
 import (
 	"net/http"
diff --git a/instrumentation/net/http/otelhttp/handler.go b/instrumentation/net/http/otelhttp/handler.go
index 2f26ae859..e3bc701a2 100644
--- a/instrumentation/net/http/otelhttp/handler.go
+++ b/instrumentation/net/http/otelhttp/handler.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelhttp
+package otelhttp // import "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp"
 
 import (
 	"io"
diff --git a/instrumentation/net/http/otelhttp/labeler.go b/instrumentation/net/http/otelhttp/labeler.go
index 7b7d1c0ac..26a51a180 100644
--- a/instrumentation/net/http/otelhttp/labeler.go
+++ b/instrumentation/net/http/otelhttp/labeler.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelhttp
+package otelhttp // import "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp"
 
 import (
 	"context"
diff --git a/instrumentation/net/http/otelhttp/transport.go b/instrumentation/net/http/otelhttp/transport.go
index 121ad99b0..b436f6a2a 100644
--- a/instrumentation/net/http/otelhttp/transport.go
+++ b/instrumentation/net/http/otelhttp/transport.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelhttp
+package otelhttp // import "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp"
 
 import (
 	"context"
diff --git a/instrumentation/net/http/otelhttp/version.go b/instrumentation/net/http/otelhttp/version.go
index c882ca438..1939d9233 100644
--- a/instrumentation/net/http/otelhttp/version.go
+++ b/instrumentation/net/http/otelhttp/version.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelhttp
+package otelhttp // import "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp"
 
 // Version is the current release version of the otelhttp instrumentation.
 func Version() string {
diff --git a/instrumentation/net/http/otelhttp/wrap.go b/instrumentation/net/http/otelhttp/wrap.go
index ec787c820..b453b92e4 100644
--- a/instrumentation/net/http/otelhttp/wrap.go
+++ b/instrumentation/net/http/otelhttp/wrap.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package otelhttp
+package otelhttp // import "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp"
 
 import (
 	"context"
diff --git a/instrumentation/runtime/version.go b/instrumentation/runtime/version.go
index cae089e1f..fb073ebbb 100644
--- a/instrumentation/runtime/version.go
+++ b/instrumentation/runtime/version.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package runtime
+package runtime // import "go.opentelemetry.io/contrib/instrumentation/runtime"
 
 // Version is the current release version of the runtime instrumentation.
 func Version() string {
diff --git a/propagators/aws/version.go b/propagators/aws/version.go
index a7e797289..4aa076133 100644
--- a/propagators/aws/version.go
+++ b/propagators/aws/version.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package aws
+package aws // import "go.opentelemetry.io/contrib/propagators/aws"
 
 // Version is the current release version of the AWS XRay propagator.
 func Version() string {
diff --git a/propagators/aws/xray/idgenerator.go b/propagators/aws/xray/idgenerator.go
index 1cc039312..52dc203ca 100644
--- a/propagators/aws/xray/idgenerator.go
+++ b/propagators/aws/xray/idgenerator.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package xray
+package xray // import "go.opentelemetry.io/contrib/propagators/aws/xray"
 
 import (
 	"context"
diff --git a/propagators/aws/xray/propagator.go b/propagators/aws/xray/propagator.go
index f21e80c72..14481926e 100644
--- a/propagators/aws/xray/propagator.go
+++ b/propagators/aws/xray/propagator.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package xray
+package xray // import "go.opentelemetry.io/contrib/propagators/aws/xray"
 
 import (
 	"context"
diff --git a/propagators/b3/b3_config.go b/propagators/b3/b3_config.go
index c616f2cb9..b09dbd3fb 100644
--- a/propagators/b3/b3_config.go
+++ b/propagators/b3/b3_config.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package b3
+package b3 // import "go.opentelemetry.io/contrib/propagators/b3"
 
 type config struct {
 	// InjectEncoding are the B3 encodings used when injecting trace
diff --git a/propagators/b3/b3_propagator.go b/propagators/b3/b3_propagator.go
index 658009728..f63b8e332 100644
--- a/propagators/b3/b3_propagator.go
+++ b/propagators/b3/b3_propagator.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package b3
+package b3 // import "go.opentelemetry.io/contrib/propagators/b3"
 
 import (
 	"context"
diff --git a/propagators/b3/context.go b/propagators/b3/context.go
index 54aa6260a..988cd2ca8 100644
--- a/propagators/b3/context.go
+++ b/propagators/b3/context.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package b3
+package b3 // import "go.opentelemetry.io/contrib/propagators/b3"
 
 import "context"
 
diff --git a/propagators/b3/version.go b/propagators/b3/version.go
index b1095b585..56de7e6ce 100644
--- a/propagators/b3/version.go
+++ b/propagators/b3/version.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package b3
+package b3 // import "go.opentelemetry.io/contrib/propagators/b3"
 
 // Version is the current release version of the B3 propagator.
 func Version() string {
diff --git a/propagators/jaeger/context.go b/propagators/jaeger/context.go
index a11fa8c87..8a62451f7 100644
--- a/propagators/jaeger/context.go
+++ b/propagators/jaeger/context.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package jaeger
+package jaeger // import "go.opentelemetry.io/contrib/propagators/jaeger"
 
 import "context"
 
diff --git a/propagators/jaeger/jaeger_propagator.go b/propagators/jaeger/jaeger_propagator.go
index ab2305362..db3384e01 100644
--- a/propagators/jaeger/jaeger_propagator.go
+++ b/propagators/jaeger/jaeger_propagator.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package jaeger
+package jaeger // import "go.opentelemetry.io/contrib/propagators/jaeger"
 
 import (
 	"context"
diff --git a/propagators/jaeger/version.go b/propagators/jaeger/version.go
index bed91f319..c8a6a0b46 100644
--- a/propagators/jaeger/version.go
+++ b/propagators/jaeger/version.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package jaeger
+package jaeger // import "go.opentelemetry.io/contrib/propagators/jaeger"
 
 // Version is the current release version of the Jaeger propagator.
 func Version() string {
diff --git a/propagators/opencensus/version.go b/propagators/opencensus/version.go
index 458f6486e..df87fe772 100644
--- a/propagators/opencensus/version.go
+++ b/propagators/opencensus/version.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package opencensus
+package opencensus // import "go.opentelemetry.io/contrib/propagators/opencensus"
 
 // Version is the current release version of the OpenCensus propagator.
 func Version() string {
diff --git a/propagators/ot/ot_propagator.go b/propagators/ot/ot_propagator.go
index 9d3407901..fa414570b 100644
--- a/propagators/ot/ot_propagator.go
+++ b/propagators/ot/ot_propagator.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package ot
+package ot // import "go.opentelemetry.io/contrib/propagators/ot"
 
 import (
 	"context"
diff --git a/propagators/ot/version.go b/propagators/ot/version.go
index 964160d44..31038a565 100644
--- a/propagators/ot/version.go
+++ b/propagators/ot/version.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package ot
+package ot // import "go.opentelemetry.io/contrib/propagators/ot"
 
 // Version is the current release version of the ot propagator.
 func Version() string {
diff --git a/samplers/jaegerremote/constants.go b/samplers/jaegerremote/constants.go
index 9b1bb9ea3..329b7ea4b 100644
--- a/samplers/jaegerremote/constants.go
+++ b/samplers/jaegerremote/constants.go
@@ -14,7 +14,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package jaegerremote
+package jaegerremote // import "go.opentelemetry.io/contrib/samplers/jaegerremote"
 
 import (
 	"fmt"
diff --git a/samplers/jaegerremote/internal/utils/http_json.go b/samplers/jaegerremote/internal/utils/http_json.go
index fe5f7d76d..81544c46c 100644
--- a/samplers/jaegerremote/internal/utils/http_json.go
+++ b/samplers/jaegerremote/internal/utils/http_json.go
@@ -14,7 +14,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package utils
+package utils // import "go.opentelemetry.io/contrib/samplers/jaegerremote/internal/utils"
 
 import (
 	"encoding/json"
diff --git a/samplers/jaegerremote/internal/utils/rate_limiter.go b/samplers/jaegerremote/internal/utils/rate_limiter.go
index 56bd5e6f8..b179b8d13 100644
--- a/samplers/jaegerremote/internal/utils/rate_limiter.go
+++ b/samplers/jaegerremote/internal/utils/rate_limiter.go
@@ -14,7 +14,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package utils
+package utils // import "go.opentelemetry.io/contrib/samplers/jaegerremote/internal/utils"
 
 import (
 	"sync"
diff --git a/samplers/jaegerremote/sampler.go b/samplers/jaegerremote/sampler.go
index 1decbb6e4..70a2a389b 100644
--- a/samplers/jaegerremote/sampler.go
+++ b/samplers/jaegerremote/sampler.go
@@ -14,7 +14,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package jaegerremote
+package jaegerremote // import "go.opentelemetry.io/contrib/samplers/jaegerremote"
 
 import (
 	"encoding/binary"
diff --git a/samplers/jaegerremote/sampler_remote.go b/samplers/jaegerremote/sampler_remote.go
index 5261127ff..c4cc9c070 100644
--- a/samplers/jaegerremote/sampler_remote.go
+++ b/samplers/jaegerremote/sampler_remote.go
@@ -14,7 +14,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package jaegerremote
+package jaegerremote // import "go.opentelemetry.io/contrib/samplers/jaegerremote"
 
 import (
 	"encoding/json"
diff --git a/samplers/jaegerremote/sampler_remote_options.go b/samplers/jaegerremote/sampler_remote_options.go
index 3e0394a42..354a258a5 100644
--- a/samplers/jaegerremote/sampler_remote_options.go
+++ b/samplers/jaegerremote/sampler_remote_options.go
@@ -14,7 +14,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package jaegerremote
+package jaegerremote // import "go.opentelemetry.io/contrib/samplers/jaegerremote"
 
 import (
 	"time"
diff --git a/samplers/jaegerremote/version.go b/samplers/jaegerremote/version.go
index 9477b8704..a3259856b 100644
--- a/samplers/jaegerremote/version.go
+++ b/samplers/jaegerremote/version.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package jaegerremote
+package jaegerremote // import "go.opentelemetry.io/contrib/samplers/jaegerremote"
 
 // Version is the current release version of the Jaeger remote sampler.
 func Version() string {
diff --git a/tools/go.mod b/tools/go.mod
index 2c3695823..254463ca1 100644
--- a/tools/go.mod
+++ b/tools/go.mod
@@ -5,7 +5,10 @@ go 1.13
 require (
 	github.com/client9/misspell v0.3.4
 	github.com/golangci/golangci-lint v1.45.0
+	github.com/jcchavezs/porto v0.4.0
+	github.com/mjibson/esc v0.2.0
 	github.com/wadey/gocovmerge v0.0.0-20160331181800-b5bfa59ec0ad
+	go.opentelemetry.io/build-tools/dbotconf v0.0.0-20220321183619-864aabdd471d
 	go.opentelemetry.io/build-tools/multimod v0.0.0-20210920164323-2ceabab23375
 	golang.org/x/tools v0.1.10
 )
diff --git a/tools/go.sum b/tools/go.sum
index 1a030b9cf..adf7f6970 100644
--- a/tools/go.sum
+++ b/tools/go.sum
@@ -474,6 +474,8 @@ github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NH
 github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
 github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A=
 github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo=
+github.com/jcchavezs/porto v0.4.0 h1:Zj7RligrxmDdKGo6fBO2xYAHxEgrVBfs1YAja20WbV4=
+github.com/jcchavezs/porto v0.4.0/go.mod h1:fESH0gzDHiutHRdX2hv27ojnOVFco37hg1W6E9EZF4A=
 github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4=
 github.com/jgautheron/goconst v1.5.1 h1:HxVbL1MhydKs8R8n/HE5NPvzfaYmQJA3o879lE4+WcM=
 github.com/jgautheron/goconst v1.5.1/go.mod h1:aAosetZ5zaeC/2EfMeRswtxUFBpe2Hr7HzkgX4fanO4=
@@ -611,6 +613,8 @@ github.com/mitchellh/mapstructure v1.4.3 h1:OVowDSCllw/YjdLkam3/sm7wEtOy59d8ndGg
 github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
 github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
 github.com/mitchellh/reflectwalk v1.0.1/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
+github.com/mjibson/esc v0.2.0 h1:k96hdaR9Z+nMcnDwNrOvhdBqtjyMrbVyxLpsRCdP2mA=
+github.com/mjibson/esc v0.2.0/go.mod h1:9Hw9gxxfHulMF5OJKCyhYD7PzlSdhzXyaGEBRPH1OPs=
 github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
 github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
 github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
@@ -809,8 +813,9 @@ github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UV
 github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
 github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
 github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
-github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
 github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
+github.com/stretchr/testify v1.7.1 h1:5TQK59W5E3v0r2duFAb7P95B6hEeOyEnHRa8MjYSMTY=
+github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
 github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s=
 github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
 github.com/sylvia7788/contextcheck v1.0.4 h1:MsiVqROAdr0efZc/fOCt0c235qm9XJqHtWwM+2h2B04=
@@ -891,8 +896,11 @@ go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
 go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
 go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
 go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E=
-go.opentelemetry.io/build-tools v0.0.0-20210719163622-92017e64f35b h1:tFMjUqEDGM2F82663yYidqTluwEJmmihk/AXr19J7rI=
 go.opentelemetry.io/build-tools v0.0.0-20210719163622-92017e64f35b/go.mod h1:zZRrJN8qdwDdPNkCEyww4SW54mM1Da0v9H3TyQet9T4=
+go.opentelemetry.io/build-tools v0.0.0-20220321164008-b8e03aff061a h1:yLxbGYl9MXOqD0o3unX/nJn+y+1loFNWZJWkfeguYV8=
+go.opentelemetry.io/build-tools v0.0.0-20220321164008-b8e03aff061a/go.mod h1:gkLviEngQuoeD670EP1KA/Oj4i5oNAzb+pjkk+4ecaQ=
+go.opentelemetry.io/build-tools/dbotconf v0.0.0-20220321183619-864aabdd471d h1:qKg9rq2ev4alNDxtXPF0AHo4pVGjY3Fo49VbND7217A=
+go.opentelemetry.io/build-tools/dbotconf v0.0.0-20220321183619-864aabdd471d/go.mod h1:m66/mN6fLhxyQkadUFpjV0RqhhyJR24w8z8aAnGZ+JI=
 go.opentelemetry.io/build-tools/multimod v0.0.0-20210920164323-2ceabab23375 h1:5zVDNFcOwiMee9Qm8sH08iw+9cJZk+l/Y3mVa2D/zmM=
 go.opentelemetry.io/build-tools/multimod v0.0.0-20210920164323-2ceabab23375/go.mod h1:mPh1L/tfTGyVNnSQOTlTSi2CBpci13Ft8jE4Glik2es=
 go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
diff --git a/tools/tools.go b/tools/tools.go
index c717c651d..419051e92 100644
--- a/tools/tools.go
+++ b/tools/tools.go
@@ -15,12 +15,15 @@
 //go:build tools
 // +build tools
 
-package tools
+package tools // import "go.opentelemetry.io/contrib/tools"
 
 import (
 	_ "github.com/client9/misspell/cmd/misspell"
 	_ "github.com/golangci/golangci-lint/cmd/golangci-lint"
+	_ "github.com/jcchavezs/porto/cmd/porto"
+	_ "github.com/mjibson/esc"
 	_ "github.com/wadey/gocovmerge"
+	_ "go.opentelemetry.io/build-tools/dbotconf"
 	_ "go.opentelemetry.io/build-tools/multimod"
 	_ "golang.org/x/tools/cmd/stringer"
 )
diff --git a/tools/version.go b/tools/version.go
index fb7fc9a19..3d219c589 100644
--- a/tools/version.go
+++ b/tools/version.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package tools
+package tools // import "go.opentelemetry.io/contrib/tools"
 
 // Version is the current release version of the OpenTelemetry Contrib tools.
 func Version() string {
diff --git a/zpages/boundaries.go b/zpages/boundaries.go
index 710350647..3d437170a 100644
--- a/zpages/boundaries.go
+++ b/zpages/boundaries.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package zpages
+package zpages // import "go.opentelemetry.io/contrib/zpages"
 
 import (
 	"sort"
diff --git a/zpages/bucket.go b/zpages/bucket.go
index 26d8b2f61..f88c73a34 100644
--- a/zpages/bucket.go
+++ b/zpages/bucket.go
@@ -13,7 +13,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package zpages
+package zpages // import "go.opentelemetry.io/contrib/zpages"
 
 import (
 	"time"
diff --git a/zpages/internal/gen.go b/zpages/internal/gen.go
index 677c701c6..415494061 100644
--- a/zpages/internal/gen.go
+++ b/zpages/internal/gen.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package internal
+package internal // import "go.opentelemetry.io/contrib/zpages/internal"
 
 // go get https://github.com/mjibson/esc.git
-//go:generate esc -pkg internal -o resources.go templates/
+//go:generate esc -pkg internal -modtime=1647459395 -o resources.go templates/
diff --git a/zpages/internal/resources.go b/zpages/internal/resources.go
index a94f7882d..aa8504548 100644
--- a/zpages/internal/resources.go
+++ b/zpages/internal/resources.go
@@ -1,4 +1,4 @@
-// Code generated by "esc -pkg internal -o resources.go templates/"; DO NOT EDIT.
+// Code generated by "esc -pkg internal -modtime=1647459395 -o resources.go templates/"; DO NOT EDIT.
 
 package internal
 
@@ -213,7 +213,7 @@ var _escData = map[string]*_escFile{
 		name:    "footer.html",
 		local:   "templates/footer.html",
 		size:    16,
-		modtime: 1626459744,
+		modtime: 1647459395,
 		compressed: `
 H4sIAAAAAAAC/7LRT8pPqbTjstHPKMnNseMCBAAA//8ATCBFEAAAAA==
 `,
@@ -222,14 +222,14 @@ H4sIAAAAAAAC/7LRT8pPqbTjstHPKMnNseMCBAAA//8ATCBFEAAAAA==
 	"/templates/header.html": {
 		name:    "header.html",
 		local:   "templates/header.html",
-		size:    529,
-		modtime: 1626483715,
+		size:    479,
+		modtime: 1647459395,
 		compressed: `
-H4sIAAAAAAAC/5TRv08DIRQH8P3+CmQ1BRsXYzgc1MHB6NDFkXLvjmf5cYFXm0vT/93gnUPjUicIDz75
-kq+6enp73Hy8PzNHwetG1YV5E4eWQ+RaOTCdbhhjTAUgw6wzuQC1fE/96o4vI0LyoI9Hsamb00nJ+WSe
-eow7lsG3vLiUye6JoU2RM5ehb7mUh8NBpBEigYcAlCeBSfbmq94SaBOXfyWaPBQHQL/MuN96tPLcsaVc
-9NgRjeVeyj5FKmJIafBgRizCpiBrjIfeBPRT+2oIMhp//WJTLPwftE0diAEodL5+by1uxY0MCycwdjik
-1YhxJwLGn+ALXmzGkVgHPWRWsr2UrMxn4VrJWdCNknOdapu6qZa9PuvMrXXzHQAA//+9KC/wEQIAAA==
+H4sIAAAAAAAC/5TRv04EIRAG8H6fAmnNgRsbY1gs1MLCaHGNJbLDMh5/NjBnsrncuxuyp4naaMWEj/yY
+5FNnd0+325fne+YpBt2pdrBg0jRwSFwrD2bUHWOMqQhkmPWmVKCB78ltrvgpIqQA+nAQ2zYcj0quN2sa
+MO1YgTDw6nMhuyeGNifOfAE3cE8012sp8wyJIEAEKovALJ15b+/q5yDQZi5/o7QEqB6AfoouJ6piynkK
+YGaswuYom3TjTMSwDI+GoKAJ5w/tH/4P2uYRxAQUx9BW7cWluJDxxAlMI055M2PaiYhJ2PqFV1twJjaC
+g8JqsX8lG/NWuVZyFXSn5FqOes3j0qrrvzXge919BAAA//9o89W63wEAAA==
 `,
 	},
 
@@ -237,7 +237,7 @@ eow7lsG3vLiUye6JoU2RM5ehb7mUh8NBpBEigYcAlCeBSfbmq94SaBOXfyWaPBQHQL/MuN96tPLcsaVc
 		name:    "summary.html",
 		local:   "templates/summary.html",
 		size:    1631,
-		modtime: 1626474833,
+		modtime: 1647459395,
 		compressed: `
 H4sIAAAAAAAC/6yVTY/aMBCG7/srRiniVGC3t9LEVSvtbdXDbm9VD04yhAgziWzDFlz/98of4SObttqF
 C3Kc8cw87+shqea5QFB6JzBL8kaWKCeq5UVN1RxuE3YDAJBqGRbhoYSiEarllN0BF3VFmcCFZmnOnlpO
@@ -255,7 +255,7 @@ AA==
 		name:    "traces.html",
 		local:   "templates/traces.html",
 		size:    420,
-		modtime: 1626713187,
+		modtime: 1647459395,
 		compressed: `
 H4sIAAAAAAAC/4yQsU7EMBBEe3/FKhLSXUHCpaA4jDuQaCgCErUdLxDh2Mab6EBm/x05RwHKFWxljWdG
 miejkkY9RO3hXo+4h5zr8mAG2Rglm6iEjKqo88gMHb7PSBP9fCRU4ukVPZy+G6cjoYUNYb8V5/88kXPS
diff --git a/zpages/spanprocessor.go b/zpages/spanprocessor.go
index 327fdf69a..424b6c0e1 100644
--- a/zpages/spanprocessor.go
+++ b/zpages/spanprocessor.go
@@ -13,7 +13,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package zpages
+package zpages // import "go.opentelemetry.io/contrib/zpages"
 
 import (
 	"context"
diff --git a/zpages/templates.go b/zpages/templates.go
index a9364015a..5fe8aa748 100644
--- a/zpages/templates.go
+++ b/zpages/templates.go
@@ -14,7 +14,7 @@
 // limitations under the License.
 //
 
-package zpages
+package zpages // import "go.opentelemetry.io/contrib/zpages"
 
 import (
 	"fmt"
diff --git a/zpages/tracez.go b/zpages/tracez.go
index 7bcde1907..cb3325a03 100644
--- a/zpages/tracez.go
+++ b/zpages/tracez.go
@@ -13,7 +13,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package zpages
+package zpages // import "go.opentelemetry.io/contrib/zpages"
 
 import (
 	"fmt"
diff --git a/zpages/version.go b/zpages/version.go
index e6f2814b0..482b3a993 100644
--- a/zpages/version.go
+++ b/zpages/version.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package zpages
+package zpages // import "go.opentelemetry.io/contrib/zpages"
 
 // Version is the current release version of the zpages span processor.
 func Version() string {


Test patch:
diff --git a/instrumentation/github.com/Shopify/sarama/otelsarama/test/doc.go b/instrumentation/github.com/Shopify/sarama/otelsarama/test/doc.go
index 48e5ece70..e295537e7 100644
--- a/instrumentation/github.com/Shopify/sarama/otelsarama/test/doc.go
+++ b/instrumentation/github.com/Shopify/sarama/otelsarama/test/doc.go
@@ -19,4 +19,4 @@ This package is in a separate module from the instrumentation it tests to
 isolate the dependency of the default SDK and not impose this as a transitive
 dependency for users.
 */
-package test
+package test // import "go.opentelemetry.io/contrib/instrumentation/github.com/Shopify/sarama/otelsarama/test"
diff --git a/instrumentation/github.com/Shopify/sarama/otelsarama/test/version.go b/instrumentation/github.com/Shopify/sarama/otelsarama/test/version.go
index a7881332c..553f77d3b 100644
--- a/instrumentation/github.com/Shopify/sarama/otelsarama/test/version.go
+++ b/instrumentation/github.com/Shopify/sarama/otelsarama/test/version.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package test
+package test // import "go.opentelemetry.io/contrib/instrumentation/github.com/Shopify/sarama/otelsarama/test"
 
 // Version is the current release version of the sarama instrumentation test module.
 func Version() string {
diff --git a/instrumentation/github.com/astaxie/beego/otelbeego/test/doc.go b/instrumentation/github.com/astaxie/beego/otelbeego/test/doc.go
index 76d6f7766..c28f452bb 100644
--- a/instrumentation/github.com/astaxie/beego/otelbeego/test/doc.go
+++ b/instrumentation/github.com/astaxie/beego/otelbeego/test/doc.go
@@ -19,4 +19,4 @@ This package is in a separate module from the instrumentation it tests to
 isolate the dependency of the default SDK and not impose this as a transitive
 dependency for users.
 */
-package test
+package test // import "go.opentelemetry.io/contrib/instrumentation/github.com/astaxie/beego/otelbeego/test"
diff --git a/instrumentation/github.com/astaxie/beego/otelbeego/test/version.go b/instrumentation/github.com/astaxie/beego/otelbeego/test/version.go
index 23c100863..bcccfabdb 100644
--- a/instrumentation/github.com/astaxie/beego/otelbeego/test/version.go
+++ b/instrumentation/github.com/astaxie/beego/otelbeego/test/version.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package test
+package test // import "go.opentelemetry.io/contrib/instrumentation/github.com/astaxie/beego/otelbeego/test"
 
 // Version is the current release version of the Beego instrumentation test module.
 func Version() string {
diff --git a/instrumentation/github.com/aws/aws-lambda-go/otellambda/test/doc.go b/instrumentation/github.com/aws/aws-lambda-go/otellambda/test/doc.go
index 38688f5d9..4851ccb2b 100644
--- a/instrumentation/github.com/aws/aws-lambda-go/otellambda/test/doc.go
+++ b/instrumentation/github.com/aws/aws-lambda-go/otellambda/test/doc.go
@@ -18,4 +18,4 @@ This package is in a separate module from the instrumentation it tests to
 isolate the dependency of the default SDK and not impose this as a transitive
 dependency for users.
 */
-package test
+package test // import "go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-lambda-go/otellambda/test"
diff --git a/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws/test/doc.go b/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws/test/doc.go
index 302d813f5..d024b1e6e 100644
--- a/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws/test/doc.go
+++ b/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws/test/doc.go
@@ -19,4 +19,4 @@ This package is in a separate module from the instrumentation it tests to
 isolate the dependency of the default SDK and not impose this as a transitive
 dependency for users.
 */
-package test
+package test // import "go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws/test"
diff --git a/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws/test/version.go b/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws/test/version.go
index e3c229d4e..afa1618e4 100644
--- a/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws/test/version.go
+++ b/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws/test/version.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package test
+package test // import "go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws/test"
 
 // Version is the current release version of the AWS intstrumentation test module.
 func Version() string {
diff --git a/instrumentation/github.com/bradfitz/gomemcache/memcache/otelmemcache/test/doc.go b/instrumentation/github.com/bradfitz/gomemcache/memcache/otelmemcache/test/doc.go
index 983218935..8e8dac0b7 100644
--- a/instrumentation/github.com/bradfitz/gomemcache/memcache/otelmemcache/test/doc.go
+++ b/instrumentation/github.com/bradfitz/gomemcache/memcache/otelmemcache/test/doc.go
@@ -19,4 +19,4 @@ This package is in a separate module from the instrumentation it tests to
 isolate the dependency of the default SDK and not impose this as a transitive
 dependency for users.
 */
-package test
+package test // import "go.opentelemetry.io/contrib/instrumentation/github.com/bradfitz/gomemcache/memcache/otelmemcache/test"
diff --git a/instrumentation/github.com/bradfitz/gomemcache/memcache/otelmemcache/test/version.go b/instrumentation/github.com/bradfitz/gomemcache/memcache/otelmemcache/test/version.go
index af53b051a..3b323598f 100644
--- a/instrumentation/github.com/bradfitz/gomemcache/memcache/otelmemcache/test/version.go
+++ b/instrumentation/github.com/bradfitz/gomemcache/memcache/otelmemcache/test/version.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package test
+package test // import "go.opentelemetry.io/contrib/instrumentation/github.com/bradfitz/gomemcache/memcache/otelmemcache/test"
 
 // Version is the current release version of the memcached instrumentation test module.
 func Version() string {
diff --git a/instrumentation/github.com/emicklei/go-restful/otelrestful/test/doc.go b/instrumentation/github.com/emicklei/go-restful/otelrestful/test/doc.go
index 376ea336f..00276944d 100644
--- a/instrumentation/github.com/emicklei/go-restful/otelrestful/test/doc.go
+++ b/instrumentation/github.com/emicklei/go-restful/otelrestful/test/doc.go
@@ -19,4 +19,4 @@ This package is in a separate module from the instrumentation it tests to
 isolate the dependency of the default SDK and not impose this as a transitive
 dependency for users.
 */
-package test
+package test // import "go.opentelemetry.io/contrib/instrumentation/github.com/emicklei/go-restful/otelrestful/test"
diff --git a/instrumentation/github.com/emicklei/go-restful/otelrestful/test/version.go b/instrumentation/github.com/emicklei/go-restful/otelrestful/test/version.go
index d90ee4938..8c4d2328e 100644
--- a/instrumentation/github.com/emicklei/go-restful/otelrestful/test/version.go
+++ b/instrumentation/github.com/emicklei/go-restful/otelrestful/test/version.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package test
+package test // import "go.opentelemetry.io/contrib/instrumentation/github.com/emicklei/go-restful/otelrestful/test"
 
 // Version is the current release version of the go-restful instrumentation test module.
 func Version() string {
diff --git a/instrumentation/github.com/gin-gonic/gin/otelgin/test/doc.go b/instrumentation/github.com/gin-gonic/gin/otelgin/test/doc.go
index 348ac9003..150d3846f 100644
--- a/instrumentation/github.com/gin-gonic/gin/otelgin/test/doc.go
+++ b/instrumentation/github.com/gin-gonic/gin/otelgin/test/doc.go
@@ -19,4 +19,4 @@ This package is in a separate module from the instrumentation it tests to
 isolate the dependency of the default SDK and not impose this as a transitive
 dependency for users.
 */
-package test
+package test // import "go.opentelemetry.io/contrib/instrumentation/github.com/gin-gonic/gin/otelgin/test"
diff --git a/instrumentation/github.com/gin-gonic/gin/otelgin/test/version.go b/instrumentation/github.com/gin-gonic/gin/otelgin/test/version.go
index 6981603ff..ea3206da9 100644
--- a/instrumentation/github.com/gin-gonic/gin/otelgin/test/version.go
+++ b/instrumentation/github.com/gin-gonic/gin/otelgin/test/version.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package test
+package test // import "go.opentelemetry.io/contrib/instrumentation/github.com/gin-gonic/gin/otelgin/test"
 
 // Version is the current release version of the gin instrumentation test module.
 func Version() string {
diff --git a/instrumentation/github.com/go-kit/kit/otelkit/test/doc.go b/instrumentation/github.com/go-kit/kit/otelkit/test/doc.go
index 1cbecb455..986a4bcc7 100644
--- a/instrumentation/github.com/go-kit/kit/otelkit/test/doc.go
+++ b/instrumentation/github.com/go-kit/kit/otelkit/test/doc.go
@@ -19,4 +19,4 @@ This package is in a separate module from the instrumentation it tests to
 isolate the dependency of the default SDK and not impose this as a transitive
 dependency for users.
 */
-package test
+package test // import "go.opentelemetry.io/contrib/instrumentation/github.com/go-kit/kit/otelkit/test"
diff --git a/instrumentation/github.com/go-kit/kit/otelkit/test/version.go b/instrumentation/github.com/go-kit/kit/otelkit/test/version.go
index 16cc3725a..8fad19e76 100644
--- a/instrumentation/github.com/go-kit/kit/otelkit/test/version.go
+++ b/instrumentation/github.com/go-kit/kit/otelkit/test/version.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package test
+package test // import "go.opentelemetry.io/contrib/instrumentation/github.com/go-kit/kit/otelkit/test"
 
 // Version is the current release version of the go-kit instrumentation test module.
 func Version() string {
diff --git a/instrumentation/github.com/gocql/gocql/otelgocql/test/doc.go b/instrumentation/github.com/gocql/gocql/otelgocql/test/doc.go
index e9b107329..c82616f17 100644
--- a/instrumentation/github.com/gocql/gocql/otelgocql/test/doc.go
+++ b/instrumentation/github.com/gocql/gocql/otelgocql/test/doc.go
@@ -19,4 +19,4 @@ This package is in a separate module from the instrumentation it tests to
 isolate the dependency of the default SDK and not impose this as a transitive
 dependency for users.
 */
-package test
+package test // import "go.opentelemetry.io/contrib/instrumentation/github.com/gocql/gocql/otelgocql/test"
diff --git a/instrumentation/github.com/gocql/gocql/otelgocql/test/version.go b/instrumentation/github.com/gocql/gocql/otelgocql/test/version.go
index dee3b9e24..31e7cf80a 100644
--- a/instrumentation/github.com/gocql/gocql/otelgocql/test/version.go
+++ b/instrumentation/github.com/gocql/gocql/otelgocql/test/version.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package test
+package test // import "go.opentelemetry.io/contrib/instrumentation/github.com/gocql/gocql/otelgocql/test"
 
 // Version is the current release version of the gocql instrumentation test module.
 func Version() string {
diff --git a/instrumentation/github.com/gorilla/mux/otelmux/test/doc.go b/instrumentation/github.com/gorilla/mux/otelmux/test/doc.go
index a83a64edc..39a8250b0 100644
--- a/instrumentation/github.com/gorilla/mux/otelmux/test/doc.go
+++ b/instrumentation/github.com/gorilla/mux/otelmux/test/doc.go
@@ -19,4 +19,4 @@ This package is in a separate module from the instrumentation it tests to
 isolate the dependency of the default SDK and not impose this as a transitive
 dependency for users.
 */
-package test
+package test // import "go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux/test"
diff --git a/instrumentation/github.com/gorilla/mux/otelmux/test/version.go b/instrumentation/github.com/gorilla/mux/otelmux/test/version.go
index 30be37c83..1894d1d28 100644
--- a/instrumentation/github.com/gorilla/mux/otelmux/test/version.go
+++ b/instrumentation/github.com/gorilla/mux/otelmux/test/version.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package test
+package test // import "go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux/test"
 
 // Version is the current release version of the gorilla/mux instrumentation test module.
 func Version() string {
diff --git a/instrumentation/github.com/labstack/echo/otelecho/test/doc.go b/instrumentation/github.com/labstack/echo/otelecho/test/doc.go
index 6799fac12..70ba2b5ee 100644
--- a/instrumentation/github.com/labstack/echo/otelecho/test/doc.go
+++ b/instrumentation/github.com/labstack/echo/otelecho/test/doc.go
@@ -19,4 +19,4 @@ This package is in a separate module from the instrumentation it tests to
 isolate the dependency of the default SDK and not impose this as a transitive
 dependency for users.
 */
-package test
+package test // import "go.opentelemetry.io/contrib/instrumentation/github.com/labstack/echo/otelecho/test"
diff --git a/instrumentation/github.com/labstack/echo/otelecho/test/version.go b/instrumentation/github.com/labstack/echo/otelecho/test/version.go
index b75162ea1..f3c8dd713 100644
--- a/instrumentation/github.com/labstack/echo/otelecho/test/version.go
+++ b/instrumentation/github.com/labstack/echo/otelecho/test/version.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package test
+package test // import "go.opentelemetry.io/contrib/instrumentation/github.com/labstack/echo/otelecho/test"
 
 // Version is the current release version of the echo instrumentation test module.
 func Version() string {
diff --git a/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo/test/doc.go b/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo/test/doc.go
index b18aa33bf..909b0a331 100644
--- a/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo/test/doc.go
+++ b/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo/test/doc.go
@@ -19,4 +19,4 @@ This package is in a separate module from the instrumentation it tests to
 isolate the dependency of the default SDK and not impose this as a transitive
 dependency for users.
 */
-package test
+package test // import "go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo/test"
diff --git a/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo/test/version.go b/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo/test/version.go
index 0dbc22238..d15a775c1 100644
--- a/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo/test/version.go
+++ b/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo/test/version.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package test
+package test // import "go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/mongo/otelmongo/test"
 
 // Version is the current release version of the mongo-driver instrumentation test module.
 func Version() string {
diff --git a/instrumentation/google.golang.org/grpc/otelgrpc/test/doc.go b/instrumentation/google.golang.org/grpc/otelgrpc/test/doc.go
index 84747f09d..03f2cf8ee 100644
--- a/instrumentation/google.golang.org/grpc/otelgrpc/test/doc.go
+++ b/instrumentation/google.golang.org/grpc/otelgrpc/test/doc.go
@@ -19,4 +19,4 @@ This package is in a separate module from the instrumentation it tests to
 isolate the dependency of the default SDK and not impose this as a transitive
 dependency for users.
 */
-package test
+package test // import "go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc/test"
diff --git a/instrumentation/google.golang.org/grpc/otelgrpc/test/version.go b/instrumentation/google.golang.org/grpc/otelgrpc/test/version.go
index 4c41a5846..313d275bd 100644
--- a/instrumentation/google.golang.org/grpc/otelgrpc/test/version.go
+++ b/instrumentation/google.golang.org/grpc/otelgrpc/test/version.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package test
+package test // import "go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc/test"
 
 // Version is the current release version of the gRPC instrumentation test module.
 func Version() string {
diff --git a/instrumentation/gopkg.in/macaron.v1/otelmacaron/test/doc.go b/instrumentation/gopkg.in/macaron.v1/otelmacaron/test/doc.go
index 02d9cb99a..e0a43d9b6 100644
--- a/instrumentation/gopkg.in/macaron.v1/otelmacaron/test/doc.go
+++ b/instrumentation/gopkg.in/macaron.v1/otelmacaron/test/doc.go
@@ -19,4 +19,4 @@ This package is in a separate module from the instrumentation it tests to
 isolate the dependency of the default SDK and not impose this as a transitive
 dependency for users.
 */
-package test
+package test // import "go.opentelemetry.io/contrib/instrumentation/gopkg.in/macaron.v1/otelmacaron/test"
diff --git a/instrumentation/gopkg.in/macaron.v1/otelmacaron/test/version.go b/instrumentation/gopkg.in/macaron.v1/otelmacaron/test/version.go
index c7516569d..c4b94edaa 100644
--- a/instrumentation/gopkg.in/macaron.v1/otelmacaron/test/version.go
+++ b/instrumentation/gopkg.in/macaron.v1/otelmacaron/test/version.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package test
+package test // import "go.opentelemetry.io/contrib/instrumentation/gopkg.in/macaron.v1/otelmacaron/test"
 
 // Version is the current release version of the macron instrumentation test module.
 func Version() string {
diff --git a/instrumentation/net/http/httptrace/otelhttptrace/test/doc.go b/instrumentation/net/http/httptrace/otelhttptrace/test/doc.go
index 8aa02ef2f..39fcd0f82 100644
--- a/instrumentation/net/http/httptrace/otelhttptrace/test/doc.go
+++ b/instrumentation/net/http/httptrace/otelhttptrace/test/doc.go
@@ -19,4 +19,4 @@ This package is in a separate module from the instrumentation it tests to
 isolate the dependency of the default SDK and not impose this as a transitive
 dependency for users.
 */
-package test
+package test // import "go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace/test"
diff --git a/instrumentation/net/http/httptrace/otelhttptrace/test/version.go b/instrumentation/net/http/httptrace/otelhttptrace/test/version.go
index 486b71559..3728213ef 100644
--- a/instrumentation/net/http/httptrace/otelhttptrace/test/version.go
+++ b/instrumentation/net/http/httptrace/otelhttptrace/test/version.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package test
+package test // import "go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace/test"
 
 // Version is the current release version of the httptrace instrumentation test module.
 func Version() string {
diff --git a/instrumentation/net/http/otelhttp/test/doc.go b/instrumentation/net/http/otelhttp/test/doc.go
index 0d190a314..38a09e417 100644
--- a/instrumentation/net/http/otelhttp/test/doc.go
+++ b/instrumentation/net/http/otelhttp/test/doc.go
@@ -19,4 +19,4 @@ This package is in a separate module from the instrumentation it tests to
 isolate the dependency of the default SDK and not impose this as a transitive
 dependency for users.
 */
-package test
+package test // import "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/test"
diff --git a/instrumentation/net/http/otelhttp/test/version.go b/instrumentation/net/http/otelhttp/test/version.go
index 00121fdd4..d7170cd2a 100644
--- a/instrumentation/net/http/otelhttp/test/version.go
+++ b/instrumentation/net/http/otelhttp/test/version.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package test
+package test // import "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/test"
 
 // Version is the current release version of the otelhttp instrumentation test module.
 func Version() string {
diff --git a/internal/util/testutil.go b/internal/util/testutil.go
index 2754f5cb9..3c945e6f1 100644
--- a/internal/util/testutil.go
+++ b/internal/util/testutil.go
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package util
+package util // import "go.opentelemetry.io/contrib/internal/util"
 
 import (
 	"fmt"
diff --git a/samplers/jaegerremote/internal/testutils/mock_agent.go b/samplers/jaegerremote/internal/testutils/mock_agent.go
index 0e5c66908..b1fa87e93 100644
--- a/samplers/jaegerremote/internal/testutils/mock_agent.go
+++ b/samplers/jaegerremote/internal/testutils/mock_agent.go
@@ -14,7 +14,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package testutils
+package testutils // import "go.opentelemetry.io/contrib/samplers/jaegerremote/internal/testutils"
 
 import (
 	"encoding/json"
diff --git a/samplers/jaegerremote/internal/testutils/sampling_manager.go b/samplers/jaegerremote/internal/testutils/sampling_manager.go
index adcfea1ff..4fd17fae2 100644
--- a/samplers/jaegerremote/internal/testutils/sampling_manager.go
+++ b/samplers/jaegerremote/internal/testutils/sampling_manager.go
@@ -14,7 +14,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package testutils
+package testutils // import "go.opentelemetry.io/contrib/samplers/jaegerremote/internal/testutils"
 
 import (
 	"sync"