Sha256: b4aceaa6251c0fc9c289c11bfbd99864316a582da0fea2e330e33f823f5107fc

Contents?: true

Size: 696 Bytes

Versions: 12

Compression:

Stored size: 696 Bytes

Contents

# Design

## Threads

The Buildkite ruby collector uses websockets and ActionCable to send and
receive data with Buildkite. Execution information starts transmitting as soon
as possible, without waiting for the test suite to finish running.

This gem uses 3 ruby threads:

* main thread: acts as the producer. It collects span data from the
  test suite and enqueues it into the send queue.
* write thread: acts as the consumer. Removes data from the send queue and
  sends it to Buildkite.
* read thread: receives and processes messages from Buildkite.

## Data

Trace data is stored in spans. See [Buildkite::TestCollector::Tracer](lib/buildkite/test_collector/tracer.rb) for more information.

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
buildkite-test_collector-2.1.0.pre DESIGN.md
buildkite-test_collector-2.0.0.pre DESIGN.md
buildkite-test_collector-1.5.0 DESIGN.md
buildkite-test_collector-1.4.2 DESIGN.md
buildkite-test_collector-1.4.1 DESIGN.md
buildkite-test_collector-1.3.1 DESIGN.md
buildkite-test_collector-1.3.0 DESIGN.md
buildkite-test_collector-1.2.5 DESIGN.md
buildkite-test_collector-1.2.4 DESIGN.md
buildkite-test_collector-1.2.3 DESIGN.md
buildkite-test_collector-1.1.3 DESIGN.md
buildkite-test_collector-1.1.2 DESIGN.md