README.md in trifle-stats-0.1.0 vs README.md in trifle-stats-0.2.0
- old
+ new
@@ -1,17 +1,21 @@
-# Trifle
+# Trifle::Stats
[![Gem Version](https://badge.fury.io/rb/trifle-stats.svg)](https://badge.fury.io/rb/trifle-stats)
![Ruby](https://github.com/trifle-io/trifle-stats/workflows/Ruby/badge.svg?branch=main)
[![Gitpod ready-to-code](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/trifle-io/trifle-stats)
Simple analytics backed by Redis, Postgres, MongoDB, Google Analytics, Segment, or whatever. [^1]
-Trifle is a _way too_ simple timeline analytics that helps you track custom metrics. Automatically increments counters for each enabled range. It supports timezones and different week beginning.
+`Trifle::Stats` is a _way too_ simple timeline analytics that helps you track custom metrics. Automatically increments counters for each enabled range. It supports timezones and different week beginning.
-[^1] TBH only Redis for now 💔.
+[^1]: TBH only Redis for now 💔.
+## Documentation
+
+You can find guides and documentation at https://trifle.io/docs/stats
+
## Installation
Add this line to your application's Gemfile:
```ruby
@@ -52,78 +56,16 @@
=> [{2021-01-25 16:00:00 +0100=>{:count=>1, :duration=>1, :lines=>56}}, {2021-01-25 00:00:00 +0100=>{:count=>1, :duration=>1, :lines=>56}}]
Trifle::Stats.track(key: 'event::logs', at: Time.now, values: {count: 1, duration: 5, lines: 361})
=> [{2021-01-25 16:00:00 +0100=>{:count=>1, :duration=>5, :lines=>361}}, {2021-01-25 00:00:00 +0100=>{:count=>1, :duration=>5, :lines=>361}}]
```
-You can also store nested counters like
-```ruby
-Trifle::Stats.track(key: 'event::logs', at: Time.now, values: {
- count: 1,
- duration: {
- parsing: 21,
- compression: 8,
- upload: 1
- },
- lines: 25432754
-})
-```
-
### Get values
Retrieve your values for specific `range`.
```ruby
Trifle::Stats.values(key: 'event::logs', from: Time.now, to: Time.now, range: :day)
=> [{2021-01-25 00:00:00 +0100=>{"count"=>3, "duration"=>8, "lines"=>658}}]
```
-
-### Configuration
-
-Configuration allows you to specify:
-- `driver` - backend driver used to persist and retrieve data.
-- `track_ranges` - list of timeline ranges you would like to track. Value must be list of symbols, defaults to `[:minute, :hour, :day, :week, :month, :quarter, :year]`.
-- `separator` - keys can get serialized in backend, separator is used to join these values. Value must be string, defaults to `::`.
-- `time_zone` - TZInfo zone to properly generate range for timeline values. Value must be valid TZ string identifier, otherwise it defaults and fallbacks to `'GMT'`.
-- `beginning_of_week` - first day of week. Value must be string, defaults to `:monday`.
-
-Gem expecs global configuration to be present. You can do this by creating initializer, or calling it on the beginning of your ruby script.
-
-Custom configuration can be passed as a keyword argument to `Resource` objects and all module methods (`track`, `values`). This way you can pass different driver or ranges for different type of data youre storing - ie set different ranges or set expiration date on your data.
-
-```ruby
-configuration = Trifle::Stats::Configuration.new
-configuration.driver = Trifle::Stats::Driver::Redis.new
-configuration.track_ranges = [:day]
-configuration.time_zone = 'GMT'
-configuration.separator = '#'
-
-# or use different driver
-mongo_configuration = Trifle::Stats::Configuration.new
-mongo_configuration.driver = Trifle::Stats::Driver::MongoDB.new
-mongo_configuration.time_zone = 'Asia/Dubai'
-```
-
-You can then pass it into module methods.
-```ruby
-Trifle::Stats.track(key: 'event#checkout', at: Time.now, values: {count: 1}, config: configuration)
-
-Trifle::Stats.track(key: 'event#checkout', at: Time.now, values: {count: 1}, config: mongo_configuration)
-```
-
-### Driver
-
-Driver is a wrapper around existing client libraries that talk to DB or API. It is used to store and retrieve values. You can read more in [Driver Readme](https://github.com/trifle-io/trifle-stats/tree/main/lib/trifle/ruby/driver).
-
-## Development
-
-After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
-
-To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
-
-## Gitpod
-
-This repository comes Gitpod ready. If you wanna try and get your hands dirty with Trifle, click [here](https://gitpod.io/#https://github.com/trifle-io/trifle-stats) and watch magic happening.
-
-It launches from custom base image that includes Redis, MongoDB, Postgres & MariaDB. This should give you enough playground to launch `./bin/console` and start messing around. You can see the Gitpod image in the [hub](https://hub.docker.com/r/trifle/gitpod).
## Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/trifle-io/trifle-stats.