nexus_semantic_logger 1.3.2 → 1.5.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: 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