datadog-lambda 1.13.0 → 2.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/datadog/lambda/trace/ddtrace.rb +8 -11
- data/lib/datadog/lambda/version.rb +2 -2
- data/lib/datadog/lambda.rb +5 -5
- metadata +21 -8
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 2db432203f35cb4abd7dfb7d9b072db41a8187ce990d8d8fe7e23e76bb880d80
         | 
| 4 | 
            +
              data.tar.gz: 44e85f5fbbaca2e2eff04c1a44c176983cd532580ab4ada6b6beca9c40cd04d3
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 49fa2240d7e2c0e7d98536ab0c958b29910b805c8933611239143d45621409fbf7b22f14626d46262ba17ed8ce65c4af7a35ca680854cec259dc9272fa899784
         | 
| 7 | 
            +
              data.tar.gz: 0053b4ff3302215716ccc43e7d077b3fff41672adb8eea39a7df4800adec31b51d6ed83f7d53129f06d689638b4b2a1b45a4a9b5a1aa749bc1f14d9b60381471
         | 
| @@ -1,6 +1,6 @@ | |
| 1 1 | 
             
            # frozen_string_literal: true
         | 
| 2 2 |  | 
| 3 | 
            -
            # ddtrace is an optional dependency for the ruby package
         | 
| 3 | 
            +
            # `ddtrace`` is an optional dependency for the ruby package
         | 
| 4 4 | 
             
            begin
         | 
| 5 5 | 
             
              require 'ddtrace'
         | 
| 6 6 | 
             
            rescue LoadError
         | 
| @@ -16,27 +16,24 @@ module Datadog | |
| 16 16 | 
             
                      trace_id = context[:trace_id].to_i
         | 
| 17 17 | 
             
                      span_id = context[:parent_id].to_i
         | 
| 18 18 | 
             
                      sampling_priority = context[:sample_mode]
         | 
| 19 | 
            -
                       | 
| 20 | 
            -
                        trace_id: trace_id,
         | 
| 19 | 
            +
                      trace_digest = Datadog::Tracing::TraceDigest.new(
         | 
| 21 20 | 
             
                        span_id: span_id,
         | 
| 22 | 
            -
                         | 
| 21 | 
            +
                        trace_id: trace_id,
         | 
| 22 | 
            +
                        trace_sampling_priority: sampling_priority
         | 
| 23 23 | 
             
                      )
         | 
| 24 | 
            +
                      Datadog::Tracing.continue_trace!(trace_digest)
         | 
| 24 25 | 
             
                    end
         | 
| 25 26 | 
             
                  rescue StandardError
         | 
| 26 27 | 
             
                    Datadog::Utils.logger.debug 'dd-trace unavailable'
         | 
| 27 28 | 
             
                  end
         | 
| 28 29 |  | 
| 29 30 | 
             
                  def wrap_datadog(options, &block)
         | 
| 30 | 
            -
                     | 
| 31 | 
            -
                    begin
         | 
| 32 | 
            -
                      Datadog.tracer
         | 
| 33 | 
            -
                      tracer_available = true
         | 
| 34 | 
            -
                    rescue StandardError
         | 
| 31 | 
            +
                    unless Datadog::Tracing.enabled?
         | 
| 35 32 | 
             
                      Datadog::Utils.logger.debug 'dd-trace unavailable'
         | 
| 33 | 
            +
                      return block.call
         | 
| 36 34 | 
             
                    end
         | 
| 37 | 
            -
                    return block.call unless tracer_available
         | 
| 38 35 |  | 
| 39 | 
            -
                    Datadog. | 
| 36 | 
            +
                    Datadog::Tracing.trace('aws.lambda', options) do |_span|
         | 
| 40 37 | 
             
                      block.call
         | 
| 41 38 | 
             
                    end
         | 
| 42 39 | 
             
                  end
         | 
    
        data/lib/datadog/lambda.rb
    CHANGED
    
    | @@ -27,15 +27,15 @@ module Datadog | |
| 27 27 | 
             
                # Same options can be given as Datadog.configure in tracer
         | 
| 28 28 | 
             
                # See https://github.com/DataDog/dd-trace-rb/blob/master/docs/GettingStarted.md#quickstart-for-ruby-applications
         | 
| 29 29 | 
             
                def self.configure_apm
         | 
| 30 | 
            -
                  require ' | 
| 31 | 
            -
                  require 'ddtrace/ | 
| 30 | 
            +
                  require 'datadog/tracing'
         | 
| 31 | 
            +
                  require 'ddtrace/transport/io'
         | 
| 32 32 |  | 
| 33 33 | 
             
                  @patch_http = false
         | 
| 34 34 | 
             
                  # Needed to keep trace flushes on a single line
         | 
| 35 35 | 
             
                  $stdout.sync = true
         | 
| 36 36 |  | 
| 37 37 | 
             
                  Datadog.configure do |c|
         | 
| 38 | 
            -
                    c. | 
| 38 | 
            +
                    c.tracing.writer = Datadog::Tracing::SyncWriter.new(
         | 
| 39 39 | 
             
                      transport: Datadog::Transport::IO.default
         | 
| 40 40 | 
             
                    )
         | 
| 41 41 | 
             
                    c.tags = { "_dd.origin": 'lambda' }
         | 
| @@ -102,7 +102,7 @@ module Datadog | |
| 102 102 | 
             
                # @return [hash] a hash of the enhanced metrics tags
         | 
| 103 103 | 
             
                # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
         | 
| 104 104 | 
             
                def self.gen_enhanced_tags(context)
         | 
| 105 | 
            -
                  arn_parts = context.invoked_function_arn.split(':')
         | 
| 105 | 
            +
                  arn_parts = context.invoked_function_arn.to_s.split(':')
         | 
| 106 106 | 
             
                  # Check if we have an alias or version
         | 
| 107 107 | 
             
                  function_alias = arn_parts[7].nil? ? nil : arn_parts[7]
         | 
| 108 108 |  | 
| @@ -160,7 +160,7 @@ module Datadog | |
| 160 160 | 
             
                end
         | 
| 161 161 |  | 
| 162 162 | 
             
                # Check the DD_ENHANCED_METRICS environment variable
         | 
| 163 | 
            -
                # @ | 
| 163 | 
            +
                # @return [boolean] true if this lambda should have
         | 
| 164 164 | 
             
                # enhanced metrics
         | 
| 165 165 | 
             
                def self.do_enhanced_metrics?
         | 
| 166 166 | 
             
                  dd_enhanced_metrics = ENV['DD_ENHANCED_METRICS']
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: datadog-lambda
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version:  | 
| 4 | 
            +
              version: 2.16.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Datadog, Inc.
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: exe
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date:  | 
| 11 | 
            +
            date: 2022-10-21 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: aws-xray-sdk
         | 
| @@ -30,14 +30,14 @@ dependencies: | |
| 30 30 | 
             
                requirements:
         | 
| 31 31 | 
             
                - - "~>"
         | 
| 32 32 | 
             
                  - !ruby/object:Gem::Version
         | 
| 33 | 
            -
                    version:  | 
| 33 | 
            +
                    version: 1.5.0
         | 
| 34 34 | 
             
              type: :development
         | 
| 35 35 | 
             
              prerelease: false
         | 
| 36 36 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 37 37 | 
             
                requirements:
         | 
| 38 38 | 
             
                - - "~>"
         | 
| 39 39 | 
             
                  - !ruby/object:Gem::Version
         | 
| 40 | 
            -
                    version:  | 
| 40 | 
            +
                    version: 1.5.0
         | 
| 41 41 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 42 42 | 
             
              name: rake
         | 
| 43 43 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -94,8 +94,22 @@ dependencies: | |
| 94 94 | 
             
                - - "~>"
         | 
| 95 95 | 
             
                  - !ruby/object:Gem::Version
         | 
| 96 96 | 
             
                    version: '0.74'
         | 
| 97 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 98 | 
            +
              name: solargraph
         | 
| 99 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 100 | 
            +
                requirements:
         | 
| 101 | 
            +
                - - "~>"
         | 
| 102 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 103 | 
            +
                    version: 0.47.2
         | 
| 104 | 
            +
              type: :development
         | 
| 105 | 
            +
              prerelease: false
         | 
| 106 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 107 | 
            +
                requirements:
         | 
| 108 | 
            +
                - - "~>"
         | 
| 109 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 110 | 
            +
                    version: 0.47.2
         | 
| 97 111 | 
             
            description: |
         | 
| 98 | 
            -
              datadog-lambda is Datadog | 
| 112 | 
            +
              datadog-lambda is Datadog's AWS Lambda integration for ruby. It is used to perform
         | 
| 99 113 | 
             
              distributed tracing between serverful and serverless environments, and send
         | 
| 100 114 | 
             
              custom metrics to Datadog.
         | 
| 101 115 | 
             
            email:
         | 
| @@ -126,15 +140,14 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 126 140 | 
             
              requirements:
         | 
| 127 141 | 
             
              - - ">="
         | 
| 128 142 | 
             
                - !ruby/object:Gem::Version
         | 
| 129 | 
            -
                  version: 2. | 
| 143 | 
            +
                  version: 2.7.0
         | 
| 130 144 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 131 145 | 
             
              requirements:
         | 
| 132 146 | 
             
              - - ">="
         | 
| 133 147 | 
             
                - !ruby/object:Gem::Version
         | 
| 134 148 | 
             
                  version: '0'
         | 
| 135 149 | 
             
            requirements: []
         | 
| 136 | 
            -
             | 
| 137 | 
            -
            rubygems_version: 2.7.6
         | 
| 150 | 
            +
            rubygems_version: 3.1.6
         | 
| 138 151 | 
             
            signing_key: 
         | 
| 139 152 | 
             
            specification_version: 4
         | 
| 140 153 | 
             
            summary: Instruments your Ruby AWS Lambda functions with Datadog
         |