dataoperations-aggregate 0.0.5 → 0.0.6

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
2
  SHA256:
3
- metadata.gz: 641acf44ae266d4790320ae506cc968b20fe9fdcbc63b7fb50b0cb41c13a77b6
4
- data.tar.gz: adeed75be0d03687fa1700e3ee5c8048885a904b0e8ad5667969328e8a4472a0
3
+ metadata.gz: e2cf76bae5e748e46672c8d59f8859358452f2fca813499b148e85dfa61f38c9
4
+ data.tar.gz: 7a9fbbd0115edefa597b9d374407576f4dfedb133da781dffe066c3e4ba6f73a
5
5
  SHA512:
6
- metadata.gz: 3b7f039bc8f7046051a8150576eb6a29ba10edb6287251bd0980a211eecec41b69bcda10dde9cf8d920f5dcf07c7be1752b2b211dda5419f7fd7c5686cfd0195
7
- data.tar.gz: 12f5981b5fc696c4cb0b36a68dd38a5ad814085bf8f3aded30cfb2e2446607f0971a6adc9220cb29f3615ca44a9673c8dcac18f8d825bd1a28755bdb4e92a3cd
6
+ metadata.gz: 403435362bd15744b154604e6322dcbba89ea9952e36d82ffe3ac3299f3ad28cd5c29187843e780cf149dabf2abdb4fbb6700f1e8ddce8e792ab033adf174255
7
+ data.tar.gz: f883f091f074ebbe48e18c46790ceb37c5ba98d7a879ec8259f69c88a19225130864897ab8bb63e47c7ab31dbcc5a400ae6c7fe68f3b8a27abec476c6e34123d
@@ -9,6 +9,7 @@ module DataOperations
9
9
  DEFAULT_INTERVALS = [10].freeze
10
10
  DEFAULT_FLUSH_INTERVAL = 5
11
11
  DEFAULT_PROCESSING_MODE = :batch
12
+ DEFAULT_TIME_STARTED_MODE = :first_message
12
13
  DEFAULT_FIELD_NO_DATA_VALUE = 'no_data'.freeze
13
14
  DEFAULT_AGGREGATIONS = %w[sum min max mean median variance standard_deviation].freeze
14
15
  VALID_AGGREGATIONS = %w[sum min max mean median variance standard_deviation].freeze
@@ -24,6 +25,7 @@ module DataOperations
24
25
  keep_interval: DEFAULT_KEEP_INTERVAL,
25
26
  field_no_data_value: DEFAULT_FIELD_NO_DATA_VALUE,
26
27
  processing_mode: DEFAULT_PROCESSING_MODE,
28
+ time_started_mode: DEFAULT_TIME_STARTED_MODE,
27
29
  aggregator_name: nil,
28
30
  log: Logger.new(STDOUT),
29
31
  aggregation_names:,
@@ -39,6 +41,7 @@ module DataOperations
39
41
  @keep_interval = keep_interval
40
42
  @field_no_data_value = field_no_data_value
41
43
  @processing_mode = processing_mode
44
+ @time_started_mode = time_started_mode
42
45
  @aggregator_name = aggregator_name
43
46
 
44
47
 
@@ -117,14 +120,14 @@ module DataOperations
117
120
  aggregator_item['aggregate_fields'] = aggregate_detail
118
121
  aggregator_item['intervals'] = interval_detail
119
122
 
120
- @aggregator_mutex.synchronize {@aggregator[hash_group_key] = aggregator_item}
123
+ @aggregator_mutex.synchronize {@aggregator[hash_group_key] = aggregator_item}
121
124
  end
122
125
 
123
126
  if !aggregator_item['aggregate_fields'].key?(aggregator_hash_key)
124
127
  hash_aggregator = {}
125
128
  hash_aggregator[:time_started] = Time.now.to_i
126
129
  hash_aggregator['processed'] = 1
127
- @aggregator_mutex.synchronize {aggregator_item['aggregate_fields'][aggregator_hash_key] = hash_aggregator}
130
+ @aggregator_mutex.synchronize {aggregator_item['aggregate_fields'][aggregator_hash_key] = hash_aggregator}
128
131
  else
129
132
  aggregator_item['aggregate_fields'][aggregator_hash_key]['processed'] += 1
130
133
  end
@@ -249,7 +252,9 @@ module DataOperations
249
252
  # @log.debug "interval_aggregator_item_key: #{interval_aggregator_item_key}"
250
253
 
251
254
  if interval_aggregator_item_value = group_item_value['intervals'][interval_secs][interval_aggregator_item_key]
252
- if interval_aggregator_item_value[:time_started] < aggregator_item_value[:time_started]
255
+ if @time_started_mode == :first_event && aggregator_item_value[:time_started] < interval_aggregator_item_value[:time_started]
256
+ interval_aggregator_item_value[:time_started] = aggregator_item_value[:time_started]
257
+ elseif @time_started_mode == :last_event && aggregator_item_value[:time_started] > interval_aggregator_item_value[:time_started]
253
258
  interval_aggregator_item_value[:time_started] = aggregator_item_value[:time_started]
254
259
  end
255
260
  interval_aggregator_item_value['processed'] += aggregator_item_value['processed']
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dataoperations-aggregate
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Victor Guillen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-04-26 00:00:00.000000000 Z
11
+ date: 2020-05-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: descriptive_statistics