go install google.golang.org/protobuf/cmd/protoc-gen-go@latestThe project uses Protobuf and OpenAPI schema to generate go lang models. We have scripts to download the latest versions of the schemas and update the models.
- To update protobuf version, you have to past git hash to
connector/topologyconnector/topostream_version - Run script
connector/topologyconnector/scripts/generate_protobuf_model.sh
The script will download the latest version of Protobuf schema to connector/topologyconnector/spec and generate a topo_stream model.
Optionally you can run the following command to generate a topo_stream model from Protobuf schema.
go generate ./connector/topologyconnector/generated/topostream/model.goNOTE: The generated files have headers with protoc version. Your version may be different than used by github actions. It is recommended to update the version manually.
- To update OpenAPI version, you have to past git hash to
extension/settingsproviderextension/settings_version - Run script
extension/settingsproviderextension/scripts/generate_openapi_model.sh
The script will download the latest version of OpenAPI schema to extension/settingsproviderextension/spec and generate a settings model.
Optionally you can run the following command to generate a settings model from OpenAPI schema.
go generate ./extension/settingsproviderextension/generated/settings/model.godocker build . -t sts-opentelemetry-collector:latestCreate a file (dev-config.yaml) with configuration for OpenTelemetry Collector.
receivers:
otlp:
protocols:
grpc:
endpoint: 0.0.0.0:4317
http:
endpoint: 0.0.0.0:4318
processors:
batch:
exporters:
debug:
verbosity: detailed
service:
pipelines:
traces:
receivers: [ otlp ]
processors: [ batch ]
exporters: [ debug ]
metrics:
receivers: [ otlp ]
processors: [ batch ]
exporters: [ debug ]
logs:
receivers: [ otlp ]
processors: [ batch ]
exporters: [ debug ]docker run --rm -p 4317:4317 -p 4318:4318 -v ./dev-config.yaml:/config.yaml --network="host" sts-opentelemetry-collector:latest --config /config.yamlTo run with an extension enabled, see as an example the guide for the STS Settings Provider extension.
docker run --rm -it --name otel-generator --network host golang /bin/bashRun inside golang container
go install github.com/open-telemetry/opentelemetry-collector-contrib/tracegen@latest
tracegen --otlp-endpoint localhost:4317 --otlp-insecure --traces 1