Skip to content

Latest commit

 

History

History
68 lines (43 loc) · 2.33 KB

README.md

File metadata and controls

68 lines (43 loc) · 2.33 KB

Demos

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:

Context

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.

System Requirements

  • 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.

Run this demo

  1. Build docker image by running:

    make -C demos build
    
  2. Start the local Jenkins master service by running:

    make -C demos start-all
    
  3. Browse to http://localhost:8080 in your web browser.

Next

  1. Support gradle integration with this plugin.

Further details

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

Support for ARM64

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:

  1. Create a Dockerfile in demos/ with the content explained in the above comment.
  2. Edit demos/docker-compose.yml and replace the otel-collector service with the build command.
  3. Proceed with the Run this demo section.