Add usage tracking

This commit is contained in:
Mike Angell 2019-09-11 04:20:34 +10:00
parent 806b2622da
commit b316ff8413
3 changed files with 13 additions and 0 deletions

View File

@ -106,3 +106,9 @@ template = Liquid::Template.parse("{{x}} {{y}}")
template.render!({ 'x' => 1}, { strict_variables: true })
#=> Liquid::UndefinedVariable: Liquid error: undefined variable y
```
### Usage tracking
To help determine if a feature or code path is used in production we have included opt-in usage tracking. To achieve this we provide an empty `Liquid::Usage.increment` method that can be implemented. This was designed to be paired with https://github.com/Shopify/statsd-instrument , however it's implementation is up to you.
Once you have enabled usage tracking we recommend reporting any logged events through Github Issues that your system may be reporting. It is highly likely this event has been added to consider deprecating or improving code specific to this event, so please raise any concerns.

View File

@ -421,6 +421,7 @@ module Liquid
def default(input, default_value = ''.freeze)
if !input || input.respond_to?(:empty?) && input.empty?
Usage.increment("liquid.default_filter_received_false_value") if input == false # See https://github.com/Shopify/liquid/issues/1127
default_value
else
input

6
lib/liquid/usage.rb Normal file
View File

@ -0,0 +1,6 @@
module Liquid
module Usage
def self.increment(name, sample_rate: 0.1, tags: {})
end
end
end