Skip to content

Commit

Permalink
Merge branch 'main' into add_shoryuken_instrumentation
Browse files Browse the repository at this point in the history
  • Loading branch information
arielvalentin authored Aug 7, 2023
2 parents 6b6f51f + cf5f236 commit 08b5b5c
Show file tree
Hide file tree
Showing 128 changed files with 1,872 additions and 586 deletions.
12 changes: 10 additions & 2 deletions .github/actions/test_gem/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,11 @@ inputs:
required: false
type: boolean
default: false
latest:
description: Build against the latest version of the gem
required: false
type: boolean
default: false

runs:
using: composite
Expand All @@ -50,8 +55,11 @@ runs:
fi
echo "appraisals=false" >> $GITHUB_OUTPUT
if [[ -f "${dir}/Appraisals" ]]; then
echo "appraisals=true" >> $GITHUB_OUTPUT
if [[ "${{ inputs.latest }}" != "true" ]]; then
if [[ -f "${dir}/Appraisals" ]]; then
echo "appraisals=true" >> $GITHUB_OUTPUT
fi
fi
# Install ruby and bundle dependencies and cache!
Expand Down
4 changes: 4 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -181,3 +181,7 @@ updates:
directory: "/resource_detectors"
schedule:
interval: weekly
- package-ecosystem: bundler
directory: "/resources/container"
schedule:
interval: weekly
11 changes: 11 additions & 0 deletions .github/workflows/ci-contrib-canary.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,17 +26,20 @@ jobs:
with:
gem: "opentelemetry-propagator-${{ matrix.gem }}"
ruby: "3.2"
latest: "true"
- name: "Test Ruby 3.1"
uses: ./.github/actions/test_gem
with:
gem: "opentelemetry-propagator-${{ matrix.gem }}"
ruby: "3.1"
latest: "true"
- name: "Test Ruby 3.0"
if: "${{ matrix.os == 'ubuntu-latest' }}"
uses: ./.github/actions/test_gem
with:
gem: "opentelemetry-propagator-${{ matrix.gem }}"
ruby: "3.0"
latest: "true"
yard: true
rubocop: true
build: true
Expand All @@ -46,19 +49,22 @@ jobs:
with:
gem: "opentelemetry-propagator-${{ matrix.gem }}"
ruby: "jruby-9.4.2.0"
latest: "true"
- name: "Test truffleruby"
if: "${{ matrix.os == 'ubuntu-latest' }}"
uses: ./.github/actions/test_gem
with:
gem: "opentelemetry-propagator-${{ matrix.gem }}"
ruby: "truffleruby"
latest: "true"

resource-detectors:
strategy:
fail-fast: false
matrix:
gem:
- resource_detectors
- resource-detector-container
os:
- ubuntu-latest
- macos-latest
Expand All @@ -72,17 +78,20 @@ jobs:
with:
gem: "opentelemetry-${{ matrix.gem }}"
ruby: "3.2"
latest: "true"
- name: "Test Ruby 3.1"
uses: ./.github/actions/test_gem
with:
gem: "opentelemetry-${{ matrix.gem }}"
ruby: "3.1"
latest: "true"
- name: "Test Ruby 3.0"
if: "${{ matrix.os == 'ubuntu-latest' }}"
uses: ./.github/actions/test_gem
with:
gem: "opentelemetry-${{ matrix.gem }}"
ruby: "3.0"
latest: "true"
yard: true
rubocop: true
build: true
Expand All @@ -92,9 +101,11 @@ jobs:
with:
gem: "opentelemetry-${{ matrix.gem }}"
ruby: "jruby-9.4.2.0"
latest: "true"
- name: "Test truffleruby"
if: "${{ matrix.os == 'ubuntu-latest' }}"
uses: ./.github/actions/test_gem
with:
gem: "opentelemetry-${{ matrix.gem }}"
ruby: "truffleruby"
latest: "true"
1 change: 1 addition & 0 deletions .github/workflows/ci-contrib.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ jobs:
matrix:
gem:
- resource_detectors
- resource-detector-container
os:
- ubuntu-latest
name: "opentelemetry-${{ matrix.gem }} / ${{ matrix.os }}"
Expand Down
5 changes: 5 additions & 0 deletions .github/workflows/ci-instrumentation-canary.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,17 +62,20 @@ jobs:
with:
gem: "opentelemetry-instrumentation-${{ matrix.gem }}"
ruby: "3.2"
latest: "true"
- name: "Test Ruby 3.1"
uses: ./.github/actions/test_gem
with:
gem: "opentelemetry-instrumentation-${{ matrix.gem }}"
ruby: "3.1"
latest: "true"
- name: "Test Ruby 3.0"
if: "${{ matrix.os == 'ubuntu-latest' }}"
uses: ./.github/actions/test_gem
with:
gem: "opentelemetry-instrumentation-${{ matrix.gem }}"
ruby: "3.0"
latest: "true"
yard: true
rubocop: true
build: true
Expand Down Expand Up @@ -102,6 +105,7 @@ jobs:
uses: ./.github/actions/test_gem
with:
gem: "opentelemetry-instrumentation-${{ matrix.gem }}"
latest: "true"
ruby: "jruby-9.4.2.0"
- name: "Truffleruby Filter"
id: truffleruby_skip
Expand All @@ -124,3 +128,4 @@ jobs:
with:
gem: "opentelemetry-instrumentation-${{ matrix.gem }}"
ruby: "truffleruby"
latest: "true"
5 changes: 5 additions & 0 deletions .github/workflows/ci-instrumentation-with-services-canary.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,16 +34,19 @@ jobs:
with:
gem: "opentelemetry-instrumentation-${{ matrix.gem }}"
ruby: "3.2"
latest: "true"
- name: "Test Ruby 3.1"
uses: ./.github/actions/test_gem
with:
gem: "opentelemetry-instrumentation-${{ matrix.gem }}"
ruby: "3.1"
latest: "true"
- name: "Test Ruby 3.0"
uses: ./.github/actions/test_gem
with:
gem: "opentelemetry-instrumentation-${{ matrix.gem }}"
ruby: "3.0"
latest: "true"
yard: true
rubocop: true
build: true
Expand All @@ -70,6 +73,7 @@ jobs:
with:
gem: "opentelemetry-instrumentation-${{ matrix.gem }}"
ruby: "jruby-9.4.2.0"
latest: "true"
- name: "Truffleruby Filter"
id: truffleruby_skip
shell: bash
Expand All @@ -86,6 +90,7 @@ jobs:
with:
gem: "opentelemetry-instrumentation-${{ matrix.gem }}"
ruby: "truffleruby"
latest: "true"
services:
zookeeper:
image: confluentinc/cp-zookeeper:latest
Expand Down
30 changes: 30 additions & 0 deletions .github/workflows/installation-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# This workflow is intended to catch issues with installation issues after a release
# If the jobs fail that means users will not be able to install the latest version of gems
# You may have to update and release gems that fail to install
name: Installation Tests

on:
workflow_dispatch:
schedule:
# Everyday at 2 PM UTC
- cron: "0 14 * * *"

jobs:
installation-tests:
strategy:
fail-fast: false
matrix:
ruby-version:
- 3.2
- 3.1
- 3.0
name: ${{ matrix.ruby-version }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby-version }}
- name: "Install Latest Gem Versions on ${{ matrix.ruby-version }}"
working-directory: releases
run: ./run.sh
9 changes: 8 additions & 1 deletion .rubocop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ Gemspec/RequiredRubyVersion:
Lint/ConstantDefinitionInBlock:
Exclude:
- "**/*test.rb"
Lint/EmptyBlock:
Exclude:
- "**/*test.rb"
Lint/UnusedMethodArgument:
Enabled: false
Metrics/AbcSize:
Expand All @@ -24,8 +27,12 @@ Metrics/BlockLength:
Enabled: false
Metrics/ClassLength:
Enabled: false
Metrics/CyclomaticComplexity:
Enabled: false
Metrics/MethodLength:
Max: 25
Enabled: false
Metrics/PerceivedComplexity:
Enabled: false
Naming/FileName:
Exclude:
- '**/opentelemetry-*'
Expand Down
5 changes: 5 additions & 0 deletions .toys/.data/releases.yml
Original file line number Diff line number Diff line change
Expand Up @@ -203,3 +203,8 @@ gems:
directory: resource_detectors
version_rb_path: lib/opentelemetry/resource/detectors/version.rb
version_constant: [OpenTelemetry, Resource, Detectors, VERSION]

- name: opentelemetry-resource-detector-container
directory: resources/container
version_rb_path: lib/opentelemetry/resource/detector/container/version.rb
version_constant: [OpenTelemetry, Resource, Detector, Container, VERSION]
2 changes: 1 addition & 1 deletion Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@
source 'https://rubygems.org'

gem 'rake', '~> 13.0'
gem 'rubocop', '~> 1.54.1'
gem 'rubocop', '~> 1.55.1'
5 changes: 4 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,10 @@ using OpenTelemetry with minimal changes to your application. See the
This repository also contains libraries to aid with interoperablity with vendor specific tracing solutions:

- [Context Propagation](propagator/): OTTrace and Amazon X-Ray
- [Resource Detectors](resource_detectors/): Google Cloud Platform
- [Resource Detectors](resource_detectors/):
- Azure
- Container
- Google Cloud Platform

## Versioning

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ Gem::Specification.new do |spec|
spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3'
spec.add_development_dependency 'rails', '>= 6'
spec.add_development_dependency 'rake', '~> 13.0'
spec.add_development_dependency 'rubocop', '~> 1.54.1'
spec.add_development_dependency 'rubocop', '~> 1.55.1'
spec.add_development_dependency 'simplecov', '~> 0.17.1'
spec.add_development_dependency 'webmock', '~> 3.7.6'
spec.add_development_dependency 'yard', '~> 0.9'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ Gem::Specification.new do |spec|
spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3'
spec.add_development_dependency 'rails', '>= 6'
spec.add_development_dependency 'rake', '~> 13.0'
spec.add_development_dependency 'rubocop', '~> 1.54.1'
spec.add_development_dependency 'rubocop', '~> 1.55.1'
spec.add_development_dependency 'simplecov', '~> 0.17.1'
spec.add_development_dependency 'webmock', '~> 3.7.6'
spec.add_development_dependency 'yard', '~> 0.9'
Expand Down
5 changes: 5 additions & 0 deletions instrumentation/active_job/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
# Release History: opentelemetry-instrumentation-active_job

### v0.5.2 / 2023-08-03

* FIXED: Add code semconv attributes
* FIXED: Remove inline linter rules

### v0.5.1 / 2023-06-05

* FIXED: Base config options
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,10 @@ def self.prepended(base)
end
end

def perform_now # rubocop:disable Metrics/MethodLength, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
def perform_now
span_kind = self.class.queue_adapter_name == 'inline' ? :server : :consumer
span_name = "#{otel_config[:span_naming] == :job_class ? self.class : queue_name} process"
span_attributes = job_attributes(self).merge('messaging.operation' => 'process')
span_attributes = job_attributes(self).merge('messaging.operation' => 'process', 'code.function' => 'perform_now')
executions_count = (executions || 0) + 1 # because we run before the count is incremented in ActiveJob::Execution

extracted_context = OpenTelemetry.propagation.extract(metadata)
Expand Down Expand Up @@ -67,6 +67,7 @@ def perform_now # rubocop:disable Metrics/MethodLength, Metrics/CyclomaticComple

def job_attributes(job)
otel_attributes = {
'code.namespace' => job.class.name,
'messaging.destination_kind' => 'queue',
'messaging.system' => job.class.queue_adapter_name,
'messaging.destination' => job.queue_name,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
module OpenTelemetry
module Instrumentation
module ActiveJob
VERSION = '0.5.1'
VERSION = '0.5.2'
end
end
end
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ Gem::Specification.new do |spec|
spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3'
spec.add_development_dependency 'pry'
spec.add_development_dependency 'rake', '~> 13.0'
spec.add_development_dependency 'rubocop', '~> 1.54.1'
spec.add_development_dependency 'rubocop', '~> 1.55.1'
spec.add_development_dependency 'simplecov', '~> 0.17.1'
spec.add_development_dependency 'webmock', '~> 3.7.6'
spec.add_development_dependency 'yard', '~> 0.9'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,8 @@

_(send_span).must_be_nil
_(process_span).wont_be_nil
_(process_span.attributes['code.namespace']).must_equal('TestJob')
_(process_span.attributes['code.function']).must_equal('perform_now')
end
end

Expand Down Expand Up @@ -231,6 +233,7 @@
job = TestJob.perform_later

[send_span, process_span].each do |span|
_(span.attributes['code.namespace']).must_equal('TestJob')
_(span.attributes['messaging.destination_kind']).must_equal('queue')
_(span.attributes['messaging.system']).must_equal('async')
_(span.attributes['messaging.message_id']).must_equal(job.job_id)
Expand Down Expand Up @@ -266,7 +269,7 @@

describe 'force_flush option' do
let(:mock_tracer_provider) do
mock_tracer_provider = MiniTest::Mock.new
mock_tracer_provider = Minitest::Mock.new
mock_tracer_provider.expect(:force_flush, true)

mock_tracer_provider
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ Gem::Specification.new do |spec|
spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1'
spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3'
spec.add_development_dependency 'rspec-mocks'
spec.add_development_dependency 'rubocop', '~> 1.54.1'
spec.add_development_dependency 'rubocop', '~> 1.55.1'
spec.add_development_dependency 'simplecov', '~> 0.17.1'
spec.add_development_dependency 'webmock', '~> 3.7.6'
spec.add_development_dependency 'yard', '~> 0.9'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ Gem::Specification.new do |spec|
spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1'
spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3'
spec.add_development_dependency 'rake', '~> 13.0'
spec.add_development_dependency 'rubocop', '~> 1.54.1'
spec.add_development_dependency 'rubocop', '~> 1.55.1'
spec.add_development_dependency 'simplecov', '~> 0.17.1'
spec.add_development_dependency 'webmock', '~> 3.7.6'
spec.add_development_dependency 'yard', '~> 0.9'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ Gem::Specification.new do |spec|
spec.add_development_dependency 'pry-byebug'
spec.add_development_dependency 'rails', '>= 6'
spec.add_development_dependency 'rake', '~> 13.0'
spec.add_development_dependency 'rubocop', '~> 1.54.1'
spec.add_development_dependency 'rubocop', '~> 1.55.1'
spec.add_development_dependency 'simplecov', '~> 0.17.1'
spec.add_development_dependency 'webmock', '~> 3.7.6'
spec.add_development_dependency 'yard', '~> 0.9'
Expand Down
Loading

0 comments on commit 08b5b5c

Please sign in to comment.