activerecord-honeycomb 0.0.1 → 0.1.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
- 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