splitclient-rb 7.2.3.pre.rc2-java → 7.3.0-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +12 -0
  3. data/CHANGES.txt +10 -0
  4. data/LICENSE +1 -1
  5. data/README.md +1 -1
  6. data/lib/splitclient-rb.rb +24 -9
  7. data/lib/splitclient-rb/cache/adapters/redis_adapter.rb +4 -0
  8. data/lib/splitclient-rb/cache/fetchers/segment_fetcher.rb +13 -9
  9. data/lib/splitclient-rb/cache/fetchers/split_fetcher.rb +8 -7
  10. data/lib/splitclient-rb/cache/repositories/events/memory_repository.rb +6 -3
  11. data/lib/splitclient-rb/cache/repositories/events_repository.rb +4 -3
  12. data/lib/splitclient-rb/cache/repositories/impressions/memory_repository.rb +8 -0
  13. data/lib/splitclient-rb/cache/repositories/impressions/redis_repository.rb +2 -0
  14. data/lib/splitclient-rb/cache/repositories/repository.rb +0 -4
  15. data/lib/splitclient-rb/cache/repositories/segments_repository.rb +20 -0
  16. data/lib/splitclient-rb/cache/repositories/splits_repository.rb +4 -0
  17. data/lib/splitclient-rb/cache/senders/localhost_repo_cleaner.rb +1 -3
  18. data/lib/splitclient-rb/cache/stores/sdk_blocker.rb +9 -0
  19. data/lib/splitclient-rb/clients/split_client.rb +59 -25
  20. data/lib/splitclient-rb/engine/api/client.rb +3 -2
  21. data/lib/splitclient-rb/engine/api/events.rb +10 -1
  22. data/lib/splitclient-rb/engine/api/impressions.rb +19 -2
  23. data/lib/splitclient-rb/engine/api/segments.rb +20 -18
  24. data/lib/splitclient-rb/engine/api/splits.rb +10 -10
  25. data/lib/splitclient-rb/engine/api/telemetry_api.rb +39 -0
  26. data/lib/splitclient-rb/engine/auth_api_client.rb +21 -8
  27. data/lib/splitclient-rb/engine/common/impressions_manager.rb +27 -3
  28. data/lib/splitclient-rb/engine/metrics/binary_search_latency_tracker.rb +3 -65
  29. data/lib/splitclient-rb/engine/push_manager.rb +10 -2
  30. data/lib/splitclient-rb/engine/sync_manager.rb +42 -20
  31. data/lib/splitclient-rb/engine/synchronizer.rb +13 -12
  32. data/lib/splitclient-rb/split_config.rb +46 -21
  33. data/lib/splitclient-rb/split_factory.rb +31 -13
  34. data/lib/splitclient-rb/split_factory_registry.rb +12 -0
  35. data/lib/splitclient-rb/sse/event_source/client.rb +10 -1
  36. data/lib/splitclient-rb/sse/notification_manager_keeper.rb +17 -3
  37. data/lib/splitclient-rb/sse/sse_handler.rb +10 -6
  38. data/lib/splitclient-rb/telemetry/domain/constants.rb +42 -0
  39. data/lib/splitclient-rb/telemetry/domain/structs.rb +31 -0
  40. data/lib/splitclient-rb/telemetry/evaluation_consumer.rb +14 -0
  41. data/lib/splitclient-rb/telemetry/evaluation_producer.rb +21 -0
  42. data/lib/splitclient-rb/telemetry/init_consumer.rb +14 -0
  43. data/lib/splitclient-rb/telemetry/init_producer.rb +19 -0
  44. data/lib/splitclient-rb/telemetry/memory/memory_evaluation_consumer.rb +32 -0
  45. data/lib/splitclient-rb/telemetry/memory/memory_evaluation_producer.rb +24 -0
  46. data/lib/splitclient-rb/telemetry/memory/memory_init_consumer.rb +28 -0
  47. data/lib/splitclient-rb/telemetry/memory/memory_init_producer.rb +34 -0
  48. data/lib/splitclient-rb/telemetry/memory/memory_runtime_consumer.rb +112 -0
  49. data/lib/splitclient-rb/telemetry/memory/memory_runtime_producer.rb +81 -0
  50. data/lib/splitclient-rb/telemetry/memory/memory_synchronizer.rb +192 -0
  51. data/lib/splitclient-rb/telemetry/redis/redis_evaluation_producer.rb +38 -0
  52. data/lib/splitclient-rb/telemetry/redis/redis_init_producer.rb +37 -0
  53. data/lib/splitclient-rb/telemetry/redis/redis_synchronizer.rb +28 -0
  54. data/lib/splitclient-rb/telemetry/runtime_consumer.rb +24 -0
  55. data/lib/splitclient-rb/telemetry/runtime_producer.rb +24 -0
  56. data/lib/splitclient-rb/telemetry/storages/memory.rb +139 -0
  57. data/lib/splitclient-rb/telemetry/sync_task.rb +38 -0
  58. data/lib/splitclient-rb/telemetry/synchronizer.rb +29 -0
  59. data/lib/splitclient-rb/version.rb +1 -1
  60. metadata +26 -11
  61. data/lib/splitclient-rb/cache/repositories/metrics/memory_repository.rb +0 -163
  62. data/lib/splitclient-rb/cache/repositories/metrics/redis_repository.rb +0 -131
  63. data/lib/splitclient-rb/cache/repositories/metrics_repository.rb +0 -23
  64. data/lib/splitclient-rb/cache/senders/metrics_sender.rb +0 -55
  65. data/lib/splitclient-rb/engine/api/metrics.rb +0 -61
  66. data/lib/splitclient-rb/engine/metrics/metrics.rb +0 -80
  67. data/lib/splitclient-rb/redis_metrics_fixer.rb +0 -36
@@ -1,36 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module SplitIoClient
4
- class RedisMetricsFixer
5
- def initialize(metrics_repository, config)
6
- @metrics_repository = metrics_repository
7
- @config = config
8
- end
9
-
10
- def call
11
- return if ENV['SPLITCLIENT_ENV'] == 'test' || @config.mode == :standalone
12
-
13
- fixer_thread
14
-
15
- if defined?(PhusionPassenger)
16
- PhusionPassenger.on_event(:starting_worker_process) do |forked|
17
- fixer_thread if forked
18
- end
19
- end
20
- end
21
-
22
- private
23
-
24
- def fixer_thread
25
- Thread.new do
26
- begin
27
- @config.logger.info('Starting redis metrics fixer')
28
-
29
- @metrics_repository.fix_latencies
30
- rescue StandardError => error
31
- @config.log_found_exception(__method__.to_s, error)
32
- end
33
- end
34
- end
35
- end
36
- end