|
2 | 2 |
|
3 | 3 | Code contained in this directory contains instrumentation for 3rd-party Go packages and some packages from the standard library.
|
4 | 4 |
|
| 5 | +## Instrumentation Packages |
| 6 | + |
| 7 | +The following instrumentation packages are provided for popular Go packages and use-cases. |
| 8 | + |
| 9 | +| Instrumentation Package | Metrics | Traces | |
| 10 | +| :---------------------: | :-----: | :----: | |
| 11 | +| [github.com/astaxie/beego](./github.com/astaxie/beego/otelbeego) | ✓ | ✓ | |
| 12 | +| [github.com/bradfitz/gomemcache](./github.com/bradfitz/gomemcache/memcache/otelmemcache) | | ✓ | |
| 13 | +| [github.com/emicklei/go-restful](./github.com/emicklei/go-restful/otelrestful) | | ✓ | |
| 14 | +| [github.com/gin-gonic/gin](./github.com/gin-gonic/gin/otelgin) | | ✓ | |
| 15 | +| [github.com/gocql/gocql](./github.com/gocql/gocql/otelgocql) | ✓ | ✓ | |
| 16 | +| [github.com/gorilla/mux](./github.com/gorilla/mux/otelmux) | | ✓ | |
| 17 | +| [github.com/labstack/echo](./github.com/labstack/echo/otelecho) | | ✓ | |
| 18 | +| [github.com/Shopify/sarama](./github.com/Shopify/sarama/otelsarama) | | ✓ | |
| 19 | +| [go.mongodb.org/mongo-driver](./go.mongodb.org/mongo-driver/mongo/otelmongo) | | ✓ | |
| 20 | +| [google.golang.org/grpc](./google.golang.org/grpc/otelgrpc) | | ✓ | |
| 21 | +| [gopkg.in/macaron.v1](./gopkg.in/macaron.v1/otelmacaron) | | ✓ | |
| 22 | +| [host](./host) | ✓ | | |
| 23 | +| [net/http](./net/http/otelhttp) | ✓ | ✓ | |
| 24 | +| [net/http/httptrace](./net/http/httptrace/otelhttptrace) | | ✓ | |
| 25 | +| [runtime](./runtime) | ✓ | | |
| 26 | + |
| 27 | + |
| 28 | +Additionally, these are the known instrumentation packages that exist outside of this repository for popular Go packages. |
| 29 | + |
| 30 | +| Package Name | Documentation | Notes | |
| 31 | +| :----------: | :-----------: | :---: | |
| 32 | +| [`github.com/go-redis/redis/v8/redisext`](https://github.com/go-redis/redis/blob/v8.0.0-beta.5/redisext/otel.go) | [Go Docs ](https://pkg.go.dev/github.com/go-redis/redis/[email protected]/redisext?tab=doc) | Trace only; add the hook found [here ](https://github.com/go-redis/redis/blob/v8.0.0-beta.5/redisext/otel.go) to your go-redis client. | |
| 33 | + |
5 | 34 | ## Organization
|
6 | 35 |
|
7 | 36 | In order to ensure the maintainability and discoverability of instrumentation packages, the following guidelines MUST be followed.
|
@@ -40,11 +69,3 @@ Additionally the following guidelines for package composition need to be followe
|
40 | 69 | Also, packages MUST use the default `TracerProvider`, `MeterProvider`, and `Propagators` supplied by the `global` package if no optional one is provided.
|
41 | 70 | - All instrumentation packages MUST NOT provide an option to accept a `Tracer` or `Meter`.
|
42 | 71 | - All instrumentation packages MUST create any used `Tracer` or `Meter` with a name matching the instrumentation package name.
|
43 |
| - |
44 |
| -## Additional Instrumentation Packages |
45 |
| - |
46 |
| -Below are additional instrumentation packages outside of the opentelemetry-go-contrib repo: |
47 |
| - |
48 |
| -| Package Name | Documentation | Notes | |
49 |
| -| :----------: | :-----------: | :---: | |
50 |
| -| [`github.com/go-redis/redis/v8/redisext`](https://github.com/go-redis/redis/blob/v8.0.0-beta.5/redisext/otel.go) | [Go Docs ](https://pkg.go.dev/github.com/go-redis/redis/[email protected]/redisext?tab=doc) | Trace only; add the hook found [here ](https://github.com/go-redis/redis/blob/v8.0.0-beta.5/redisext/otel.go) to your go-redis client. | |
|
0 commit comments