nexus_semantic_logger 1.3.0 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6d90e3661ba7e5c82b2e1777d465df8f88617a3ad8287f8d0b9bdd461f0729a6
4
- data.tar.gz: 1217216fdf855b72558510e52a50f0308c10b3e07ccbc80369fb228f0fe51040
3
+ metadata.gz: 20e028ad18202f320d470e8d8f8d663433385abd129c55b326b4589385ef8fa8
4
+ data.tar.gz: cecbaf81978d2a5bac1719e8f495dadc0f3846595d104db8a869964e1cc14dda
5
5
  SHA512:
6
- metadata.gz: a4261cc18604aade1ebd48efcd2cbb680ee26da22c366bcb544c786d42bffdad1a57ec2249f53347f1bcb5dadd2b0c13ff20f8699a7e30131e1e85fb7f1d2244
7
- data.tar.gz: f2ea77247cc5e769e1dc7706595b85dc62179ceef8d05f11d78904632cd6cb39c837d64e401e278edf52333a75552dc6de41634f8b6862ac26155d528de9397b
6
+ metadata.gz: 6d310eb559bf59b3d46c97a5942388dd1b8deda3a3295c5c93d37cb5aff71de31db22c2fbebe8c0d0d392cab245484eaf32c3c0d1b238fd96ac47434d725c8a3
7
+ data.tar.gz: 3866923bff2765c6c2ebf0eacc3537fc7e31cd64a1e80b26991d5785a51e95dfced9297401516e398d1517288f19f6e0df33a2665f9aa5d9ef023d46f17f0619
data/.gitignore ADDED
@@ -0,0 +1 @@
1
+ results/
@@ -22,7 +22,7 @@ module NexusSemanticLogger
22
22
  hash[:source] = :rails
23
23
  level = hash.delete(:level)
24
24
  hash[:status] = level
25
- hash[:env] = Rails.env
25
+ hash[:railsenv] = Rails.env
26
26
  hash[:service] = @service
27
27
  hash.delete(:application)
28
28
  hash.delete(:environment)
@@ -13,8 +13,18 @@ module NexusSemanticLogger
13
13
  statsd&.flush(sync: Rails.env.development?) # Force flush sync in development, speed up checks.
14
14
  end
15
15
 
16
- def increment(metric_name)
17
- statsd&.increment(metric_name, tags: tags)
16
+ # Delegate to statsd (if available).
17
+ # @param [String] metric Metric name.
18
+ def increment(metric)
19
+ statsd&.increment(metric, tags: tags)
20
+ flush
21
+ end
22
+
23
+ # Delegate to statsd (if available).
24
+ # @param [String] metric Metric name.
25
+ # @param [Integer] ms Timing in milliseconds.
26
+ def timing(metric, ms)
27
+ statsd&.timing(metric, ms, tags: tags)
18
28
  flush
19
29
  end
20
30
  end
@@ -15,13 +15,19 @@ module NexusSemanticLogger
15
15
  # By default, runtime metrics from the application are sent to the Datadog Agent with DogStatsD on port 8125.
16
16
  datadog_singleton = DatadogSingleton.instance
17
17
  datadog_singleton.statsd = Datadog::Statsd.new(ENV['DD_AGENT_HOST'], 8125)
18
- datadog_singleton.tags = ["env:#{Rails.env}", "service:#{service}"]
19
18
  c.runtime_metrics.statsd = datadog_singleton.statsd
20
19
 
20
+ # Configure tags to be sent on all traces and metrics.
21
+ # Note that 'env' is NOT sent- that is set as the default on the agent e.g. staging, canary, production.
22
+ # It does not necessarily align with the Rails env, and we do not want to double tag the env.
23
+ datadog_singleton.tags = ["railsenv:#{Rails.env}", "service:#{service}"]
24
+ c.tags = datadog_singleton.tags
25
+
21
26
  # Tracer requires configuration to a datadog agent via DD_AGENT_HOST.
22
27
  dd_force_tracer_val = ENV.fetch('DD_FORCE_TRACER', false)
23
28
  dd_force_tracer = dd_force_tracer_val.present? && dd_force_tracer_val.to_s == 'true'
24
- c.tracer(enabled: Rails.env.production? || dd_force_tracer, env: Rails.env)
29
+ puts "** dd_force_tracer: #{dd_force_tracer}"
30
+ c.tracer(enabled: Rails.env.production? || dd_force_tracer)
25
31
  end
26
32
 
27
33
  c.use(:rails, service_name: service)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
  module NexusSemanticLogger
3
- # Leave this as 1.3.0 in order for CI process to replace with the tagged version.
4
- VERSION = '1.3.0'
3
+ # Leave this as 1.4.0 in order for CI process to replace with the tagged version.
4
+ VERSION = '1.4.0'
5
5
  end
@@ -7,7 +7,7 @@ require 'nexus_semantic_logger/datadog_tracer'
7
7
 
8
8
  module NexusSemanticLogger
9
9
  # Get application wide object for sending metrics.
10
- def metrics
10
+ def self.metrics
11
11
  DatadogSingleton.instance
12
12
  end
13
13
  end
@@ -14,8 +14,8 @@ Gem::Specification.new do |spec|
14
14
  end
15
15
  spec.require_paths = ['lib']
16
16
  spec.add_dependency('amazing_print', '~> 1.4.0')
17
- spec.add_dependency('rails_semantic_logger', '~> 4.10.0')
18
- spec.add_dependency('net_tcp_client', '~> 2.2.0') # For TCP logging.
19
17
  spec.add_dependency('dogstatsd-ruby', '~> 5.4.0') # For custom application metrics.
18
+ spec.add_dependency('net_tcp_client', '~> 2.2.0') # For TCP logging.
19
+ spec.add_dependency('rails_semantic_logger', '~> 4.10.0')
20
20
  spec.required_ruby_version = Gem::Requirement.new('>= 2.7.0')
21
21
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nexus_semantic_logger
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Johnathon Harris
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-09-01 00:00:00.000000000 Z
11
+ date: 2022-09-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: amazing_print
@@ -25,19 +25,19 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: 1.4.0
27
27
  - !ruby/object:Gem::Dependency
28
- name: rails_semantic_logger
28
+ name: dogstatsd-ruby
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 4.10.0
33
+ version: 5.4.0
34
34
  type: :runtime
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: 4.10.0
40
+ version: 5.4.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: net_tcp_client
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -53,25 +53,26 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: 2.2.0
55
55
  - !ruby/object:Gem::Dependency
56
- name: dogstatsd-ruby
56
+ name: rails_semantic_logger
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 5.4.0
61
+ version: 4.10.0
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 5.4.0
68
+ version: 4.10.0
69
69
  description:
70
70
  email: john.harris@nexusmods.com
71
71
  executables: []
72
72
  extensions: []
73
73
  extra_rdoc_files: []
74
74
  files:
75
+ - ".gitignore"
75
76
  - ".gitlab-ci.yml"
76
77
  - ".rubocop.yml"
77
78
  - Gemfile