nexus_semantic_logger 1.3.2 → 1.5.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e650ec4b4c57cb7d85a5abde066ef34219502ff5d995e37fdf2b431833b2a086
4
- data.tar.gz: 6285058765fa7ff89bf071714bcdd1978c83b4f64dfd17c2ddffc5a3843e190b
3
+ metadata.gz: b1e939b1284c82361caf156ea59fd20cdb09227a978871b329e8b5daced1cb98
4
+ data.tar.gz: be51dfd6de0f9e61f9c08152a4c37593c54094f91c3f6fa70f9e1303d979649a
5
5
  SHA512:
6
- metadata.gz: dfbe1816ddd0f82a9009e863b94d4efe76551a35511df893a74ef328b1fee41964b2b0bdeaa219355da3e3fa03e00e9e2fb3b129d2459bbea1332ba37069c6f4
7
- data.tar.gz: 70bc5a9ba7bc1d24b8dbac2fc84afbf7bb94c39a48d34036ca6b59446d1293778802984268f38ef7b80adcb74397a04225edfc3173be481d830d0180c79b2e25
6
+ metadata.gz: f9cac5834a9b8c2f105e8bf86fcf607c68fdb2ce9a48f3825e45ea8fb4e55b9b9cba37a052c05e49c8f70a33123ac898fe7d16bf5e44ea97784423bd4bae05a6
7
+ data.tar.gz: 437239b92a721285cb366ac917114468bef1a98e28bae0c83a6f3bfc3ce59be76bee9314c1ac7c2760566c92c402073f83923945bcd7e21d41bb413e3c05e76a
data/.gitignore ADDED
@@ -0,0 +1,3 @@
1
+ .idea/
2
+ .vscode/
3
+ 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)
@@ -7,7 +7,7 @@ module NexusSemanticLogger
7
7
  # own statsd instance.
8
8
  class DatadogSingleton
9
9
  include Singleton
10
- attr_accessor :statsd, :tags
10
+ attr_accessor :statsd, :global_tags
11
11
 
12
12
  def flush
13
13
  statsd&.flush(sync: Rails.env.development?) # Force flush sync in development, speed up checks.
@@ -15,16 +15,18 @@ module NexusSemanticLogger
15
15
 
16
16
  # Delegate to statsd (if available).
17
17
  # @param [String] metric Metric name.
18
- def increment(metric)
19
- statsd&.increment(metric, tags: tags)
18
+ # @param [Array<String>] tags Additional tags.
19
+ def increment(metric, tags: [])
20
+ statsd&.increment(metric, tags: global_tags + tags)
20
21
  flush
21
22
  end
22
23
 
23
24
  # Delegate to statsd (if available).
24
25
  # @param [String] metric Metric name.
25
26
  # @param [Integer] ms Timing in milliseconds.
26
- def timing(metric, ms)
27
- statsd&.timing(metric, ms, tags: tags)
27
+ # @param [Array<String>] tags Additional tags.
28
+ def timing(metric, ms, tags: [])
29
+ statsd&.timing(metric, ms, tags: global_tags + tags)
28
30
  flush
29
31
  end
30
32
  end
@@ -15,13 +15,18 @@ 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.global_tags = ["railsenv:#{Rails.env}", "service:#{service}"]
24
+ c.tags = datadog_singleton.global_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
+ c.tracer(enabled: Rails.env.production? || dd_force_tracer)
25
30
  end
26
31
 
27
32
  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.2 in order for CI process to replace with the tagged version.
4
- VERSION = '1.3.2'
3
+ # Leave this as 1.5.0 in order for CI process to replace with the tagged version.
4
+ VERSION = '1.5.0'
5
5
  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.2
4
+ version: 1.5.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-02 00:00:00.000000000 Z
11
+ date: 2022-09-09 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
@@ -102,7 +103,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
102
103
  - !ruby/object:Gem::Version
103
104
  version: '0'
104
105
  requirements: []
105
- rubygems_version: 3.3.21
106
+ rubygems_version: 3.3.22
106
107
  signing_key:
107
108
  specification_version: 4
108
109
  summary: semantic_logger usage for nexus