Checker if the implementation of OpenTelemetry instrumentation is correct.
Requirement: Golang
- Install the
otel-checker
binary
go install github.com/grafana/otel-checker@latest
- You can confirm it was installed with:
❯ ls $GOPATH/bin
otel-checker
The available flags:
❯ otel-checker -h
Usage of otel-checker:
-auto-instrumentation
Provide if your application is using auto instrumentation
-collector-config-path string
Path to collector's config.yaml file. Required if using Collector and the config file is not in the same location as the otel-checker is being executed from. E.g. "-collector-config-path=src/inst/"
-components string
Instrumentation components to test, separated by ',' (required). Possible values: sdk, collector, beyla, alloy
-instrumentation-file string
Name (including path) to instrumentation file. Required if not using auto-instrumentation. E.g."-instrumentation-file=src/inst/instrumentation.js"
-language string
Language used for instrumentation (required). Possible values: dotnet, go, java, js, python
-package-json-path string
Path to package.json file. Required if instrumentation is in JavaScript and the file is not in the same location as the otel-checker is being executed from. E.g. "-package-json-path=src/inst/"
- Endpoints
- Authentication
- Service name
- Exporter protocol
- Node version
- Required dependencies on package.json
- Required environment variables
- Resource detectors
- Dependencies compatible with Grafana Cloud
- Usage of Console Exporter
TBD
TBD
TBD
TBD
TBD
- Config receivers and exporters
- Environment variables
TBD
Application with auto-instrumentation
Application with custom instrumentation using SDKs and Collector
Requirement: Golang
- Find your Go path:
❯ go env GOPATH
/Users/maryliag/go
- Clone this repo in the go path folder, so you will have:
/Users/maryliag/go/src/otel-checker
- Run
go run main.go
- Build binary
go build
- Install
go install
- You can confirm it was installed with:
❯ ls $GOPATH/bin
otel-checker
- Use from any other directory
otel-checker \
-language=js \
-auto-instrumentation \
-components=sdk
Or start directly from the source code:
go run otel-checker \
-language=js \
-auto-instrumentation \
-components=sdk