Module: Labkit::UserExperienceSli
- Defined in:
- lib/labkit/user_experience_sli.rb,
lib/labkit/user_experience_sli/null.rb,
lib/labkit/user_experience_sli/error.rb,
lib/labkit/user_experience_sli/current.rb,
lib/labkit/user_experience_sli/registry.rb,
lib/labkit/user_experience_sli/experience.rb
Overview
Labkit::UserExperienceSli namespace module.
This module is responsible for managing user experience SLIs, which are specific events or activities within the application that are measured and reported for performance monitoring and analysis.
Defined Under Namespace
Classes: Configuration, Current, Definition, Experience, Null, Registry
Constant Summary collapse
- UserExperienceError =
Class.new(StandardError)
- NotFoundError =
Class.new(UserExperienceError)
- ReservedKeywordError =
Class.new(UserExperienceError)
- URGENCY_THRESHOLDS_IN_SECONDS =
{ sync_fast: 2, sync_slow: 5, async_fast: 15, async_slow: 300 }.freeze
- RESERVED_KEYWORDS =
%w[ checkpoint user_experience_id feature_category urgency start_time checkpoint_time end_time elapsed_time_s urgency_threshold_s error error_message success ].freeze
Class Method Summary collapse
- .configuration ⇒ Object
- .configure {|configuration| ... } ⇒ Object
-
.get(experience_id) ⇒ Experience, Null
Retrieves a covered experience using the experience_id.
- .registry ⇒ Object
- .reset ⇒ Object
- .reset_configuration ⇒ Object
-
.resume(experience_id, **extra) ⇒ Experience, Null
Resumes a covered experience using the experience_id.
-
.start(experience_id, **extra) ⇒ Experience, Null
Starts a covered experience using the experience_id.
Class Method Details
.configuration ⇒ Object
57 58 59 |
# File 'lib/labkit/user_experience_sli.rb', line 57 def configuration @configuration ||= Configuration.new end |
.configure {|configuration| ... } ⇒ Object
65 66 67 68 69 |
# File 'lib/labkit/user_experience_sli.rb', line 65 def configure yield(configuration) if block_given? # Reset registry when configuration changes to pick up new registry_path @registry = nil end |
.get(experience_id) ⇒ Experience, Null
Retrieves a covered experience using the experience_id. It retrieves from the current context when available, otherwise it instantiates a new experience with the definition from the registry.
87 88 89 |
# File 'lib/labkit/user_experience_sli.rb', line 87 def get(experience_id) find_current(experience_id) || raise_or_null(experience_id) end |
.registry ⇒ Object
71 72 73 |
# File 'lib/labkit/user_experience_sli.rb', line 71 def registry @registry ||= Registry.new(dir: configuration.registry_path) end |
.reset ⇒ Object
75 76 77 78 |
# File 'lib/labkit/user_experience_sli.rb', line 75 def reset @registry = nil reset_configuration end |
.reset_configuration ⇒ Object
61 62 63 |
# File 'lib/labkit/user_experience_sli.rb', line 61 def reset_configuration @configuration = nil end |
.resume(experience_id, **extra) ⇒ Experience, Null
Resumes a covered experience using the experience_id.
104 105 106 |
# File 'lib/labkit/user_experience_sli.rb', line 104 def resume(experience_id, **extra, &) get(experience_id).resume(**extra, &) end |
.start(experience_id, **extra) ⇒ Experience, Null
Starts a covered experience using the experience_id.
96 97 98 |
# File 'lib/labkit/user_experience_sli.rb', line 96 def start(experience_id, **extra, &) get(experience_id).start(**extra, &) end |