This folder contains out of the boxes examples to illustrate how to use this plugin in conjunction with some other integrations.
The demo exposes the following backends:
- Elastic at http://0.0.0.0:5601
- Jenkins at http://0.0.0.0:8080
- Jaeger at http://0.0.0.0:16686
- Zipkin at http://0.0.0.0:9411
- Prometheus at http://0.0.0.0:9090
This is an example of distributed tracing with Jenkins based on:
- JCasC to configure a local jenkins instance.
- JobDSL to configure the pipelines to test the steps.
- OpenTelemetry plugin to send traces :)
- Maven to send traces for each maven goal.
- Ansible to send traces for each ansible task.
- Gradle to send traces for each gradle task.
- OtelCli to send traces for command.
- Docker >= 19.x.x (make sure you have greater than 2gb memory allocated to Docker)
- Docker Compose >= 1.25.0
- Java >= 8
- *nix based (preferably x86_64)
If ARM64
please read the support for ARM64
section.
-
Build docker image by running:
make -C demos build
-
Start the local Jenkins master service by running:
make -C demos start-all
-
Browse to http://localhost:8080 in your web browser.
- Support gradle integration with this plugin.
It uses the OpenTelemetry Collector to send traces and metrics to different vendors, see https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/examples/demo
The docker image of the OpenTelemetry Collector does not support ARM64 arch yet, though there is a workaround, see open-telemetry/opentelemetry-collector-contrib#2379 (comment)
If you'd like to use it then:
- Create a Dockerfile in
demos/
with the content explained in the above comment. - Edit
demos/docker-compose.yml
and replace theotel-collector
service with thebuild
command. - Proceed with the
Run this demo
section.