mm_metrics 0.1.1 → 0.2.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/mm_metrics/backends/base.rb +21 -0
- data/lib/mm_metrics/backends/dd.rb +27 -0
- data/lib/mm_metrics/config.rb +3 -0
- data/lib/mm_metrics/loggers.rb +12 -0
- data/lib/mm_metrics.rb +11 -5
- metadata +34 -3
- data/lib/backends/base.rb +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 763ead5059278babad407bfb070916255e96bfe696458af697963d6ce6e7ec33
|
4
|
+
data.tar.gz: b6fe951760e95110ec0c9d7cf9611726bdf6080c6a6b7f7697769266c6b14bc0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4dde7f80c4f4dabe9dd6bcf07b173d5369b09aba4bf557fb8dc982a3f2f2bbe07f09a55b45f284ea22a9b13cfe8826f939a929437c16de5d05c49b0e2d861e5f
|
7
|
+
data.tar.gz: dc6ebc96cc71c9ebcfc3c5d925677dbfdb099802e7b695fc862289758a818d11af8c98f7d8a2f971b81376ac23c015dba6bd29af152742f8e5ccc7afa65133fc
|
@@ -0,0 +1,21 @@
|
|
1
|
+
class MetricsBackend
|
2
|
+
def self.connect(**connection_kwargs)
|
3
|
+
return
|
4
|
+
end
|
5
|
+
|
6
|
+
def self.increment(metric, **extra)
|
7
|
+
raise NotImplemented
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.gauge(metric, value, **extra)
|
11
|
+
raise NotImplemented
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.histogram(metric, value, **extra)
|
15
|
+
raise NotImplemented
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.timed(metric, duration, **extra)
|
19
|
+
raise NotImplemented
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'datadog/statsd'
|
2
|
+
require 'logging'
|
3
|
+
require_relative 'base'
|
4
|
+
|
5
|
+
class DataDogMetricsBackend < MetricsBackend
|
6
|
+
def initialize(host = 'localhost', port = 8125, logger = Logging.logger(STDOUT))
|
7
|
+
@host = host
|
8
|
+
@port = port
|
9
|
+
@logger = logger
|
10
|
+
end
|
11
|
+
|
12
|
+
def increment(metric, tags = [])
|
13
|
+
@logger.debug "increment #{metric}"
|
14
|
+
end
|
15
|
+
|
16
|
+
def gauge(metric, value, tags = [])
|
17
|
+
@logger.debug "gauge #{metric} to #{value}"
|
18
|
+
end
|
19
|
+
|
20
|
+
def histogram(metric, value, tags = [])
|
21
|
+
@logger.debug "histogram #{metric} to #{value}"
|
22
|
+
end
|
23
|
+
|
24
|
+
def timed(metric, duration, tags = [])
|
25
|
+
@logger.debug "time #{metric} as #{value}"
|
26
|
+
end
|
27
|
+
end
|
data/lib/mm_metrics.rb
CHANGED
@@ -1,5 +1,11 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
1
|
+
require_relative 'mm_metrics/backends/dd'
|
2
|
+
require_relative 'mm_metrics/loggers';
|
3
|
+
require_relative 'mm_metrics/config';
|
4
|
+
|
5
|
+
def init_metrics()
|
6
|
+
log_level = Settings::DEBUG ? :debug : :warn
|
7
|
+
|
8
|
+
logger = StreamLogger.new(log_level).log
|
9
|
+
|
10
|
+
DataDogMetricsBackend.new(logger=logger)
|
11
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mm_metrics
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bobby Steinbach
|
@@ -9,7 +9,35 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
date: 2019-04-10 00:00:00.000000000 Z
|
12
|
-
dependencies:
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: dogstatsd-ruby
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: logging
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
13
41
|
description: Library for recording application metrics and delegating metric transport
|
14
42
|
to some backend (like DataDog, StatsD, etc.)
|
15
43
|
email: bobby@classaction.com
|
@@ -18,8 +46,11 @@ extensions: []
|
|
18
46
|
extra_rdoc_files: []
|
19
47
|
files:
|
20
48
|
- README.md
|
21
|
-
- lib/backends/base.rb
|
22
49
|
- lib/mm_metrics.rb
|
50
|
+
- lib/mm_metrics/backends/base.rb
|
51
|
+
- lib/mm_metrics/backends/dd.rb
|
52
|
+
- lib/mm_metrics/config.rb
|
53
|
+
- lib/mm_metrics/loggers.rb
|
23
54
|
homepage: https://github.com/Morgan-and-Morgan/metrics-ruby
|
24
55
|
licenses:
|
25
56
|
- MIT
|
data/lib/backends/base.rb
DELETED
File without changes
|