activerecord-honeycomb 0.0.1 → 0.1.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
- SHA1:
3
- metadata.gz: 19aa8e7d89c4d2ccd9bfebb896b4d36723f9d438
4
- data.tar.gz: 587b8e665d2a259cb9f563a489470d5f2e6b4aa0
2
+ SHA256:
3
+ metadata.gz: 3d7a3fedf45fa8d7d2188914e287fe97932def058e09b585f873c43bf1e8db77
4
+ data.tar.gz: 366082050468633cb49776876636ead7f2b78a35be052570d76fa8b96b4325c7
5
5
  SHA512:
6
- metadata.gz: e765c841f53eaff2dc5c9e64c422f171a00c1528d191b62067c2e9de3a0ccb014576d916e70f4578a5a2a7683a73202714682a66d27e387e355cde7f95bda0ed
7
- data.tar.gz: 320245b93cf1fb685182113a33a71f8ac65f8168dc61378dc093de1298d18d66af9944ab3d8e803e7a109f785ee7d1b54859660c857dcdcd40227f303cceae47
6
+ metadata.gz: 0e8ae7a27683c9289c1613d8afae1a9bb21a4b9b12812ab575edfe27b09ec69cd369fec4dd17b80d23b54b099cb992bbfc76f313a523a686a6fc115776c8d0e9
7
+ data.tar.gz: 9265837a7115e019a05736f302b43f4e76a84081302fa76a2f68a0666601982eaccb02a874679fcf03c7a6d3fd154b02ae7e5ed425eb4e4a581f5ff95eb5f444
@@ -39,14 +39,21 @@ module ActiveRecord
39
39
  end
40
40
  end
41
41
  klazz.class_exec(@_honeycomb) do |honeycomb_|
42
- define_method(:honeycomb) { honeycomb_ }
42
+ define_method(:builder) do
43
+ honeycomb_.builder.
44
+ add(
45
+ 'type' => 'db',
46
+ 'meta.package' => 'activerecord',
47
+ 'meta.package_version' => ActiveRecord::VERSION::STRING,
48
+ )
49
+ end
43
50
  end
44
51
  super
45
52
  end
46
53
 
47
54
  def execute(sql, *args)
48
55
  sending_honeycomb_event do |event|
49
- event.add_field :sql, sql
56
+ event.add_field 'db.sql', sql
50
57
 
51
58
  adding_span_metadata_if_available(event, :statement) do
52
59
  super
@@ -56,7 +63,8 @@ module ActiveRecord
56
63
 
57
64
  def exec_query(sql, *args)
58
65
  sending_honeycomb_event do |event|
59
- event.add_field :sql, sql
66
+ event.add_field 'db.sql', sql
67
+ event.add_field 'name', query_name(sql)
60
68
 
61
69
  adding_span_metadata_if_available(event, :query) do
62
70
  super
@@ -66,26 +74,30 @@ module ActiveRecord
66
74
 
67
75
  private
68
76
  def sending_honeycomb_event
69
- raise 'something went horribly wrong' unless honeycomb # TODO
70
- event = honeycomb.event
77
+ raise 'something went horribly wrong' unless builder # TODO
78
+ event = builder.event
71
79
 
72
80
  start = Time.now
73
81
  yield event
74
82
  rescue Exception => e
75
83
  if event
76
- event.add_field :exception_class, e.class
77
- event.add_field :exception_message, e.message
84
+ event.add_field 'db.error', e.class.name
85
+ event.add_field 'db.error_detail', e.message
78
86
  end
79
87
  raise
80
88
  ensure
81
89
  if start && event
82
90
  finish = Time.now
83
91
  duration = finish - start
84
- event.add_field :durationMs, duration * 1000
92
+ event.add_field 'duration_ms', duration * 1000
85
93
  event.send
86
94
  end
87
95
  end
88
96
 
97
+ def query_name(sql)
98
+ sql.sub(/\s+.*/, '').upcase
99
+ end
100
+
89
101
  def adding_span_metadata_if_available(event, name)
90
102
  return yield unless defined?(::Honeycomb.trace_id)
91
103
 
@@ -1,6 +1,6 @@
1
1
  module ActiveRecord
2
2
  module Honeycomb
3
3
  GEM_NAME = 'activerecord-honeycomb'
4
- VERSION = '0.0.1'
4
+ VERSION = '0.1.0'
5
5
  end
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-honeycomb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sam Stokes
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-05-07 00:00:00.000000000 Z
11
+ date: 2018-05-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: libhoney
@@ -80,6 +80,20 @@ dependencies:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: pg
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: yard
85
99
  requirement: !ruby/object:Gem::Requirement
@@ -94,7 +108,8 @@ dependencies:
94
108
  - - ">="
95
109
  - !ruby/object:Gem::Version
96
110
  version: '0'
97
- description: " TO DO *is* a description\n"
111
+ description: |2
112
+ TO DO *is* a description
98
113
  email:
99
114
  - sam@honeycomb.io
100
115
  executables: []
@@ -127,7 +142,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
127
142
  version: '0'
128
143
  requirements: []
129
144
  rubyforge_project:
130
- rubygems_version: 2.6.11
145
+ rubygems_version: 2.7.7
131
146
  signing_key:
132
147
  specification_version: 4
133
148
  summary: Instrument your ActiveRecord queries with Honeycomb