influxdb-rails 0.4.2 → 0.4.3

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
  SHA1:
3
- metadata.gz: b5ab0d64b68064c932fb4d2eb5fd11571b790d5f
4
- data.tar.gz: a97e91b436c4eb3e2979e2576125bc7c4f8b2050
3
+ metadata.gz: e9f289eb3c697b6d163fd04b05fa11be0a3faed5
4
+ data.tar.gz: 9165b28e2876c859d470db53388d118f84543bc3
5
5
  SHA512:
6
- metadata.gz: c4eb2813d3a8cd4f79a47b55217e47779199a1f37275f437e30bddf52dd4d530d8eec959281bb0bb98a8094fce21b3710f2c8405cefb2031afb91e7f778e8980
7
- data.tar.gz: a0209a8be27806d9fd6b585d4cc683ea64df7a2bff32de655b1841d435b424b5136d9784d4bd8839b2e664a594257c7bf60a2b84e61092ba1302684b8d96e4e6
6
+ metadata.gz: '0858571c10ded74e3f41af240ddbf66bdb656b44e37644dd8e4296cab44b2642abd7ae86ddd427b10643fba1e1da45e7aa0022b5dbaa7d864fdb35c0e596023e'
7
+ data.tar.gz: 32a186b18f0e31653b61d202a5a7696afdab50c28df4471e426dedaf7c2078b10017092a95e282e18ccce588dc35ba513009a30cf018e44c091467fd8f0eeb11
@@ -7,6 +7,10 @@ For the full commit log, [see here](https://github.com/influxdata/influxdb-rails
7
7
 
8
8
  - None.
9
9
 
10
+ ## v0.4.3, released 2017-12-12
11
+
12
+ - Added `time_precision` config option (#42, @kkentzo)
13
+
10
14
  ## v0.4.2, released 2017-11-28
11
15
 
12
16
  - Added `open_timeout`, `read_timeout`, and `max_delay` config options
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- influxdb-rails (0.4.2)
4
+ influxdb-rails (0.4.3)
5
5
  influxdb (~> 0.5.0)
6
6
  railties (> 3)
7
7
 
@@ -96,4 +96,4 @@ DEPENDENCIES
96
96
  tzinfo
97
97
 
98
98
  BUNDLED WITH
99
- 1.15.4
99
+ 1.16.0
data/README.md CHANGED
@@ -53,6 +53,7 @@ InfluxDB::Rails.configure do |config|
53
53
  # config.open_timeout = 5
54
54
  # config.read_timeout = 30
55
55
  # config.max_delay = 300
56
+ # config.time_precision = 'ms'
56
57
 
57
58
  # config.series_name_for_controller_runtimes = "rails.controller"
58
59
  # config.series_name_for_view_runtimes = "rails.view"
@@ -41,7 +41,8 @@ module InfluxDB
41
41
  :retry => configuration.retry,
42
42
  :open_timeout => configuration.open_timeout,
43
43
  :read_timeout => configuration.read_timeout,
44
- :max_delay => configuration.max_delay
44
+ :max_delay => configuration.max_delay,
45
+ :time_precision => configuration.time_precision
45
46
  end
46
47
 
47
48
  def configuration
@@ -76,7 +77,7 @@ module InfluxDB
76
77
  alias_method :transmit, :report_exception
77
78
 
78
79
  def handle_action_controller_metrics(name, start, finish, id, payload)
79
- timestamp = finish.utc.to_i
80
+ timestamp = convert_timestamp(finish.utc)
80
81
  controller_runtime = ((finish - start)*1000).ceil
81
82
  view_runtime = (payload[:view_runtime] || 0).ceil
82
83
  db_runtime = (payload[:db_runtime] || 0).ceil
@@ -92,6 +93,7 @@ module InfluxDB
92
93
  method: method,
93
94
  server: hostname,
94
95
  },
96
+ timestamp: timestamp,
95
97
  }
96
98
 
97
99
  client.write_point configuration.series_name_for_view_runtimes, {
@@ -102,6 +104,7 @@ module InfluxDB
102
104
  method: method,
103
105
  server: hostname,
104
106
  },
107
+ timestamp: timestamp,
105
108
  }
106
109
 
107
110
  client.write_point configuration.series_name_for_db_runtimes, {
@@ -112,14 +115,34 @@ module InfluxDB
112
115
  method: method,
113
116
  server: hostname,
114
117
  },
118
+ timestamp: timestamp,
115
119
  }
116
120
  rescue => e
117
121
  log :error, "[InfluxDB::Rails] Unable to write points: #{e.message}"
118
122
  end
119
123
  end
120
124
 
125
+ def convert_timestamp(ts)
126
+ case configuration.time_precision
127
+ when 'ns', nil
128
+ (ts.to_r * 1e9).to_i
129
+ when 'u'
130
+ (ts.to_r * 1e6).to_i
131
+ when 'ms'
132
+ (ts.to_r * 1e3).to_i
133
+ when 's'
134
+ ts.to_i
135
+ when 'm'
136
+ ts.to_i / 60
137
+ when 'h'
138
+ ts.to_i / 60 / 60
139
+ else
140
+ raise "Invalid time precision: #{configuration.time_precision}"
141
+ end
142
+ end
143
+
121
144
  def current_timestamp
122
- Time.now.utc.to_i
145
+ convert_timestamp(Time.now.utc)
123
146
  end
124
147
 
125
148
  def ignorable_exception?(e)
@@ -12,6 +12,7 @@ module InfluxDB
12
12
  attr_accessor :open_timeout
13
13
  attr_accessor :read_timeout
14
14
  attr_accessor :max_delay
15
+ attr_accessor :time_precision
15
16
 
16
17
  attr_accessor :series_name_for_controller_runtimes
17
18
  attr_accessor :series_name_for_view_runtimes
@@ -58,6 +59,7 @@ module InfluxDB
58
59
  :open_timeout => 5,
59
60
  :read_timeout => 300,
60
61
  :max_delay => 30,
62
+ :time_precision => "s",
61
63
 
62
64
  :series_name_for_controller_runtimes => "rails.controller",
63
65
  :series_name_for_view_runtimes => "rails.view",
@@ -104,6 +106,7 @@ module InfluxDB
104
106
  @open_timeout = DEFAULTS[:open_timeout]
105
107
  @read_timeout = DEFAULTS[:read_timeout]
106
108
  @max_delay = DEFAULTS[:max_delay]
109
+ @time_precision = DEFAULTS[:time_precision]
107
110
 
108
111
  @series_name_for_controller_runtimes = DEFAULTS[:series_name_for_controller_runtimes]
109
112
  @series_name_for_view_runtimes = DEFAULTS[:series_name_for_view_runtimes]
@@ -40,7 +40,7 @@ module InfluxDB
40
40
 
41
41
  def context
42
42
  c = {
43
- :time => Time.now.utc.to_i,
43
+ :time => InfluxDB::Rails.current_timestamp,
44
44
  :application_name => InfluxDB::Rails.configuration.application_name,
45
45
  :application_root => InfluxDB::Rails.configuration.application_root,
46
46
  :framework => InfluxDB::Rails.configuration.framework,
@@ -1,5 +1,5 @@
1
1
  module InfluxDB
2
2
  module Rails
3
- VERSION = "0.4.2"
3
+ VERSION = "0.4.3"
4
4
  end
5
5
  end
@@ -2419,3 +2419,258 @@ Completed 200 OK in 0ms
2419
2419
  Started GET "/widgets" for 127.0.0.1 at 2017-08-19 16:26:42 +0200
2420
2420
  Processing by WidgetsController#index as HTML
2421
2421
  Completed 200 OK in 0ms
2422
+ DEPRECATION WARNING: You didn't set `secret_key_base`. Read the upgrade documentation to learn more about this new config option. (called from env_config at /home/dm/.rbenv/versions/2.4/gemsets/influxdb/gems/railties-5.1.3/lib/rails/application.rb:247)
2423
+ Processing by WidgetsController#new as HTML
2424
+ Completed 500 Internal Server Error in 0ms
2425
+ Processing by WidgetsController#index as HTML
2426
+ Completed 200 OK in 0ms
2427
+ Started GET "/widgets/new" for 127.0.0.1 at 2017-12-12 21:01:58 +0100
2428
+ Processing by WidgetsController#new as HTML
2429
+ Completed 500 Internal Server Error in 0ms
2430
+
2431
+ ZeroDivisionError (divided by 0):
2432
+
2433
+ app.rb:22:in `/'
2434
+ app.rb:22:in `new'
2435
+ actionpack (5.1.3) lib/action_controller/metal/basic_implicit_render.rb:4:in `send_action'
2436
+ actionpack (5.1.3) lib/abstract_controller/base.rb:186:in `process_action'
2437
+ actionpack (5.1.3) lib/action_controller/metal/rendering.rb:30:in `process_action'
2438
+ actionpack (5.1.3) lib/abstract_controller/callbacks.rb:20:in `block in process_action'
2439
+ activesupport (5.1.3) lib/active_support/callbacks.rb:97:in `run_callbacks'
2440
+ actionpack (5.1.3) lib/abstract_controller/callbacks.rb:19:in `process_action'
2441
+ actionpack (5.1.3) lib/action_controller/metal/rescue.rb:20:in `process_action'
2442
+ actionpack (5.1.3) lib/action_controller/metal/instrumentation.rb:32:in `block in process_action'
2443
+ activesupport (5.1.3) lib/active_support/notifications.rb:166:in `block in instrument'
2444
+ activesupport (5.1.3) lib/active_support/notifications/instrumenter.rb:21:in `instrument'
2445
+ activesupport (5.1.3) lib/active_support/notifications.rb:166:in `instrument'
2446
+ actionpack (5.1.3) lib/action_controller/metal/instrumentation.rb:30:in `process_action'
2447
+ actionpack (5.1.3) lib/action_controller/metal/params_wrapper.rb:252:in `process_action'
2448
+ actionpack (5.1.3) lib/abstract_controller/base.rb:124:in `process'
2449
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/actionview-5.1.3/lib/action_view/rendering.rb:30:in `process'
2450
+ actionpack (5.1.3) lib/action_controller/metal.rb:189:in `dispatch'
2451
+ actionpack (5.1.3) lib/action_controller/metal.rb:253:in `dispatch'
2452
+ actionpack (5.1.3) lib/action_dispatch/routing/route_set.rb:49:in `dispatch'
2453
+ actionpack (5.1.3) lib/action_dispatch/routing/route_set.rb:31:in `serve'
2454
+ actionpack (5.1.3) lib/action_dispatch/journey/router.rb:46:in `block in serve'
2455
+ actionpack (5.1.3) lib/action_dispatch/journey/router.rb:33:in `each'
2456
+ actionpack (5.1.3) lib/action_dispatch/journey/router.rb:33:in `serve'
2457
+ actionpack (5.1.3) lib/action_dispatch/routing/route_set.rb:834:in `call'
2458
+ rack (2.0.3) lib/rack/etag.rb:25:in `call'
2459
+ rack (2.0.3) lib/rack/conditional_get.rb:25:in `call'
2460
+ rack (2.0.3) lib/rack/head.rb:12:in `call'
2461
+ rack (2.0.3) lib/rack/session/abstract/id.rb:232:in `context'
2462
+ rack (2.0.3) lib/rack/session/abstract/id.rb:226:in `call'
2463
+ actionpack (5.1.3) lib/action_dispatch/middleware/cookies.rb:613:in `call'
2464
+ actionpack (5.1.3) lib/action_dispatch/middleware/callbacks.rb:26:in `block in call'
2465
+ activesupport (5.1.3) lib/active_support/callbacks.rb:97:in `run_callbacks'
2466
+ actionpack (5.1.3) lib/action_dispatch/middleware/callbacks.rb:24:in `call'
2467
+ actionpack (5.1.3) lib/action_dispatch/middleware/executor.rb:12:in `call'
2468
+ actionpack (5.1.3) lib/action_dispatch/middleware/debug_exceptions.rb:59:in `call'
2469
+ actionpack (5.1.3) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call'
2470
+ railties (5.1.3) lib/rails/rack/logger.rb:36:in `call_app'
2471
+ railties (5.1.3) lib/rails/rack/logger.rb:24:in `block in call'
2472
+ activesupport (5.1.3) lib/active_support/tagged_logging.rb:69:in `block in tagged'
2473
+ activesupport (5.1.3) lib/active_support/tagged_logging.rb:26:in `tagged'
2474
+ activesupport (5.1.3) lib/active_support/tagged_logging.rb:69:in `tagged'
2475
+ railties (5.1.3) lib/rails/rack/logger.rb:24:in `call'
2476
+ actionpack (5.1.3) lib/action_dispatch/middleware/remote_ip.rb:79:in `call'
2477
+ actionpack (5.1.3) lib/action_dispatch/middleware/request_id.rb:25:in `call'
2478
+ rack (2.0.3) lib/rack/method_override.rb:22:in `call'
2479
+ rack (2.0.3) lib/rack/runtime.rb:22:in `call'
2480
+ activesupport (5.1.3) lib/active_support/cache/strategy/local_cache_middleware.rb:27:in `call'
2481
+ actionpack (5.1.3) lib/action_dispatch/middleware/executor.rb:12:in `call'
2482
+ actionpack (5.1.3) lib/action_dispatch/middleware/static.rb:125:in `call'
2483
+ rack (2.0.3) lib/rack/sendfile.rb:111:in `call'
2484
+ /home/dm/code/influxdb-rails/lib/influxdb/rails/rack.rb:14:in `_call'
2485
+ /home/dm/code/influxdb-rails/lib/influxdb/rails/rack.rb:9:in `call'
2486
+ railties (5.1.3) lib/rails/engine.rb:522:in `call'
2487
+ rack-test (0.6.3) lib/rack/mock_session.rb:30:in `request'
2488
+ rack-test (0.6.3) lib/rack/test.rb:244:in `process_request'
2489
+ rack-test (0.6.3) lib/rack/test.rb:124:in `request'
2490
+ actionpack (5.1.3) lib/action_dispatch/testing/integration.rb:261:in `process'
2491
+ actionpack (5.1.3) lib/action_dispatch/testing/integration.rb:16:in `get'
2492
+ actionpack (5.1.3) lib/action_dispatch/testing/integration.rb:348:in `block (2 levels) in <module:Runner>'
2493
+ /home/dm/code/influxdb-rails/spec/integration/exceptions_spec.rb:14:in `block (3 levels) in <top (required)>'
2494
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/example.rb:254:in `instance_exec'
2495
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/example.rb:254:in `block in run'
2496
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/example.rb:500:in `block in with_around_and_singleton_context_hooks'
2497
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/example.rb:457:in `block in with_around_example_hooks'
2498
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/hooks.rb:464:in `block in run'
2499
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/hooks.rb:604:in `block in run_around_example_hooks_for'
2500
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/example.rb:342:in `call'
2501
+ rspec-rails (3.6.1) lib/rspec/rails/adapters.rb:127:in `block (2 levels) in <module:MinitestLifecycleAdapter>'
2502
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/example.rb:447:in `instance_exec'
2503
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/example.rb:447:in `instance_exec'
2504
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/hooks.rb:375:in `execute_with'
2505
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/hooks.rb:606:in `block (2 levels) in run_around_example_hooks_for'
2506
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/example.rb:342:in `call'
2507
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/hooks.rb:607:in `run_around_example_hooks_for'
2508
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/hooks.rb:464:in `run'
2509
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/example.rb:457:in `with_around_example_hooks'
2510
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/example.rb:500:in `with_around_and_singleton_context_hooks'
2511
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/example.rb:251:in `run'
2512
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/example_group.rb:627:in `block in run_examples'
2513
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/example_group.rb:623:in `map'
2514
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/example_group.rb:623:in `run_examples'
2515
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/example_group.rb:589:in `run'
2516
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/example_group.rb:590:in `block in run'
2517
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/example_group.rb:590:in `map'
2518
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/example_group.rb:590:in `run'
2519
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/runner.rb:118:in `block (3 levels) in run_specs'
2520
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/runner.rb:118:in `map'
2521
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/runner.rb:118:in `block (2 levels) in run_specs'
2522
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/configuration.rb:1894:in `with_suite_hooks'
2523
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/runner.rb:113:in `block in run_specs'
2524
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/reporter.rb:79:in `report'
2525
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/runner.rb:112:in `run_specs'
2526
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/runner.rb:87:in `run'
2527
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/runner.rb:71:in `run'
2528
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/runner.rb:45:in `invoke'
2529
+ rspec-core (3.6.0) exe/rspec:4:in `<top (required)>'
2530
+ /home/dm/.rbenv/versions/2.4/gemsets/influxdb/bin/rspec:23:in `load'
2531
+ /home/dm/.rbenv/versions/2.4/gemsets/influxdb/bin/rspec:23:in `<top (required)>'
2532
+ bundler (1.16.0) lib/bundler/cli/exec.rb:75:in `load'
2533
+ bundler (1.16.0) lib/bundler/cli/exec.rb:75:in `kernel_load'
2534
+ bundler (1.16.0) lib/bundler/cli/exec.rb:28:in `run'
2535
+ bundler (1.16.0) lib/bundler/cli.rb:424:in `exec'
2536
+ bundler (1.16.0) lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
2537
+ bundler (1.16.0) lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
2538
+ bundler (1.16.0) lib/bundler/vendor/thor/lib/thor.rb:387:in `dispatch'
2539
+ bundler (1.16.0) lib/bundler/cli.rb:27:in `dispatch'
2540
+ bundler (1.16.0) lib/bundler/vendor/thor/lib/thor/base.rb:466:in `start'
2541
+ bundler (1.16.0) lib/bundler/cli.rb:18:in `start'
2542
+ bundler (1.16.0) exe/bundle:30:in `block in <top (required)>'
2543
+ bundler (1.16.0) lib/bundler/friendly_errors.rb:122:in `with_friendly_errors'
2544
+ bundler (1.16.0) exe/bundle:22:in `<top (required)>'
2545
+ /home/dm/.rbenv/versions/2.4/gemsets/influxdb/bin/bundle:23:in `load'
2546
+ /home/dm/.rbenv/versions/2.4/gemsets/influxdb/bin/bundle:23:in `<main>'
2547
+ Started GET "/widgets" for 127.0.0.1 at 2017-12-12 21:01:58 +0100
2548
+ Processing by WidgetsController#index as HTML
2549
+ Completed 200 OK in 0ms
2550
+ Started GET "/widgets/new" for 127.0.0.1 at 2017-12-12 21:01:58 +0100
2551
+ Processing by WidgetsController#new as HTML
2552
+ Completed 500 Internal Server Error in 0ms
2553
+
2554
+ Cannot write data: #<FakeWeb::NetConnectNotAllowedError: Real HTTP connections are disabled. Unregistered request: POST http://localhost:8086/write?db=&precision=s&u=root&p=root>
2555
+ ZeroDivisionError (divided by 0):
2556
+
2557
+ app.rb:22:in `/'
2558
+ app.rb:22:in `new'
2559
+ actionpack (5.1.3) lib/action_controller/metal/basic_implicit_render.rb:4:in `send_action'
2560
+ actionpack (5.1.3) lib/abstract_controller/base.rb:186:in `process_action'
2561
+ actionpack (5.1.3) lib/action_controller/metal/rendering.rb:30:in `process_action'
2562
+ actionpack (5.1.3) lib/abstract_controller/callbacks.rb:20:in `block in process_action'
2563
+ activesupport (5.1.3) lib/active_support/callbacks.rb:97:in `run_callbacks'
2564
+ actionpack (5.1.3) lib/abstract_controller/callbacks.rb:19:in `process_action'
2565
+ actionpack (5.1.3) lib/action_controller/metal/rescue.rb:20:in `process_action'
2566
+ actionpack (5.1.3) lib/action_controller/metal/instrumentation.rb:32:in `block in process_action'
2567
+ activesupport (5.1.3) lib/active_support/notifications.rb:166:in `block in instrument'
2568
+ activesupport (5.1.3) lib/active_support/notifications/instrumenter.rb:21:in `instrument'
2569
+ activesupport (5.1.3) lib/active_support/notifications.rb:166:in `instrument'
2570
+ actionpack (5.1.3) lib/action_controller/metal/instrumentation.rb:30:in `process_action'
2571
+ actionpack (5.1.3) lib/action_controller/metal/params_wrapper.rb:252:in `process_action'
2572
+ actionpack (5.1.3) lib/abstract_controller/base.rb:124:in `process'
2573
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/actionview-5.1.3/lib/action_view/rendering.rb:30:in `process'
2574
+ actionpack (5.1.3) lib/action_controller/metal.rb:189:in `dispatch'
2575
+ actionpack (5.1.3) lib/action_controller/metal.rb:253:in `dispatch'
2576
+ actionpack (5.1.3) lib/action_dispatch/routing/route_set.rb:49:in `dispatch'
2577
+ actionpack (5.1.3) lib/action_dispatch/routing/route_set.rb:31:in `serve'
2578
+ actionpack (5.1.3) lib/action_dispatch/journey/router.rb:46:in `block in serve'
2579
+ actionpack (5.1.3) lib/action_dispatch/journey/router.rb:33:in `each'
2580
+ actionpack (5.1.3) lib/action_dispatch/journey/router.rb:33:in `serve'
2581
+ actionpack (5.1.3) lib/action_dispatch/routing/route_set.rb:834:in `call'
2582
+ rack (2.0.3) lib/rack/etag.rb:25:in `call'
2583
+ rack (2.0.3) lib/rack/conditional_get.rb:25:in `call'
2584
+ rack (2.0.3) lib/rack/head.rb:12:in `call'
2585
+ rack (2.0.3) lib/rack/session/abstract/id.rb:232:in `context'
2586
+ rack (2.0.3) lib/rack/session/abstract/id.rb:226:in `call'
2587
+ actionpack (5.1.3) lib/action_dispatch/middleware/cookies.rb:613:in `call'
2588
+ actionpack (5.1.3) lib/action_dispatch/middleware/callbacks.rb:26:in `block in call'
2589
+ activesupport (5.1.3) lib/active_support/callbacks.rb:97:in `run_callbacks'
2590
+ actionpack (5.1.3) lib/action_dispatch/middleware/callbacks.rb:24:in `call'
2591
+ actionpack (5.1.3) lib/action_dispatch/middleware/executor.rb:12:in `call'
2592
+ actionpack (5.1.3) lib/action_dispatch/middleware/debug_exceptions.rb:59:in `call'
2593
+ actionpack (5.1.3) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call'
2594
+ railties (5.1.3) lib/rails/rack/logger.rb:36:in `call_app'
2595
+ railties (5.1.3) lib/rails/rack/logger.rb:24:in `block in call'
2596
+ activesupport (5.1.3) lib/active_support/tagged_logging.rb:69:in `block in tagged'
2597
+ activesupport (5.1.3) lib/active_support/tagged_logging.rb:26:in `tagged'
2598
+ activesupport (5.1.3) lib/active_support/tagged_logging.rb:69:in `tagged'
2599
+ railties (5.1.3) lib/rails/rack/logger.rb:24:in `call'
2600
+ actionpack (5.1.3) lib/action_dispatch/middleware/remote_ip.rb:79:in `call'
2601
+ actionpack (5.1.3) lib/action_dispatch/middleware/request_id.rb:25:in `call'
2602
+ rack (2.0.3) lib/rack/method_override.rb:22:in `call'
2603
+ rack (2.0.3) lib/rack/runtime.rb:22:in `call'
2604
+ activesupport (5.1.3) lib/active_support/cache/strategy/local_cache_middleware.rb:27:in `call'
2605
+ actionpack (5.1.3) lib/action_dispatch/middleware/executor.rb:12:in `call'
2606
+ actionpack (5.1.3) lib/action_dispatch/middleware/static.rb:125:in `call'
2607
+ rack (2.0.3) lib/rack/sendfile.rb:111:in `call'
2608
+ /home/dm/code/influxdb-rails/lib/influxdb/rails/rack.rb:14:in `_call'
2609
+ /home/dm/code/influxdb-rails/lib/influxdb/rails/rack.rb:9:in `call'
2610
+ railties (5.1.3) lib/rails/engine.rb:522:in `call'
2611
+ rack-test (0.6.3) lib/rack/mock_session.rb:30:in `request'
2612
+ rack-test (0.6.3) lib/rack/test.rb:244:in `process_request'
2613
+ rack-test (0.6.3) lib/rack/test.rb:124:in `request'
2614
+ actionpack (5.1.3) lib/action_dispatch/testing/integration.rb:261:in `process'
2615
+ actionpack (5.1.3) lib/action_dispatch/testing/integration.rb:16:in `get'
2616
+ actionpack (5.1.3) lib/action_dispatch/testing/integration.rb:348:in `block (2 levels) in <module:Runner>'
2617
+ /home/dm/code/influxdb-rails/spec/integration/exceptions_spec.rb:34:in `block (3 levels) in <top (required)>'
2618
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/example.rb:254:in `instance_exec'
2619
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/example.rb:254:in `block in run'
2620
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/example.rb:500:in `block in with_around_and_singleton_context_hooks'
2621
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/example.rb:457:in `block in with_around_example_hooks'
2622
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/hooks.rb:464:in `block in run'
2623
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/hooks.rb:604:in `block in run_around_example_hooks_for'
2624
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/example.rb:342:in `call'
2625
+ rspec-rails (3.6.1) lib/rspec/rails/adapters.rb:127:in `block (2 levels) in <module:MinitestLifecycleAdapter>'
2626
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/example.rb:447:in `instance_exec'
2627
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/example.rb:447:in `instance_exec'
2628
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/hooks.rb:375:in `execute_with'
2629
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/hooks.rb:606:in `block (2 levels) in run_around_example_hooks_for'
2630
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/example.rb:342:in `call'
2631
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/hooks.rb:607:in `run_around_example_hooks_for'
2632
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/hooks.rb:464:in `run'
2633
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/example.rb:457:in `with_around_example_hooks'
2634
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/example.rb:500:in `with_around_and_singleton_context_hooks'
2635
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/example.rb:251:in `run'
2636
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/example_group.rb:627:in `block in run_examples'
2637
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/example_group.rb:623:in `map'
2638
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/example_group.rb:623:in `run_examples'
2639
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/example_group.rb:589:in `run'
2640
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/example_group.rb:590:in `block in run'
2641
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/example_group.rb:590:in `map'
2642
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/example_group.rb:590:in `run'
2643
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/runner.rb:118:in `block (3 levels) in run_specs'
2644
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/runner.rb:118:in `map'
2645
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/runner.rb:118:in `block (2 levels) in run_specs'
2646
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/configuration.rb:1894:in `with_suite_hooks'
2647
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/runner.rb:113:in `block in run_specs'
2648
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/reporter.rb:79:in `report'
2649
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/runner.rb:112:in `run_specs'
2650
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/runner.rb:87:in `run'
2651
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/runner.rb:71:in `run'
2652
+ /home/dm/.rbenv/versions/2.4.2/gemsets/influxdb/gems/rspec-core-3.6.0/lib/rspec/core/runner.rb:45:in `invoke'
2653
+ rspec-core (3.6.0) exe/rspec:4:in `<top (required)>'
2654
+ /home/dm/.rbenv/versions/2.4/gemsets/influxdb/bin/rspec:23:in `load'
2655
+ /home/dm/.rbenv/versions/2.4/gemsets/influxdb/bin/rspec:23:in `<top (required)>'
2656
+ bundler (1.16.0) lib/bundler/cli/exec.rb:75:in `load'
2657
+ bundler (1.16.0) lib/bundler/cli/exec.rb:75:in `kernel_load'
2658
+ bundler (1.16.0) lib/bundler/cli/exec.rb:28:in `run'
2659
+ bundler (1.16.0) lib/bundler/cli.rb:424:in `exec'
2660
+ bundler (1.16.0) lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
2661
+ bundler (1.16.0) lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
2662
+ bundler (1.16.0) lib/bundler/vendor/thor/lib/thor.rb:387:in `dispatch'
2663
+ bundler (1.16.0) lib/bundler/cli.rb:27:in `dispatch'
2664
+ bundler (1.16.0) lib/bundler/vendor/thor/lib/thor/base.rb:466:in `start'
2665
+ bundler (1.16.0) lib/bundler/cli.rb:18:in `start'
2666
+ bundler (1.16.0) exe/bundle:30:in `block in <top (required)>'
2667
+ bundler (1.16.0) lib/bundler/friendly_errors.rb:122:in `with_friendly_errors'
2668
+ bundler (1.16.0) exe/bundle:22:in `<top (required)>'
2669
+ /home/dm/.rbenv/versions/2.4/gemsets/influxdb/bin/bundle:23:in `load'
2670
+ /home/dm/.rbenv/versions/2.4/gemsets/influxdb/bin/bundle:23:in `<main>'
2671
+ Started GET "/widgets" for 127.0.0.1 at 2017-12-12 21:01:58 +0100
2672
+ Processing by WidgetsController#index as HTML
2673
+ Completed 200 OK in 0ms
2674
+ Started GET "/widgets" for 127.0.0.1 at 2017-12-12 21:01:58 +0100
2675
+ Processing by WidgetsController#index as HTML
2676
+ Completed 200 OK in 0ms
@@ -86,4 +86,19 @@ RSpec.describe InfluxDB::Rails::Configuration do
86
86
  expect(InfluxDB::Rails.configuration.max_delay).to eql(5)
87
87
  end
88
88
  end
89
+
90
+ describe "#time_precision" do
91
+ it "defaults to seconds" do
92
+ InfluxDB::Rails.configure do |config|
93
+ end
94
+ expect(InfluxDB::Rails.configuration.time_precision).to eql('s')
95
+ end
96
+
97
+ it "can be updated" do
98
+ InfluxDB::Rails.configure do |config|
99
+ config.time_precision = 'ms'
100
+ end
101
+ expect(InfluxDB::Rails.configuration.time_precision).to eql('ms')
102
+ end
103
+ end
89
104
  end
@@ -5,6 +5,55 @@ RSpec.describe InfluxDB::Rails do
5
5
  InfluxDB::Rails.configure { |config| config.ignored_environments = [] }
6
6
  end
7
7
 
8
+ describe '.convert_timestamp' do
9
+ let(:sometime) { Time.parse('2017-12-11 16:20:29.111222333 UTC') }
10
+ let(:configuration) { double("Configuration") }
11
+ before { allow(InfluxDB::Rails).to receive(:configuration).and_return configuration }
12
+
13
+ it "should return the timestamp in nanoseconds when precision is 'ns'" do
14
+ allow(configuration).to receive(:time_precision).and_return('ns')
15
+ expect(InfluxDB::Rails.convert_timestamp(sometime)).to eq(1513009229111222272)
16
+ end
17
+ it "should return the timestamp in nanoseconds when precision is nil" do
18
+ allow(configuration).to receive(:time_precision)
19
+ expect(InfluxDB::Rails.convert_timestamp(sometime)).to eq(1513009229111222272)
20
+ end
21
+ it "should return the timestamp in microseconds when precision is u" do
22
+ allow(configuration).to receive(:time_precision).and_return('u')
23
+ expect(InfluxDB::Rails.convert_timestamp(sometime)).to eq(1513009229111222)
24
+ end
25
+ it "should return the timestamp in milliseconds when precision is ms" do
26
+ allow(configuration).to receive(:time_precision).and_return('ms')
27
+ expect(InfluxDB::Rails.convert_timestamp(sometime)).to eq(1513009229111)
28
+ end
29
+ it "should return the timestamp in seconds when precision is s" do
30
+ allow(configuration).to receive(:time_precision).and_return('s')
31
+ expect(InfluxDB::Rails.convert_timestamp(sometime)).to eq(1513009229)
32
+ end
33
+ it "should return the timestamp in minutes when precision is m" do
34
+ allow(configuration).to receive(:time_precision).and_return('m')
35
+ expect(InfluxDB::Rails.convert_timestamp(sometime)).to eq(25216820)
36
+ end
37
+ it "should return the timestamp in hours when precision is h" do
38
+ allow(configuration).to receive(:time_precision).and_return('h')
39
+ expect(InfluxDB::Rails.convert_timestamp(sometime)).to eq(420280)
40
+ end
41
+ it "should raise an excpetion when precision is unrecognized" do
42
+ allow(configuration).to receive(:time_precision).and_return('whatever')
43
+ expect{InfluxDB::Rails.convert_timestamp(sometime)}.
44
+ to raise_exception /invalid time precision.*whatever/i
45
+ end
46
+ end
47
+
48
+ describe '.current_timestamp' do
49
+ it "should return the current timestamp in the configured precision" do
50
+ now = Time.parse('2017-12-11 16:20:29.111222333 UTC')
51
+ allow(Time).to receive(:now).and_return(now)
52
+ InfluxDB::Rails.configure {|config| config.time_precision = 'ms'}
53
+ expect(InfluxDB::Rails.current_timestamp).to eq(1513009229111)
54
+ end
55
+ end
56
+
8
57
  describe ".ignorable_exception?" do
9
58
  it "should be true for exception types specified in the configuration" do
10
59
  class DummyException < Exception; end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: influxdb-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.2
4
+ version: 0.4.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Todd Persen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-11-28 00:00:00.000000000 Z
11
+ date: 2017-12-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: influxdb
@@ -173,6 +173,7 @@ files:
173
173
  - pkg/influxdb-rails-0.1.11.gem
174
174
  - pkg/influxdb-rails-0.1.12.gem
175
175
  - pkg/influxdb-rails-0.4.0.gem
176
+ - pkg/influxdb-rails-0.4.2.gem
176
177
  - spec/controllers/widgets_controller_spec.rb
177
178
  - spec/integration/exceptions_spec.rb
178
179
  - spec/integration/integration_helper.rb