File: spec_helper.rb

package info (click to toggle)
ruby-jaeger-client 1.3.0-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 624 kB
  • sloc: ruby: 3,381; makefile: 6; sh: 4
file content (30 lines) | stat: -rw-r--r-- 857 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#require 'bundler/setup'
require 'jaeger/client'
require 'timecop'

require 'webmock/rspec'

RSpec.configure do |config|
  # Enable flags like --only-failures and --next-failure
  config.example_status_persistence_file_path = '.rspec_status'

  config.expect_with :rspec do |c|
    c.syntax = :expect
  end

  def build_span_context(opts = {})
    Jaeger::SpanContext.new(**{
      trace_id: Jaeger::TraceId.generate,
      span_id: Jaeger::TraceId.generate,
      flags: Jaeger::SpanContext::Flags::SAMPLED
    }.merge(opts))
  end

  def build_span(opts = {})
    span_context = opts.delete(:span_context) || build_span_context
    operation_name = opts.delete(:operation_name) || 'operation-name'
    reporter = opts.delete(:reporter) || Jaeger::Reporters::NullReporter.new

    Jaeger::Span.new(span_context, operation_name, reporter, **opts)
  end
end