ach-fluent-plugin-sentry 0.0.9 → 0.0.10
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/fluent-plugin-sentry.gemspec +1 -1
- data/lib/fluent/plugin/out_sentry.rb +5 -2
- data/test/plugin/test_out_sentry.rb +26 -2
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: f8bb08c165c3eba39393003f51c783877243141f5fa13d4b6b744918040a3877
         | 
| 4 | 
            +
              data.tar.gz: b73ace7c66bda11e60daa9012d49565a2e04dbb37fdf2d0a619ce544a439bd8b
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: b32075bd2d0baab63f739a9dd6d3ada943b8544e622d74911f89d413a547d8f8e554949a5b06b9840f7371a307ca0802ef133f8c490c602ea24484183d2b2324
         | 
| 7 | 
            +
              data.tar.gz: '087e035270078ea98ad94d53bb58eeedabb1058fa09520270866e3fea31013899e0947e986daaa2b51018f6a46d3b5c4fe2264a47354795819857edc11501317'
         | 
| @@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) | |
| 4 4 |  | 
| 5 5 | 
             
            Gem::Specification.new do |spec|
         | 
| 6 6 | 
             
              spec.name          = "ach-fluent-plugin-sentry"
         | 
| 7 | 
            -
              spec.version       = "0.0. | 
| 7 | 
            +
              spec.version       = "0.0.10"
         | 
| 8 8 | 
             
              spec.authors       = ["Kentaro Yoshida"]
         | 
| 9 9 | 
             
              spec.email         = ["y.ken.studio@gmail.com"]
         | 
| 10 10 | 
             
              spec.summary       = %q{Fluentd output plugin that sends aggregated errors/exception events to Sentry. Sentry is a event logging and aggregation platform.}
         | 
| @@ -35,6 +35,8 @@ class Fluent::SentryOutput < Fluent::BufferedOutput | |
| 35 35 | 
             
                @hostname = `#{hostname_command}`.chomp
         | 
| 36 36 |  | 
| 37 37 | 
             
                @configuration = Sentry::Configuration.new
         | 
| 38 | 
            +
                @configuration.send_modules = false
         | 
| 39 | 
            +
                @configuration.debug = true
         | 
| 38 40 | 
             
                @configuration.dsn = @endpoint_url
         | 
| 39 41 | 
             
                @configuration.server_name = @hostname
         | 
| 40 42 | 
             
                @client = Sentry::Client.new(@configuration)
         | 
| @@ -63,17 +65,18 @@ class Fluent::SentryOutput < Fluent::BufferedOutput | |
| 63 65 | 
             
              end
         | 
| 64 66 |  | 
| 65 67 | 
             
              def notify_sentry(tag, time, record)
         | 
| 68 | 
            +
                #$log.warning("Message: ",:error => record['message'])
         | 
| 66 69 | 
             
                event = Sentry::Event.new(
         | 
| 67 70 | 
             
                  :configuration => @configuration, 
         | 
| 68 71 | 
             
                  :message => record['message']
         | 
| 69 72 | 
             
                )
         | 
| 70 73 | 
             
                event.timestamp = record['timestamp'] || Time.at(time).utc.strftime('%Y-%m-%dT%H:%M:%S')
         | 
| 71 | 
            -
                 | 
| 74 | 
            +
                event.level = record['level'] || @default_level
         | 
| 72 75 | 
             
                #event.logger = record['logger'] || @default_logger
         | 
| 73 76 | 
             
                #event.culprit = record['culprit'] || nil
         | 
| 74 77 | 
             
                #event.server_name = record['server_name'] || @hostname
         | 
| 75 78 | 
             
                #event.release = record['release'] if record['release']
         | 
| 76 | 
            -
                 | 
| 79 | 
            +
                event.tags = event.tags.merge({ :tag => tag }.merge(record['tags'] || {}))
         | 
| 77 80 | 
             
                #event.extra = record.reject{ |key| EVENT_KEYS.include?(key) }
         | 
| 78 81 | 
             
                @client.send_event(event)
         | 
| 79 82 | 
             
              end
         | 
| @@ -25,6 +25,20 @@ class SentryOutputTest < Test::Unit::TestCase | |
| 25 25 | 
             
                end
         | 
| 26 26 | 
             
              end
         | 
| 27 27 |  | 
| 28 | 
            +
              def stub_1(url="https://app.getsentry.com/api/12345/envelope/")
         | 
| 29 | 
            +
                stub_request(:post, "https://app.getsentry.com/api/12345/envelope/").
         | 
| 30 | 
            +
                  with(
         | 
| 31 | 
            +
                    body: "{\"event_id\":\"2aa1f0210fc04c89a8febda09d3e4a5f\",\"dsn\":\"https://user:password@app.getsentry.com/12345\",\"sdk\":{\"name\":\"sentry.ruby\",\"version\":\"4.6.5\"},\"sent_at\":\"2021-09-01T12:00:23Z\"}\n{\"type\":\"event\",\"content_type\":\"application/json\"}\n{\"event_id\":\"2aa1f0210fc04c89a8febda09d3e4a5f\",\"level\":\"warning\",\"timestamp\":\"2021-09-01T12:00:23\",\"environment\":\"default\",\"server_name\":\"reisei-workspace\",\"modules\":{\"rake\":\"13.0.6\",\"bundler\":\"2.2.26\",\"cool.io\":\"1.7.1\",\"http_parser.rb\":\"0.7.0\",\"msgpack\":\"1.4.2\",\"sigdump\":\"0.2.4\",\"serverengine\":\"2.2.4\",\"strptime\":\"0.2.5\",\"concurrent-ruby\":\"1.1.9\",\"tzinfo\":\"2.0.4\",\"tzinfo-data\":\"1.2021.1\",\"webrick\":\"1.7.0\",\"yajl-ruby\":\"1.4.1\",\"fluentd\":\"1.14.0\",\"faraday-em_http\":\"1.0.0\",\"faraday-em_synchrony\":\"1.0.0\",\"faraday-excon\":\"1.1.0\",\"faraday-httpclient\":\"1.0.1\",\"faraday-net_http\":\"1.0.1\",\"faraday-net_http_persistent\":\"1.2.0\",\"faraday-patron\":\"1.0.0\",\"faraday-rack\":\"1.0.0\",\"multipart-post\":\"2.1.1\",\"ruby2_keywords\":\"0.0.5\",\"faraday\":\"1.7.0\",\"sentry-ruby-core\":\"4.6.5\",\"sentry-ruby\":\"4.6.5\",\"ach-fluent-plugin-sentry\":\"0.0.9\",\"public_suffix\":\"4.0.6\",\"addressable\":\"2.8.0\",\"thor\":\"1.1.0\",\"appraisal\":\"2.4.1\",\"rexml\":\"3.2.5\",\"crack\":\"0.4.5\",\"hashdiff\":\"1.0.1\",\"power_assert\":\"2.0.1\",\"test-unit\":\"3.4.4\",\"webmock\":\"3.14.0\"},\"message\":\"error has occoured.\",\"user\":{},\"tags\":{\"tag\":\"app1_error\"},\"contexts\":{},\"extra\":{},\"fingerprint\":[],\"platform\":\"ruby\",\"sdk\":{\"name\":\"sentry.ruby\",\"version\":\"4.6.5\"}}\n",
         | 
| 32 | 
            +
                    headers: {
         | 
| 33 | 
            +
              	      'Accept'=>'*/*',
         | 
| 34 | 
            +
              	      'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3',
         | 
| 35 | 
            +
              	      'Content-Encoding'=>'',
         | 
| 36 | 
            +
              	      'Content-Type'=>'application/x-sentry-envelope',
         | 
| 37 | 
            +
              	      'User-Agent'=>'sentry-ruby/4.6.5',
         | 
| 38 | 
            +
              	      'X-Sentry-Auth'=>'Sentry sentry_version=7, sentry_client=sentry-ruby/4.6.5, sentry_timestamp=1630497623, sentry_key=user, sentry_secret=password'
         | 
| 39 | 
            +
                    }).to_return(status: 200, body: "", headers: {})
         | 
| 40 | 
            +
              end
         | 
| 41 | 
            +
             | 
| 28 42 | 
             
              def stub_post(url="https://app.getsentry.com/api/12345/store/")
         | 
| 29 43 | 
             
                parser = Yajl::Parser.new
         | 
| 30 44 | 
             
                stub_request(:post, url).with do |req|
         | 
| @@ -34,7 +48,7 @@ class SentryOutputTest < Test::Unit::TestCase | |
| 34 48 | 
             
                end
         | 
| 35 49 | 
             
              end
         | 
| 36 50 |  | 
| 37 | 
            -
              def stub_response(url="https://app.getsentry.com/api/12345/ | 
| 51 | 
            +
              def stub_response(url="https://app.getsentry.com/api/12345/envelope/")
         | 
| 38 52 | 
             
                stub_request(:post, url).with do |req|
         | 
| 39 53 | 
             
                  @content_type = req.headers["Content-Type"]
         | 
| 40 54 | 
             
                  message = Zlib::Inflate.inflate(Base64.decode64(req.body))
         | 
| @@ -51,7 +65,17 @@ class SentryOutputTest < Test::Unit::TestCase | |
| 51 65 | 
             
              end
         | 
| 52 66 |  | 
| 53 67 | 
             
              def test_emit
         | 
| 54 | 
            -
                 | 
| 68 | 
            +
                stub_request(:post, "https://app.getsentry.com/api/12345/envelope/").
         | 
| 69 | 
            +
                  with(
         | 
| 70 | 
            +
                    body: "{\"event_id\":\"2aa1f0210fc04c89a8febda09d3e4a5f\",\"dsn\":\"https://user:password@app.getsentry.com/12345\",\"sdk\":{\"name\":\"sentry.ruby\",\"version\":\"4.6.5\"},\"sent_at\":\"2021-09-01T12:00:23Z\"}\n{\"type\":\"event\",\"content_type\":\"application/json\"}\n{\"event_id\":\"2aa1f0210fc04c89a8febda09d3e4a5f\",\"level\":\"warning\",\"timestamp\":\"2021-09-01T12:00:23\",\"environment\":\"default\",\"server_name\":\"reisei-workspace\",\"modules\":{\"rake\":\"13.0.6\",\"bundler\":\"2.2.26\",\"cool.io\":\"1.7.1\",\"http_parser.rb\":\"0.7.0\",\"msgpack\":\"1.4.2\",\"sigdump\":\"0.2.4\",\"serverengine\":\"2.2.4\",\"strptime\":\"0.2.5\",\"concurrent-ruby\":\"1.1.9\",\"tzinfo\":\"2.0.4\",\"tzinfo-data\":\"1.2021.1\",\"webrick\":\"1.7.0\",\"yajl-ruby\":\"1.4.1\",\"fluentd\":\"1.14.0\",\"faraday-em_http\":\"1.0.0\",\"faraday-em_synchrony\":\"1.0.0\",\"faraday-excon\":\"1.1.0\",\"faraday-httpclient\":\"1.0.1\",\"faraday-net_http\":\"1.0.1\",\"faraday-net_http_persistent\":\"1.2.0\",\"faraday-patron\":\"1.0.0\",\"faraday-rack\":\"1.0.0\",\"multipart-post\":\"2.1.1\",\"ruby2_keywords\":\"0.0.5\",\"faraday\":\"1.7.0\",\"sentry-ruby-core\":\"4.6.5\",\"sentry-ruby\":\"4.6.5\",\"ach-fluent-plugin-sentry\":\"0.0.9\",\"public_suffix\":\"4.0.6\",\"addressable\":\"2.8.0\",\"thor\":\"1.1.0\",\"appraisal\":\"2.4.1\",\"rexml\":\"3.2.5\",\"crack\":\"0.4.5\",\"hashdiff\":\"1.0.1\",\"power_assert\":\"2.0.1\",\"test-unit\":\"3.4.4\",\"webmock\":\"3.14.0\"},\"message\":\"error has occoured.\",\"user\":{},\"tags\":{\"tag\":\"app1_error\"},\"contexts\":{},\"extra\":{},\"fingerprint\":[],\"platform\":\"ruby\",\"sdk\":{\"name\":\"sentry.ruby\",\"version\":\"4.6.5\"}}\n",
         | 
| 71 | 
            +
                    headers: {
         | 
| 72 | 
            +
              	      'Accept'=>'*/*',
         | 
| 73 | 
            +
              	      'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3',
         | 
| 74 | 
            +
              	      'Content-Encoding'=>'',
         | 
| 75 | 
            +
              	      'Content-Type'=>'application/x-sentry-envelope',
         | 
| 76 | 
            +
              	      'User-Agent'=>'sentry-ruby/4.6.5',
         | 
| 77 | 
            +
              	      'X-Sentry-Auth'=>'Sentry sentry_version=7, sentry_client=sentry-ruby/4.6.5, sentry_timestamp=1630497623, sentry_key=user, sentry_secret=password'}).to_return(status: 200, body: "", headers: {})
         | 
| 78 | 
            +
                #stub_post
         | 
| 55 79 | 
             
                d1 = create_driver(CONFIG, 'input.app1_error')
         | 
| 56 80 | 
             
                emit_level = 'warning'
         | 
| 57 81 | 
             
                emit_message = 'error has occoured.'
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: ach-fluent-plugin-sentry
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.0. | 
| 4 | 
            +
              version: 0.0.10
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Kentaro Yoshida
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2021- | 
| 11 | 
            +
            date: 2021-09-01 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: bundler
         |